Java 運行環境字體配置
可能一部分人認為Java應用程序中的默認字體和字體的顯示模式不大理想。下面有幾種方法可以改進Oracle Java Runtime Environment (JRE)中的字體顯示。這些方法可以單獨使用,但是經過許多用戶實踐發現將它們組合使用可以獲得更好的效果。
Java對於TrueType格式字體的支持似乎是最好的。
抗鋸齒[編輯 | 編輯原始碼]
基礎設置[編輯 | 編輯原始碼]
Linux上的Oracle Java 1.6和OpenJDK提供了字體的抗鋸齒功能。使用這個功能,請將以下內容添加到/etc/environment
:
_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=setting'
setting
是下面內容的其中一項:
設置值 | 描述 |
---|---|
off , false , default
|
不開啟抗鋸齒 |
on
|
全效抗鋸齒 |
gasp
|
使用字體文件自帶的配置信息 |
lcd , lcd_hrgb
|
為流行的顯示器調整過的抗鋸齒 |
lcd_hbgr , lcd_vrgb , lcd_vbgr
|
替代顯示器的設置 |
gasp
和lcd
設置在大部分情況下表現良好。
選擇使用GTK的顯示風格,請將下面的內容添加到.bashrc:
_JAVA_OPTIONS='-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
- 所描述的Java選項僅適用於使用Java繪製GUI的應用程序,如Jdownloader,而不適用於僅使用Java作為後端的應用程序,如Openoffice.org和Matlab。
- 「TrueType」 字體包含一個網格顯示擬合和掃描轉換過程的表(Grid-fitting And Scan-conversion Procedure 「GASP」),其中包含了字體作者對不同大小字體顯示的建議。一些字號可以完全抗鋸齒,一些只有部分提示,還有一些顯示為位圖。對於一些字號,上面的方法會組合使用。
在運行之前,在命令行中指定其他的變量,可以嘗試別的配置:
_JAVA_OPTIONS=options executable
你需要重新登錄使配置生效。
OpenJDK 補丁[編輯 | 編輯原始碼]
即使通過Java選項強制執行了抗鋸齒,得到的抗鋸齒效果也可能不如本機應用程序。可以通過OpenJDK的一個補丁來彌補,AUR提供了這個補丁:
- 修補後的 OpenJDK7 可用 jre7-openjdk-infinalityAUR[損壞的鏈接:package not found] (
)模板錯誤: 您在嘗試使用 = 標誌嗎? 有關解決方法,請訪問 Help:Template#Escape template-breaking characters。 - 修補後的 OpenJDK8 可用 jre8-openjdk-infinalityAUR[損壞的鏈接:package not found]
修補後的版本從fontconfig獲得FreeType類型字體的渲染和加載標誌,而不是使用OpenJDK的方法。雖然這是一個Infinality包,但是補丁本身實際上並不依賴於fontconfig-InfinalityAUR[損壞的鏈接:package not found],因為只使用了普通的fontconfig包 api。
選擇字體[編輯 | 編輯原始碼]
TrueType 字體[編輯 | 編輯原始碼]
使一些應用程序知道所需字體的目錄路徑,那麼這些Java應用程序就會使用特定的TrueType字體。TrueType字體安裝在/usr/share/fonts/TTF
目錄中。將以下內容添加到/etc/environment
以啟用這些字體。
JAVA_FONTS=/usr/share/fonts/TTF
你需要重新登錄使配置生效。
修復亂碼 (For JRE8)[編輯 | 編輯原始碼]
將字體文件放在下面的目錄下。如果目錄不存在,則創建該目錄。
/usr/lib/jvm/java-8-openjdk/jre/lib/fonts/fallback/