ubuntu wine Chinese character display error

在ubuntu等linux发行版使用过程中,总会遇到只有在windows系统中才用的顺手的软件,这时就需要安装Wine来运行相应的程序,使用wine的时候经常会遇到汉字无法显示的问题,
注意字无法显示和显示为乱码是不同的症状,如果看到乱码,请确保系统语言和运行Wine时的语言环境一致。如果有汉字丢失或显示为方框,请继续阅读本文。

中文

解决中文无法显示问题有三种思路:字体链接、字体替换或直接提供相应字体。其中“字体链接”方案解决的效果最好,推荐使用。其它两种仅做参考。

字体链接

Windows支持字体链接:当一种字体中不存在某个字时,可以尝试从另一个字体文件中寻找相应的字形。所以只要把当前系统中的中文字体设为"fallback"字体,汉字通常就能正确显示了。方法也很简单,只需创建一个文本文件,如_chn_font.reg_如下:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"="MSYH.ttc"
"Microsoft Sans Serif"="MSYH.ttc"
"MS Sans Serif"="MSYH.ttc"
"Tahoma"="MSYH.ttc"
"Tahoma Bold"="MSYHBD.ttc"
"SimSun"="MSYH.ttc"
"Arial"="MSYH.ttc"
"Arial Black"="MSYHBD.ttc"

注意请将
MSYH.ttc替换为你系统中的字体文件名.

提示
如果想使用其它字体,也可直接将相应的ttf或ttc文件复制到_~/.wine/drive_c/windows/Fonts/_,再用其文件名替换上面的

MSYH.ttc即可。

最后,打开注册表
wine regedit,导入上面的注册表文件即可。中文应该都能完美显示了(包括Picasa中文显示为方框、软件安装程序汉字无法显示等问题均可被解决)。

注意
注意上面的注册表键值只能使用字体的文件名,而不能使用字体名,这是由“字体链接”本身的特性决定的。

使用原装库

由于 Wine 的字体渲染仍有缺陷,安装相应的 Windows 原装库可以解决上步无法解决的某些罕见问题:

winetricks gdiplus riched20 riched30
字体替代

提示
该方法仅可部分解决中文无法显示问题(完整解决请见上节“字体链接”)。但当第一种方法无效时,可尝试使用该方法做补充。

方法是打开
regedit,找到 [HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements],添加一个键,键名为现缺少的字体,如
宋体,字符串值为你想用做替代的字体,如
文泉驿微米黑。

另一处可以进行字体替代的位置在 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes],方法同上。不过上面这个方法在字体已经存在时不会进行替代,而这个方法即使有对应字体存在也有效。

提供缺少的字体

提示
该方法同样仅可部分解决中文无法显示问题(完整解决请见“字体链接”一节)。但当第一种方法无效时,可尝试使用该方法做补充。

把Windows中的_simsun.ttc_复制到_~/.wine/drive_c/windows/Fonts/_,可以解决宋体显示问题。

英文

安装微软的英文字体即可。如果有winetricks,也可:

winetricks allfonts

如果不想安装英文字体,需要设定相应的字体替换。

其它

如果感觉字体太小,可以在
winecfg中设置(“显示”标签中选择适当的dpi即可)。

如果需要字体相关的调试信息,可以用

env WINEDEBUG=+font wine <program>

来启动程序。

注意
以下信息不知是否过时,欢迎确认

另外,运行一些软件时可能发现菜单的字体仍不是我们所期望的,此时可以修改_~/.wine/drive_c/windows/win.ini_,在文件中加入:

[Desktop]
IconTitleFaceName=SimSun
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值