Linux系统Java不兼容思源黑体字的解决方法

Linux系统Java不兼容思源黑体字的解决方法,第1张

Linux系统Java不兼容思源黑体字的解决方法

  Fedora 22系统的默认字体是思源黑体字,应该说这个字体是比较先进,也比较美观的字体。只是Java程序好像不兼容思源黑体字,那么Linux系统Java不兼容思源黑体字的解决方法是什么呢?

  尽管 Oracle 官方文档上说从 Java 7 开始已经能够支持 OTF 字体,比如 createFont 等方法仍然可以用 TRUETYPE_FONT 等参数提供对 OTF 字体的支持,但思源黑体在 Java 程序中显示汉字会出现方块,特别是简体中文语言环境下,字体看似使用的思源黑体台湾香港地区繁体版本,并没有使用简体中文版本,一些字显示不出来,以方块代替了。

  在没有多余精力去研究字体问题的情况下,目前猜测是因为思源字体以 OTF 格式发布并且内部还存在 Hinting 信息的问题导致 Java 识别存在问题,另外字体的语言编码可能也是个问题。暂时的替代方法是,最好使用不带 Hinting 信息的 TTF 字体,比如 XHei、明兰等社区制作的字体(不含 Hinting 信息),另外建议删除思源黑体软件包安装时自带的 fontconfig 配置,然后直接修改 fontconfig 中的 65-nonlatin.conf 等文件,自定义你所使用的替代字体的匹配优先级等等。

  以上就是Linux系统Java不兼容思源黑体字的解决方法了,如果实在不行,那么只能建议换一个非OTF格式的字体了。具体的方法可以参考:如何在Linux上添加自定义字体。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5579608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存