http://bugs.winehq.org/show_bug.cgi?id=16325
Summary: incorrect font rendering for CJK programs Product: Wine Version: CVS/GIT Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P3 Component: gdi32 AssignedTo: wine-bugs@winehq.org ReportedBy: xrfang@gmail.com CC: xrfang@gmail.com
Created an attachment (id=17630) --> (http://bugs.winehq.org/attachment.cgi?id=17630) patches, in a tar.bz archive
If a CJK program uses "ANSI_CHARSET" to create font instance, text is not correctly rendered, the result is that some text in the affected programs are not correctly displayed. This is not a "critical" problem but I consider it a "blocker" for most Chinese Wine users as it happens massively.
This problem is reported and fixed here:
http://bugs.winehq.org/show_bug.cgi?id=4065
However, the fix only dealt with a particular program (picasa) and is not a universal fix. A hack specifically designed for Chinese user (codepage 936) is proposed, but not accepted because it is not "universal". This patch is based on the cp936 hack proposed in bug #4065.
The patch has two flavor, the first one uses GetACP() to obtain correct codepage to use, which is preferred. The second will use environment variable WINE_DEFAULT_CODEPAGE, if not defined, will NOT affect original code flow. The 2nd method added a little bit inconvenience for CJK users, but maintains maximum compatibility, because as discussed on the Ubuntu Chinese forum, there are better solutions, which is out of my ability to change:
http://forum.ubuntu.org.cn/viewtopic.php?f=121&t=169647 (Chinese)