【发布时间】:2015-05-01 11:15:09
【问题描述】:
在 Java 中,我们可以这样创建 Font 对象:
new Font("Helvetica", Font.PLAIN, 12);
我的问题是我们如何从 Java 中获取整个字体名称列表,例如“Helvetica”,我们可以将其用作 Font 构造函数的参数之一?
我尝试了以下方法,但在所有列表中都找不到“Helvetica”。
GraphicsEnvironment ge;
ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] names = ge.getAvailableFontFamilyNames();
Font[] allFonts = ge.getAllFonts();
for(int x=0; x<names.length; x++)
System.out.println(names[x]);
for(int x=0; x<allFonts.length; x++){
System.out.println(allFonts[x].getName());
System.out.println(allFonts[x].getFontName());
System.out.println(allFonts[x].getFamily());
System.out.println(allFonts[x].getPSName());
}
编辑:更重要的是我也想知道Font构造函数中第一个属性调用是什么new Font("What attribute is this?", Font.PLAIN, 12)
问:是 fontName、family、fontFace、名字还是什么?
【问题讨论】:
-
你能提供输出吗?就我而言,我看到超过 10 个字符串包含
Helivetica字。 -
@maxd 我希望我可以,因为这对你们所有人都有用,但是我的输出太长了。超过 3000 行字体。
-
刚刚过去到 gist.github.com 或 pastebin.com
-
能否请您也指定您的操作系统?
-
@maxd Window 7 家庭高级版 SP 1