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