【发布时间】:2012-12-03 12:31:03
【问题描述】:
我在 java 中为我的项目添加了一种新字体。但是,在渲染它时,文本大小始终为 1。文本基本上只显示为几行。我尝试了多种字体,他们都做到了。这是我的代码。
public static void intializeFonts(){
try{
File font = new File("C:/The Woods/Fonts/script.ttf");
Font scriptFontU = Font.createFont(Font.TRUETYPE_FONT, font);
Font scriptFont = scriptFontU.deriveFont(20);
script = new TrueTypeFont(scriptFont, false);
} catch(Exception e){
System.out.println("Error Loading Font");
}
}
如果有帮助,这也是我用来渲染它的。
g.setFont(Fonts.script);
g.drawString("Weight: "+ItemContainer.getWeight()+"lbs", 30, 600);
任何帮助都会很棒。谢谢。
【问题讨论】:
-
解决了,我用outprint来查找系统中字体使用的名称,然后用new font()而不是deriveFont()就可以了。
-
正如我在回答中提到的,
deriveFont不起作用的原因是因为您调用了错误的重载。如果您总是处理已注册的系统字体,则您的解决方法是正确的(并且是更好的解决方案),但如果您的字体作为资源包含,您将希望使用您的原始方法。 -
请注意,您可以“回答”和“接受”您自己的问题。这是记录解决方案的好方法。
-
是的,我在发布后不久就意识到它工作的唯一原因是因为我在系统中有它。
标签: java fonts font-size truetype