给定一个Font对象,如何绘制所有字体的字形/符号/字符?
我知道如何从文件创建一个Font对象。
我知道要使用g.setFont(...); // g是Graphics2D
我知道使用g.drawString(...); // g是Graphics2D
但是,我不想只绘制A-Z,a-z,0-9个字符。我想绘制字体的所有字形。有没有办法做到这一点?
谢谢!
答案 0 :(得分:4)
怎么样:
final Font f = new Font(...);
for (char c = 0x0000; c <= 0xFFFF; c++)
{
if (f.canDisplay(c))
{
// draw it ...
}
}
<强>
public boolean canDisplay(int codePoint)
强>检查此Font是否具有指定字符的字形。
<强>参数:强>
codePoint
- 需要字形的字符(Unicode代码点)。<强>返回:强>
true
如果此Font
有字符的字形;否则false
。<强>抛出:强>
IllegalArgumentException
- 如果代码点不是有效的Unicode代码点。<强>时间:强>
1.5
另见: