java - 如何使任意字体文件可用于 Java?

标签 java fonts

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

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

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


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

最佳答案

使用GraphicsEnvironment.registerFont . (对于 JDK 1.6)

关于java - 如何使任意字体文件可用于 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374964/

相关文章:

java - 使用没有任何抽象方法的抽象类

java - "Software caused connection abort: socket write error"的官方原因

java - 我应该应用哪些 AI/ML 技术来用 Java 生成推荐游戏列表?

java - 在Java中是否有一个具有类似 `BlockingQueue.drainTo`功能的HashSet?

javascript - HTML 闪烁文字颜色

cocoa - 如何将 Lucida Grande italic 添加到我的申请中?

react-native - 如何在 React Native 版本 0.61.5 中添加自定义字体

java - 从实体生成表

Android并计算给定字体和字体大小的单行字符串的大小?

ios - Swift 4 - 有没有办法为项目或应用程序委托(delegate)文件中存在的所有按钮和标签设置 Avenir 字体