如何在Java中使用开放式字体?
有没有一种方法可以像我使用TrueType字体一样读取Java中的开放式字体 这非常适合TTF,但我还没有弄清楚如何使用开放式字体如何在Java中使用开放式字体?,java,fonts,opentype,Java,Fonts,Opentype,有没有一种方法可以像我使用TrueType字体一样读取Java中的开放式字体 这非常适合TTF,但我还没有弄清楚如何使用开放式字体 Font f = Font.createFont( Font.TRUETYPE_FONT, new FileInputStream("f.ttf") ); 请注意,我无法在已安装的字体上进行中继。我在我的程序中提供了字体,但不想在系统范围内安装。我认为java中没有开放式字体支持(至少不是免费的),iText声称有这种支持,几个月前尝试过,但没有成功,对我有效的是
Font f = Font.createFont( Font.TRUETYPE_FONT,
new FileInputStream("f.ttf") );
请注意,我无法在已安装的字体上进行中继。我在我的程序中提供了字体,但不想在系统范围内安装。我认为java中没有开放式字体支持(至少不是免费的),iText声称有这种支持,几个月前尝试过,但没有成功,对我有效的是一个名为FontForge的程序,我用它从otf创建了一个ttf,然后我使用了它。
在Java6之前,只能使用TrueType风格的OpenType字体。使用Java 6,您可以使用所有OpenType字体,但不会从诸如连字之类的高级排版功能中获益。我使用字体转换器将OTF转换为TTF文件。有一些在线服务(比如)可以完成这项工作。对我来说,这是一个快速而简单的解决方法。开放式(
.otf
)字体文件在Java 1.6中不受支持。Java 1.7增加了以下支持:
Font-Font=Font.createFont(Font.TRUETYPE\u-Font,新文件(“MyFont.otf”);
font=font.deriveFont(font.BOLD,40);
label.setFont(字体);
更多详情: