http://bugs.winehq.org/show_bug.cgi?id=4065
--- Comment #6 from bug filler mozbugbox@yahoo.com.au 2008-04-14 02:54:55 --- Created an attachment (id=12162) --> (http://bugs.winehq.org/attachment.cgi?id=12162) a hack for codepage cp936
I saw a patch floating around to fix the problem for Chinese users. It hardwired the cp396 (Simplified Chinese) codepage to WineEngCreateFontInstance();.
It also has some font size manipulation which are irrelevant.
What the problem seems to be that the font had its charset set to DEFAULT_CHARSET or ANSI_CHARSET, as a result, no proper charset translation can be established.
http://source.winehq.org/source/dlls/gdi32/freetype.c#L3170
I believe what should be done is: if( lf.lfCharSet == DEFAULT_CHARSET || lf.lfCharSet == ANSI_CHARSET) { lf.lfCharSet = get_default_charset(); }
or it could be solved in some higher level where the hfont was first created.
see also bug #5506