是否与Java PCF字体工作?(Does Java work with PCF fonts?)

2019-09-28 02:41发布

我试图让IBM JRE使用默认从安装X11 PCF字体在我的Linux机器。 特别土坯Helvetica字体。 我曾经幻想过修改的jre / lib文件夹fontconfig.properties但无论我做什么的Java接缝使用其它字体。 我想有一些算法的Java虚拟机如何试图在系统中,即使在情况下的java逻辑字体链接到实际的物理字体时,在配置中指定的字体无法使用。 在Windows上它是非常简单的,但在Linux上我无法使其与除TrueType字体的任何工作。
任何人有配置JRE在Linux on IBM字体的经验?

Answer 1:

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

Java的内部区分系统字体和字体创建之间。 (新闻闪到Sun:它会是不错的使通过子类的明确)的系统字体似乎是安装在JRE可能字体加上一些安装在系统上的字体。 但显然不是所有安装在系统上的字体; 我也有我的Linux系统上的Adobe Helvetica字体,但它似乎并没有被访问从Java下我能想到的任何名称。

同时,您可以创建与Font.createFont()方法的字体文件的字体。 你必须指定字体文件类型。 我发现,在字体类来指定这些类型而唯一不变的是TRUETYPE_FONT和TYPE1_FONT。 因此,它看起来就像如果PCF字体可用,它不是通过提供恒定指定它们作出了明确。 也许有些人了解的。 我没有在网上看到有关Java ME中使用位图字体的一些信息,所以它必须以某种方式可以使用其他类型的字体。

一旦你有一个创建的字体,你可以把它添加到JVM的概念与GraphicsEnvironment.registerFont()调用可用的字体,但是这仅仅是基于Java 1.6及更高版本。



Answer 2:

该PCFFont包似乎提供了使用PCF字体从Java的能力。 不幸的是,我认为它有一个自定义PCFFont类,不延长的java.awt.Font类这样做,所以我会说其效用可能是有限的。 然而,可能会给一些指针,以实现细节写字体的自定义子类可以处理PCF字体。 寻找源代码是不是很明显; 对于确切类的代码是在这里 。

我要说的作者似乎有点困惑,因为他谈到转换TrueType字体PCF这样你就可以用他的图书馆使用它们,和Java已经支持TrueType字体本身。 但他似乎是来自Sun的工程师,所以也许他知道比我更想; 同样,这可能仅仅是非常过时的(是有过当的Java不支持TrueType时间?)。



文章来源: Does Java work with PCF fonts?