出于某种原因,我使用的任何版本的 Oracle JDK 都使用灰度提示而不是子像素。我在使用 Netbeans 7.3 甚至 Dev nightly+JDK 8 时注意到了这一点。
参照。这些图片:
左侧是 JDK 6,右侧是 JDK 8(与 JDK 7 的行为相同)
如何强制 Netbeans 使用亚像素提示?我什至在这里关注了常见问题解答,但运气不佳。
我知道 Apple 的 JDK 已针对 OS X 字体渲染进行了微调,但我发现我得到灰度提示而不是亚像素也很奇怪。
出于某种原因,我使用的任何版本的 Oracle JDK 都使用灰度提示而不是子像素。我在使用 Netbeans 7.3 甚至 Dev nightly+JDK 8 时注意到了这一点。
参照。这些图片:
左侧是 JDK 6,右侧是 JDK 8(与 JDK 7 的行为相同)
如何强制 Netbeans 使用亚像素提示?我什至在这里关注了常见问题解答,但运气不佳。
我知道 Apple 的 JDK 已针对 OS X 字体渲染进行了微调,但我发现我得到灰度提示而不是亚像素也很奇怪。
看起来您需要打开分数指标,如下所示:
g2Image.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
请参阅https://bugs.openjdk.java.net/browse/JDK-8023794,那里还有一个示例程序可以测试字体别名。
编辑:OpenJDK 9 现在支持正确的亚像素 AA 字体渲染。请在此处查看我的答案如何在 OS X 上的 Swing 中启用 LCD 子像素抗锯齿?