我最近切换到 Ubuntu,并且使用 webupd8team/java 存储库安装了 Oracle 的 Java JDK 8u45(32 位)。
除了 Java-Swing 应用程序的字体损坏且丑陋且没有抗锯齿功能外,一切似乎都运行良好。更改字体不起作用。尽管具有相同字体的 Gedit 等本机应用程序不受影响(Eclipse 等非 Swing Java 应用程序也不受影响);它只影响基于 Swing 的应用程序。
截图:(jEdit v5.1)
我正在运行 Ubuntu 15.04(这是 2015-06-15 的最新版本)。我的 Java 版本是 1.8.0_45,'java -version' 给出以下输出:
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) Server VM (build 25.45-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了类似问题中给出的修复(这里和其他 stackexchange 站点),但它们不起作用。我还在 /etc/environment 中添加了以下几行(如下所示:https : //wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts),但它们没有给我任何明显的结果。
JAVA_FONTS=/usr/share/fonts/truetype
_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
Run Code Online (Sandbox Code Playgroud)
我确定必须对此进行修复。相同的 Java 应用程序在 Windows-7 上正常工作。
hex*_*man 20
这个问题早就解决了,所以我决定我应该发布解决方案。请注意,默认情况下问题仍然存在,但可以通过参数修复。
添加这一行:
_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true'
Run Code Online (Sandbox Code Playgroud)
来/etc/environment解决这个问题。
此修复适用于 Ubuntu 16.04 和 OpenJDK 8u151(尚未使用 Oracle JDK 或 Java 9 检查)。
注意:某些字体和 AA 设置使问题复杂化。在 jEdit 中,我对所有内容都使用默认的 Java 字体(称为“对话框”)。您可能可以为文本区域使用不同的字体,但对话框最适合按钮等。我发现的最佳文本区域 AA 设置是标准的,但您的里程可能会有所不同。
| 归档时间: |
|
| 查看次数: |
7611 次 |
| 最近记录: |