Netbeans 如何在JDK7+;在OSX上

Netbeans 如何在JDK7+;在OSX上,netbeans,fonts,java,subpixel,Netbeans,Fonts,Java,Subpixel,出于某种原因,我使用的任何Oracle JDK版本都使用灰度暗示而不是亚像素。我在使用NetBeans7.3甚至是devNightly+JDK8时注意到了这一点 美国联邦法规。这些图片: JDK 6位于左侧,而JDK 8位于右侧(与JDK 7的行为相同) 如何强制Netbeans使用亚像素暗示?我甚至也跟着,运气不好 我知道苹果的JDK在OSX字体渲染方面做了很好的调整,但我也发现奇怪的是,我得到的是灰度暗示,而不是亚像素 看起来您需要启用分数度量,如下所示: g2Image.setRend

出于某种原因,我使用的任何Oracle JDK版本都使用灰度暗示而不是亚像素。我在使用NetBeans7.3甚至是devNightly+JDK8时注意到了这一点

美国联邦法规。这些图片:

JDK 6位于左侧,而JDK 8位于右侧(与JDK 7的行为相同)

如何强制Netbeans使用亚像素暗示?我甚至也跟着,运气不好


我知道苹果的JDK在OSX字体渲染方面做了很好的调整,但我也发现奇怪的是,我得到的是灰度暗示,而不是亚像素

看起来您需要启用分数度量,如下所示:

g2Image.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
看,这里有一个测试字体别名的示例程序


编辑:OpenJDK 9现在支持正确的亚像素AA字体渲染。在这里看到我的答案

我相信你是对的。现在,有没有什么方法可以在不重新编译IDE的情况下启用它?看起来您可以使用标志-J-Dorg.netbeans.editor.aa.extra.hints=true,但它似乎不起作用,因此netbeans中的其他内容必须导致它被禁用,请参阅此错误报告;我在Github上共享了一个Netbeans模块,它可能有助于使用antialias参数,但现在我开始相信这确实是JDK中的一个无法解决的错误。我刚刚发现,启用分数度量允许在Netbeans 7.4之后的JDK 1.7.025或更早版本上夜间使用亚像素字体渲染。对于JDK1.7.0(40,它不起作用,所以在这些版本之间发生了一些事情。