---------- Forwarded message ----------
From: cheer_xiao <xiaqqaix@gmail.com>
Date: Fri, Oct 22, 2010 at 5:06 PM
Subject: Font config in Desktop Integration broken when switching locales
To: wine-users@winehq.org


As a translator, It is frequent for me to switch between locales (en_US.utf8 and zh_CN.utf8 for me), but the font configurations in winecfg/'Desktop Integration' gets broken under certain circumstances.

To demonstrate, I run winecfg with LANG=zh_CN.utf8, and set the 'Menu Text' (菜单文字) font to 'WenQuanYi Zen Hei Sharp' (文泉驿点阵正黑) 10pt (shot00.png). It turns out fine (shot01.png), but with LANG=en_US.utf8 the menu text font is a mess (shot02.png). The configuration under zh_CN.utf8 fails to work under en_US.utf8.

However, if I run winecfg with LANG=en_US.utf8, and redo the setting (shot10.png, shot11.png), the configuration works under both locales (shot12.png, shot13.png). The configuration made under en_US.utf8 is more "portable".

An interesting phonomenum is that in shot10.png, the font configuration seems to have been "reset", ie. it is the font on the top of the list, with the minimum size. This also happens when you configure the font (menu text font here) for the very first time so it must be some kind of default value. The configuration under zh_CN.utf8 was not recognized by winecfg under en_US.utf8, thus falling back to the default. However, during font rendering such fallbacks are not functioning properly (the fallback itself shouldn't be happening though), resulting in the boxes in shot02.png.

I guess this issue is due to a bug of how winecfg saves the font configurations and/or how these configurations are used during font rendering. Could anyone explain and/or fix this? I have been looking up the registry but the configurations appear to be stored somewhere else.

BTW: Another problem is also observed. Every time I run wine programs (like winecfg, notepad) with LANG=zh_CN.utf8 I get lots of:

fixme:msvcrt:_setmbcp trail bytes data not available for DBCS codepage 0 - assuming all bytes

I run Wine compiled from the git repo (just a day or two ago) on Ubuntu 10.10. Default locale is en_US.utf8.