在做wince多语言显示时,搜索到这么一篇文章,对实现多语言有一些启发,转帖再此。
如果WinCE的默认语言是英语,也没有支持MUI的话,很多中文的应用程序就不能正常显示了,汉字全变成了方框。这里介绍一种比较简便的方法,让那些方框变回有用的汉字,象变魔术一样。:-D
先说一下中文显示为乱码的两个原因。首先可能是应用程序本身的问题,在编写程序时没有正确配置工程和资源的语言。这时,即使在中文的WinCE系统下也不能正常显示汉字。第二种情况是应用程序本身没有问题,但WinCE是英文系统,也不支持MUI,这时汉字都变成方框。这是本“魔术”的道具。如果换做第一种,这“魔术”就失灵了。
第二种情况,不能显示中文的根本原因是没有中文字体,所以我们只要添加进中文字体,并且注册该字体就可以了。这是本魔术的秘密所在,够Easy的吧。:-D
具体步骤如下:拷贝simsun.ttc到\windows\的目录下,在注册表中添加如下信息:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink]
"Tahoma"="\\Windows\\simsun.ttc,NSimSun"
"Courier New"="\\Windows\\simsun.ttc,NSimSun"
"Arial"="\\Windows\\simsun.ttc,NSimSun"
"Times New Roman"="\\Windows\\simsun.ttc,NSimSun"
"Symbol"="\\Windows\\simsun.ttc,NSimSun"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SkipTable]
"Tahoma"="005c,00a5,007e,0391-03c9,2026,2116,221a,25a0-25ff"
"Arial"="005c"
"Courier New"="005c"
为了方便实现,在驱动调试助手中增加了这个功能,新程序和使用方法请到这里下载:
https://files.cnblogs.com/we-hjb/WINCEDM.rar
使用前后的对比图如下。
使用过程简要说明:拷贝simsun.ttc到\windows\的目录后,点击驱动调试助手的第一个菜单中的“Support CHS”即可。