java - Java 可以使用 PCF 字体吗?

标签 java linux fonts x11

我试图让 IBM jre 在我的 linux 机器上使用默认 X11 安装的 PCF 字体。特别是 adobe-helvetica 字体。我试过修改 jre/lib 文件夹中的 fontconfig.properties,但无论我做什么,Java 接缝都会使用其他一些字体。我想有一些算法 java VM 如何尝试将 java 逻辑字体链接到系统中的实际物理字体,即使在无法使用配置中指定的字体的情况下也是如此。在 Windows 上它非常简单,但在 Linux 上我无法使用除 TrueType 字体以外的任何字体。
有人有在 Linux 上的 IBM jre 上配置字体的经验吗?

最佳答案

我整个上午都在学习 Java 字体。有很多限制,其中一些在 Java 1.6 中被删除了。我没有任何答案,但这里有一些我掌握的信息可能会有帮助。

Java 在内部区分系统字体和创建的字体。 (Sun 的新消息:最好通过子类化来明确这一点!)系统字体似乎是安装在 JRE 中的字体,可能加上安装在您系统上的一些字体。但显然不是系统上安装的所有字体;我的 Linux 系统上也有 adobe-helvetica,但似乎无法以我能想到的任何名称从 Java 访问它。

同时,您可以使用 Font.createFont() 方法从字体文件创建字体。您必须指定字体文件类型。我发现在 Font 类中指定这些类型的唯一常量是 TRUETYPE_FONT 和 TYPE1_FONT。所以看起来如果 PCF 字体可用,它不会通过提供常量来指定它们来明确显示。也许其他人知道得更多。我确实在网上看到了一些关于在 Java ME 中使用位图字体的信息,所以一定可以使用其他类型的字体。

创建字体后,您可以使用 GraphicsEnvironment.registerFont() 调用将其添加到 JVM 的可用字体概念中,但这仅适用于 Java 1.6 及更高版本。

关于java - Java 可以使用 PCF 字体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/322050/

相关文章:

linux - Init.d 脚本导致启动挂起

linux - 我如何使这个 awk 命令的真实结果发出像 sendmail 等命令

html - 我如何确定我的所有用户都拥有这个字体系列?

css - Font Awesome 5 字体系列问题

java - 从 war 中加载配置文件

java - 带符号字节的 6502 的条件分支指令?

java - 通过java或linux查找ping响应接口(interface)

html - 应用网页上使用的字体类型

java - 维护和重用现有的 webdriver 浏览器实例 - java

java - 在全屏模式下不显示 JDialog