我正在使用通过 GraphicsEnvironment: getAllFonts() 调用访问字体的第三方库。这包括属于 JRE 和操作系统的字体注册表中的字体。
但是在连接到我们服务器的客户端机器上,我可能无法将字体安装到这些位置中的任何一个。那么我怎样才能使 JRE 可以使用其他字体,以便此调用能够接收它们呢?有没有办法扩大它的搜索路径?
我可以使用 Font.createFont() 调用从任意文件访问字体。但是它仍然没有出现在 GraphicsEnvironment.getAllFonts() 中。有没有一种方法可以将该字体传递给将其添加到可用字体列表中?我读到有些调用可以从系统属性访问字体,但我仍然不理解,而且我认为这只是将我设置的字体属性转换为可用列表中的字体名称。
asalamon 提供了正确的答案,但我仍然停留在不支持它的早期版本的 Java 上,至少要等到明年。所以还是非常欢迎更多的回答!我可能会尝试使用反射来破解我们正在使用的库,并将字体直接插入到它的缓存中。
最佳答案
使用GraphicsEnvironment.registerFont . (对于 JDK 1.6)
关于java - 如何使任意字体文件可用于 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374964/