Arch-Linux
如何在 Java 應用程序中獲得正確的亞像素渲染?
我曾經使用 infinality 來製作好看的字型,但它已經很久沒有更新了,現在已經 壞了。我已經恢復到香草自由字型和香草字型。我按照說明使字型看起來合理,特別
/etc/fonts/local.conf
是按照此處創建。我還將以下行附加到/etc/profile.d/jre.sh
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true'
我的一些 java 應用程序很好,但有些(例如 Jabref)看起來很糟糕。如果完全關閉,它看起來像亞像素渲染。(以前,在確定性的情況下,它們看起來很棒。)
根據Arch wiki,我嘗試了一些不同的選項,例如設置
-Dawt.useSystemAAFontSettings
為 lcd、gasp 和 off。然而,這些都沒有幫助。我還嘗試使用不同版本的 java(java-7-openjdk、java-8-jre/jre 和 java-8-openjdk),但這也無濟於事。最後,我嘗試安裝 jre{7,8}-openjdk-infinality,但它們似乎需要“FreeType 中的 infinality 支持”,這顯然是現在缺失的。我可以在 Jabref 中修復這個糟糕的渲染嗎?
(最初在這裡問,沒有回應。)
最後它只是 Jabref 啟動器中的一個錯誤,我選擇的 java 沒有被使用。
您需要一個帶有 freetype 支持的 openjdk 版本,例如 tuxjdk(不知道是否仍受支持)或 jetbrains 的 openjdk(在 AUR 中可用)。而且我認為可以使用具有破壞性依賴關係的 infinality openjdk,因為它與原始版本的唯一區別是對自由類型的支持(我可能錯了)。