如何在 Java 应用程序中获得正确的子像素渲染?

如何在 Java 应用程序中获得正确的子像素渲染?

我曾经使用 infinality 来获得好看的字体,但它已经很久没有更新了,而且现在 破碎的。从那以后我又恢复了普通的自由字体和普通的字体。我跟着指示让字体看起来合理,具体来说,/etc/fonts/local.conf按照这里。我还将以下行附加到/etc/profile.d/jre.sh

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true'

我的一些 Java 应用程序很好,但有些(例如 Jabref)看起来很糟糕。如果完全关闭的话,看起来就像是子像素渲染。 (以前,由于具有无限性,它们看起来很棒。)

贾布雷夫

根据拱门维基,我尝试了几种不同的选项,例如设置-Dawt.useSystemAAFontSettings为液晶屏、喘气和关闭。然而,这些都没有帮助。我还尝试使用不同版本的java(java-7-openjdk、java-8-jre/jre和java-8-openjdk),但这也没有帮助。

最后,我尝试安装 jre{7,8}-openjdk-infinality,但它们似乎需要“FreeType 中的 infinality 支持”,而这显然现在缺失了。我可以修复 Jabref 中这个糟糕的渲染问题吗?

(原来问这里,没有任何反应。)

答案1

您需要一个支持 freetype 的 openjdk 版本,例如 tuxjdk(不知道是否仍然支持)或 jetbrains 的 openjdk(在 AUR 中提供)。我认为可以使用无限性的 openjdk,但其依赖关系已被破坏,因为它与原始版本的唯一区别是 freetype 支持(我在这一点上可能是错的)。

答案2

结果发现这只是一个漏洞在 Jabref 启动器中,我选择的 java 没有被使用。

相关内容