我正在试图让IBM jre在Linux机器上使用默认X11安装中的PCF字体。特别是adobe-helvetica字体。我曾经尝试修改jre/lib文件夹中的fontconfig.properties,但无论我使用Java接口来使用其他字体。我想有一些算法java VM试图将java逻辑字体链接到系统中的实际物理字体,即使在config中指定的字体不能使用的情况下。在Windows上,它非常简单,但在Linux上,我无法使用除TrueType字体以外的任何其他功能。
任何人都有在Linux上配置IBM jre的字体的经验吗?Java是否可以使用PCF字体?
回答
我花了整个早上了解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及更高版本中使用。
PCFFont package似乎提供了使用Java的PCF字体的能力。不幸的是,我认为它使用不扩展java.awt.Font类的自定义PCFFont类,所以我认为它的用处可能是有限的。然而,它可能会给出一些指针来实现编写可以处理PCF字体的Font的自定义子类的实现细节。找到源代码并不是很明显;代码确切的类是here。
我想说作者似乎有点困惑,因为他谈论了将TrueType字体转换为PCF,以便您可以将它们与库一起使用,并且Java本身已经支持TrueType字体。但他似乎是来自Sun的工程师,所以也许他知道的比我想象的要多。此外,这可能会过时(Java曾经有过一段时间不支持TrueType?)。
经过我们所做的所有研究,像每个版本的JRE都有接缝引起字体处理的变化,现代版本不再支持PCF字体。 PCFFont项目接缝是使用PCF字体的唯一方式,但它不能轻松注入到我们的项目中。 – Ma99uS 2009-01-16 15:17:35
- 1. 是否可以使字体可缩放?
- 2. 是否可以使用自定义字体 - 使用font-face?
- 3. 是否可以使用Java创建dll?
- 4. 是否可以告诉MathJax使用特定语言的字体?
- 5. Notepad ++ - 是否可以使用自定义字体?
- 6. 是否可以在Android中使用图片/图标的字体
- 7. 是否可以在winforms上使用otf字体?
- 8. 是否可以使用Cocoa Touch改变字体的字母间距/字距?
- 9. 是否可以使用JavaScript
- 10. 是否可以使用WIX
- 11. iPhone是否“可以使用”?
- 12. 是否可以使用clock_settime()
- 13. 是否可以使用Auto_publish?
- 14. 是否可以使用HTML
- 15. 是否可以使用PHP
- 16. IWavePlayer.PlaybackStopped是否可以使用?
- 17. 是否可以使用ExtJS
- 18. 是否可以使用URL
- 19. 是否可以从Java调用COM API?
- 20. 是否可以从Java调用BlazeDS?
- 21. Symbian java - 是否可以使用java开发symbian
- 22. 使用带有AS3 TextField的嵌入字体时,是否可以使用非嵌入式后备字体?
- 23. 是否可以使用已经在父窗口中下载的字体在子iframe中使用的字体?
- 24. 是否可以使用ArrayLists以Java编写队列和堆栈?
- 25. SOA是否可以是Java Bean?
- 26. 是否可以使用Capybara测试Java应用程序?
- 27. 是否可以使用CronTab调用java web服务?
- 28. 是否可以在桌面应用程序中使用Java WebSocket?
- 29. 是否可以使用套接字使用连接代理?
- 30. 是否可以增加Java中的字符串或字符?
幽默地说,如果你是谷歌的“Java PCF字体”,你会得到这个堆栈溢出页面! – skiphoppy 2008-12-17 18:37:59