在前一篇随笔中,我讲了一下有关 Linux 环境下思源黑体与 Java 之间的兼容性问题,后来经过测试发现,默认安装的思源黑体字体同时包含简体字体和繁体字体,并且其对应的语言编码也是不同的。尝试着把繁体字体卸载掉后,Java 程序可以正常显示思源黑体字形了。但即使这样,仍然存在一个问题,在 Java Swing 类型的程序中(比如 NetBeans、IDEA 等)如果你明确选择思源黑体作为编辑字体,则编辑区域无法显示任何内容,可以理解为思源黑体在 Java 内部字体栅格化处理方面仍然有点兼容性问题。所以我分析有效的解决办法可能为:要么把思源黑体 OTF 转为 TTF,而且最好去掉里面所有的 Hinting 信息,要么就直接使用其他比较好的 TTF 字形。