Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中使用开放式字体?_Java_Fonts_Opentype - Fatal编程技术网

如何在Java中使用开放式字体?

如何在Java中使用开放式字体?,java,fonts,opentype,Java,Fonts,Opentype,有没有一种方法可以像我使用TrueType字体一样读取Java中的开放式字体 这非常适合TTF,但我还没有弄清楚如何使用开放式字体 Font f = Font.createFont( Font.TRUETYPE_FONT, new FileInputStream("f.ttf") ); 请注意,我无法在已安装的字体上进行中继。我在我的程序中提供了字体,但不想在系统范围内安装。我认为java中没有开放式字体支持(至少不是免费的),iText声称有这种支持,几个月前尝试过,但没有成功,对我有效的是

有没有一种方法可以像我使用TrueType字体一样读取Java中的开放式字体

这非常适合TTF,但我还没有弄清楚如何使用开放式字体

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(字体);
更多详情: