有没有办法用Java读取Open Type字体,就像使用TrueType字体一样?
这对TTF非常有效,但我还没弄清楚如何对Open Type字体做同样的事情。
Font f = Font.createFont( Font.TRUETYPE_FONT,
new FileInputStream("f.ttf") );
请注意我无法转发已安装的字体。我提供的字体与我的程序,但不想在系统范围内安装。
答案 0 :(得分:4)
我认为java中没有Open Type Font支持(不是免费的至少),iText声称有这样的支持,几个月前尝试过它并没有用,对我有用的是一个名为的程序FontForge,我曾经用otf创建了一个ttf,然后我用它。
答案 1 :(得分:4)
Java OpenType font support depends on your OS and JDK version.
在Java 6之前,您只能使用TrueType风格的OpenType字体。使用Java 6,您可以使用所有OpenType字体,但您不会受益于连字等高级印刷功能。
答案 2 :(得分:1)
我使用字体转换器将 OTF 转换为 TTF 文件。有一些在线服务(如www.freefontconverter.com)可以完成这项工作。对我来说,这是一个快速而简单的解决方法。
答案 3 :(得分:0)
java 1.6中不支持Open Type(.otf)字体。从java 1.7开始,添加了支持。下面的代码对我有用:
Font font = Font.createFont(Font.TRUETYPE_FONT, new File("MyFont.otf"));
font = font.deriveFont(Font.BOLD, 40);
------
label.setFont(font);
以下几个链接证明了这个
http://bugs.java.com/view_bug.do?bug_id=6992611 http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/#swing