Font.createFont +抗锯齿
问题描述:
我已捆绑一个JAR归档我与常规负载沿该线内的.TTF字体:Font.createFont +抗锯齿
[snip]
is = IdeUiUtil.class.getResourceAsStream(fontName);
font = Font.createFont(Font.TRUETYPE_FONT, is);
font = font.deriveFont(style, size);
[snip]
UPDATE:字体是在标题中使用一个TitledBorder
,并且最终还将用于几个JLabels
。
问题是,在Window平台上它看起来都很麻烦。在linux上,它很好的反锯齿。我有什么要做的呢,它在Windows上也是反锯齿的?
答
如果您正在使用绘制图形,你应该使用:
Graphics2D g2d = (Graphics2D)getGraphics();
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
...但是这不是特定于捆绑的字体:它适用于有图形对象使用的所有字体。
有一个hack将其应用于面板,但我不确定它是否是最新的。
这是一个相当古老的问题,但我完全穿过了同一个问题。如果我从一个输入流中加载一个字体(并将其注册到GraphicsEnvoronment中),那么这个字体不会被消除锯齿,无论使用什么样的渲染提示。特别是如果该字体在运行时没有加载,但是只能在系统字体下使用,那么这个字体是反锯齿的。看起来这是Java中的一个错误。 – 2014-08-03 07:53:58