歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux 環境下思源黑體字體與 Java 之間的兼容性問題的解決

Linux 環境下思源黑體字體與 Java 之間的兼容性問題的解決

日期:2017/3/1 12:25:25   编辑:關於Linux
從 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 等文件,自定義你所使用的替代字體的匹配優先級等等。
Copyright © Linux教程網 All Rights Reserved