wine中解决中文字体问题
Wine的中文显示与字体设置
目录[隐藏]
|
字无法显示
注意字无法显示和显示为乱码是不同的症状,如果看到乱码,请确保系统语言和运行Wine时的语言环境一致。如果有汉字丢失或显示为方框,请继续阅读本文。
中文
解决中文无法显示问题有三种思路:字体链接、字体替换或直接提供相应字体。其中“字体链接”方案解决的效果最好,推荐使用。其它两种仅做参考。
字体链接
Windows支持字体链接:[1]当一种字体中不存在某个字时,可以尝试从另一个字体文件中寻找相应的字形。所以只要把当前系统中的中文字体设为"fallback"字体,汉字通常就能正确显示了。方法也很简单,只需创建一个文本文件,如chn_font.reg如下[2]:
REGEDIT4[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink] "Lucida Sans Unicode"="wqy-microhei.ttc" "Microsoft Sans Serif"="wqy-microhei.ttc" "MS Sans Serif"="wqy-microhei.ttc" "Tahoma"="wqy-microhei.ttc" "Tahoma Bold"="wqy-microhei.ttc" "SimSun"="wqy-microhei.ttc" "Arial"="wqy-microhei.ttc" "Arial Black"="wqy-microhei.ttc"
注意请将wqy-microhei.ttc替换为你系统中的字体文件名,如文泉驿正黑是wqy-zenhei.ttc(请在/usr/share/fonts及其子文件夹中寻找相应字体文件)。
提示:
如果想使用其它字体,也可直接将相应的ttf或ttc文件复制到~/.wine/drive_c/windows/Fonts/,再用其文件名替换上面的wqy-zenhei.ttc即可。
最后,打开注册表wine regedit,导入上面的注册表文件即可。中文应该都能完美显示了(包括Picasa中文显示为方框、软件安装程序汉字无法显示等问题均可被解决)。
注意:
注意上面的注册表键值只能使用字体的文件名,而不能使用字体名,这是由“字体链接”本身的特性决定的。
使用原装库
由于 Wine 的字体渲染仍有缺陷,安装相应的 Windows 原装库可以解决上步无法解决的某些罕见问题:[3]
winetricks gdiplus riched20 riched30
字体替代
提示:
该方法仅可部分解决中文无法显示问题(完整解决请见上节“字体链接”)。但当第一种方法无效时,可尝试使用该方法做补充。
方法是打开regedit,找到 [HKEY_CURRENT_USER\Software\\Wine\\Fonts\\Replacements],添加一个键,键名为现缺少的字体,如宋体,字符串值为你想用做替代的字体,如文泉驿微米黑。[4]
另一处可以进行字体替代的位置在 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes],方法同上。不过上面这个方法在字体已经存在时不会进行替代,而这个方法即使有对应字体存在也有效。[5]
提供缺少的字体
提示:
该方法同样仅可部分解决中文无法显示问题(完整解决请见“字体链接”一节)。但当第一种方法无效时,可尝试使用该方法做补充。
把Windows中的simsun.ttc复制到~/.wine/drive_c/windows/Fonts/,可以解决宋体显示问题。
英文
安装微软的英文字体即可。如果有winetricks,也可:[6]
winetricks allfonts
如果不想安装英文字体,也可参考该文[7],设定相应的字体替换。
其它
如果感觉字体太小,可以在winecfg中设置(“显示”标签中选择适当的dpi即可)。
如果需要字体相关的调试信息,可以用
env WINEDEBUG=+font wine <program>
来启动程序。
注意:
以下信息不知是否过时,欢迎确认
另外,运行一些软件时可能发现菜单的字体仍不是我们所期望的,此时可以修改~/.wine/drive_c/windows/win.ini,在文件中加入:[8]
[Desktop] IconTitleFaceName=SimSun
参考资料
- ↑ MSDN: Globalization Step-by-Step
- ↑ wine中文字体设置及字体美化
- ↑ Ubuntu 中文论坛讨论: wine的2个世纪难题,普通高手都解决不了(附乱码图片了)
- ↑ 让 wine 中文程序不依赖 simsun
- ↑ Useful Registry Keys - The Official Wine Wiki
- ↑ MS Fonts
- ↑ 分享: wine20050628 設定字型
- ↑ http://www.linuxdiyf.com/viewarticle.php?id=80877
wine中解决中文字体问题相关推荐
- linux安装了wine不显示中文,[转]wine设置中文字体(解决中文字体丢失或白方块)
转载自:https://blog.csdn.net/xescript/article/details/38235515 注意字无法显示和显示为乱码是不同的症状,如果看到乱码,请确保系统语言和运行Win ...
- 解决ubuntu下crossover中qq中文字体乱码问题
本文适应于ubuntu16.04,crossover16.2.0-1.(如使用qq推荐使用腾讯qq8.9-2,点击下方的安装windows软件,在输入框输入"qq"两字即可看到) ...
- linux crossover 乱码,解决ubuntu下crossover中qq中文字体乱码问题
本文适应于ubuntu16.04,crossover16.2.0-1.(如使用qq推荐使用腾讯qq8.9-2,点击下方的安装windows软件,在输入框输入"qq"两字即可看到) ...
- python中文字体下载_Python在Matplotlib图中显示中文字体的操作方法
1. 说明 本篇主要针对在Ubuntu系统中,matplotlib显示不了中文的问题,尤其是在无法安装系统字体的情况下,解决Python绘图时中文显示的问题. 2. 在系统中安装字体 $ fc-lis ...
- 在html中加入中文字体,中文字体在CSS中的写法整理
中文字体在CSS中的写法整理 发布时间:2013-10-30 17:33:18 作者:佚名 我要评论 在CSS中不能出现中文字体,解决办法就是把这些中文字体名字转换成英文名,下面简要的为大家介 ...
- 如何解决oracle中文乱码问题,oracle中解决中文乱码问题
中文乱码问题解决 1.查看服务器端编码 select userenv('language') from dual; 查到结果是: USERENV('LANGUAGE') --------------- ...
- LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~)
LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~) 参考文章: (1)LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~) (2)https://www.cnblogs. ...
- 在article文档类型中使用中文字体
在atricle文档中使用中文字体需要使用基础xeCJK宏包+XeLaTex编译器,并设置相应的字体,如下: \documentclass[11pt,a4paper]{article} \usepac ...
- Css中常用中文字体的Unicode编码对照
Css中常用中文字体的Unicode编码对照 在网页制作中,最常用的恐怕是字体属性了,在调整页面兼容的时候,也常常发现字体名称的原因导致不兼容或乱码,下面给出几种常用字体的ucicode编码对照,方便 ...
最新文章
- html选择一个元素,css3选择第n个元素
- 如何在Ubuntu 14.04中使用Samba共享文件
- PHP二维数组排序函数
- nodejs中Buffer的创建和转换
- 感悟琐记:业绩=资源的n次方
- python多线程下载器_用 python 实现一个多线程网页下载器
- TP5 验证-内置规则
- 对Retinex算法的一些理解
- 入驻就有收益的自媒体平台:趣头条
- 师从施一公,4年8篇CNS,作为西湖大学博士后,她又以一作发了Science
- 搜站 - 聚合搜索,一站访问
- 简易命令行界面的C/S聊天室
- 学妹:大学四年以算法为重还是技术为重?
- Microsoft Edge打开主页就是2345界面
- cmake整理:在编译时拷贝文件之add_custom_comand 和 add_custom_target
- 解决win10 自动同步时间灰色
- 嵌入式AI-K210篇-硬件-模型训练、部署
- 全球及中国企业级多级单元(MLC)闪存行业研究及十四五规划分析报告
- 为什么外链建设对于谷歌SEO至关重要?
- 【原创】Ubuntu 下使用 NCverilog 仿真 Verilog 工程
热门文章
- 吭吭唧唧写shader--呼吸效果(我也不知道叫啥)
- 计算机开题报告研究方向是指,计算机开题报告导师评语
- 浪到飞起的前端女程序员的2019总结
- Pycharm中出现Comparison with None performed with equality operators
- Linux (一) 创建虚拟机以及基本配置
- .NET(C#、VB)APP开发——Smobiler平台控件介绍:PDFView
- 基于MATLAB的汽车出入库计时计费车牌识别系统
- python结构体_Python实现结构体代码实例
- JAVA使用HttpClient调用webservice接口
- vue项目引入秀米插件