如何使Java可以使用任意字体文件?

我正在使用一个第三方库,该库通过GraphicsEnvironment:getAllFonts()调用来访问字体。这包括属于JRE和操作系统的字体注册表中的字体。

但是在连接到我们服务器的客户端计算机上,我很可能无法在这些位置中的任何一个中安装字体。那么,如何使JRE可以使用其他字体,以便此调用将它们选中呢?有没有办法扩大其搜索路径?

我可以使用Font.createFont()调用从任意文件访问字体。但是,它仍然没有显示在GraphicsEnvironment.getAllFonts()中。有没有一种我可以将该字体传递给它的方法,该方法会将其添加到可用字体列表中?我读到有一些调用可以从系统属性访问字体,但我仍然不了解,我认为这只是将我设置的字体属性从可用列表中转换为字体名称。


asalamon提供了正确的答案,但是至少在明年之前,我会停留在不支持Java的早期版本上。因此,仍然欢迎更多答案!我可能会尝试使用反射来破解我们正在使用的库,并将字体直接插入其缓存中。

回答:

使用GraphicsEnvironment.registerFont。(对于JDK

1.6)

以上是 如何使Java可以使用任意字体文件? 的全部内容, 来源链接: utcz.com/qa/421432.html

回到顶部