有没有办法像阅读 TrueType 字体一样在 Java 中阅读 Open Type 字体?
这对 TTF 非常有效,但我还没有弄清楚如何对 Open Type 字体做同样的事情。
Font f = Font.createFont( Font.TRUETYPE_FONT,
new FileInputStream("f.ttf") );
请注意,我无法转发已安装的字体。我在我的程序中提供了字体,但不想在系统范围内安装它。
Java OpenType 字体支持取决于您的操作系统和 JDK 版本。
在 Java 6 之前,您只能使用 TrueType 风格的 OpenType 字体。使用 Java 6,您可以使用所有 OpenType 字体,但您不会受益于连字等高级排版功能。
我认为 java 中没有 Open Type Font 支持(至少不是免费的),iText 声称有这种支持,几个月前尝试过但没有用,对我有用的是一个名为 FontForge 的程序,我用于从我随后使用的 otf 创建一个 ttf。
.otf
Java 1.6 不支持Open Type ( ) 字体文件。从 Java 1.7 开始,添加了支持:
Font font = Font.createFont(Font.TRUETYPE_FONT, new File("MyFont.otf"));
font = font.deriveFont(Font.BOLD, 40);
label.setFont(font);
更多细节:
我使用字体转换器将OTF转换为TTF文件。有一些在线服务(例如www.freefontconverter.com)可以完成这项工作。对我来说,这是一个快速而简单的解决方法。