Unicode and CP_SYMBOL question.

Rein Klazes rklazes at xs4all.nl
Thu Jan 15 01:45:30 CST 2004


Hi,

Trying to fix a problem with Win2K's charmap.exe, I have a question for
the unicode experts.

If I convert character code's 32 to 255 using codepage SYMBOL on a Win2K
system, like in this snippet:

char c;WCHAR w;
for( c = 32; c; c++)
    MultiByteToWideChar(CP_SYMBOL,0,&c,1,&w,1);

I get that w == c + 0xf000

( codes 0-31 are unchanged, any flag setting makes the function fail).

Wine's implementation of MultiByteToWideChar() does something quite
complicated based on standard unicode tables and returns Unicode
characters in all kind of ranges.

The loop above is basically what Win2K's charmap.exe does. Of course it
does not properly display symbol fonts like "Symbol".

Is there any reason why in this case MultiByteToWideChar should not do 
w = c + 0xf000 ?

Rein.
-- 
Rein Klazes
rklazes at xs4all.nl



More information about the wine-devel mailing list