kernel32: MultiByteToWideChar: MB_USEGLYPHCHARS fix

Andrew O. Shadoura bugzilla at
Tue Mar 13 03:48:47 CDT 2007

Hello, Robert!

Monday, March 12, 2007, 18:02:59, you wrote:

RS> Andrew O. Shadoura wrote:
>>          break;
>>      }
>> +    if (flags & MB_USEGLYPHCHARS) {
>> +        for (i=0; i!=dstlen; i++)
>> +            if (dst[i]<0x20) dst[i]=glyph_xlat[dst[i]];
>> +    }
>> +

RS> I think you need to take into account the codepage when doing this 
RS> translation.

I think not. MSDN says:

1. The MultiByteToWideChar function maps a character string to a wide-character
(Unicode) string. The character string mapped by this function is not
necessarily from a multibyte character set.

2. MB_USEGLYPHCHARS  Use glyph characters instead of control characters.
'control characters' in this context are _Unicode_ characters below U+0020.
dst is a pointer to WCHAR string - this means it is Unicode string. So,
we don't need to take into account any codepages, because codepage of dst
is Unicode

 -- WBR, Andrew O. Shadoura

--- PolySoft Station
 * Origin: Is AVR inside? (2:4500/1.25)

More information about the wine-devel mailing list