你的位置:首页 > 软件开发 > 操作系统 > Linux 环境下思源黑体字体与 Java 之间的兼容性问题的解决

Linux 环境下思源黑体字体与 Java 之间的兼容性问题的解决

发布时间:2015-09-15 15:00:08
从 Fedora 22 开始,系统自带思源黑体(Source Han Sans),不再使用文泉驿正黑或微米黑(但仍然可以通过 dnf 在线安装)。思源黑体采用 OTF 字体格式(Open Type Font),技术上是 TrueType 字体的更为先进的升级版。但经过反复测试发现 ...

从 Fedora 22 开始,系统自带思源黑体(Source Han Sans),不再使用文泉驿正黑或微米黑(但仍然可以通过 dnf 在线安装)。思源黑体采用 OTF 字体格式(Open Type Font),技术上是 TrueType 字体的更为先进的升级版。但经过反复测试发现,Java 对 OTF 字体的支持似乎存在问题。尽管 Oracle 官方文档上说从 Java 7 开始已经能够支持 OTF 字体,比如 createFont 等方法仍然可以用 TRUETYPE_FONT 等参数提供对 OTF 字体的支持,但思源黑体在 Java 程序中显示汉字会出现方块,特别是简体中文语言环境下,字体看似使用的思源黑体台湾香港地区繁体版本,并没有使用简体中文版本,一些字显示不出来,以方块代替了。在没有多余精力去研究字体问题的情况下,目前猜测是因为思源字体以 OTF 格式发布并且内部还存在 Hinting 信息的问题导致 Java 识别存在问题,另外字体的语言编码可能也是个问题。暂时的替代方法是,最好使用不带 Hinting 信息的 TTF 字体,比如 XHei、明兰等社区制作的字体(不含 Hinting 信息),另外建议删除思源黑体软件包安装时自带的 fontconfig 配置,然后直接修改 fontconfig 中的 65-nonlatin.conf 等文件,自定义你所使用的替代字体的匹配优先级等等。


 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Linux 环境下思源黑体字体与 Java 之间的兼容性问题的解决

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。