2

我的发布脚本会生成版本号的图像,这样我就省去了手动进入 MoinMoin wiki 软件并为每个版本手动更改它的麻烦。不幸的是,由于每个平台的 JVM 上的字体看起来有点不同,结果很丑

我通过使用 Lucide Sans(每个 Java 系统都附带)解决了字体不一致的问题。(从 TTF 文件加载字体是另一种选择。)结果要好得多,在 Mac/Windows 上生成完全相同的图像(http://img718.imageshack.us/img718/9089/winq.png),但略有不同一个关于 OpenJDK ( http://img441.imageshack.us/img441/4247/openjdk.png )。

我相信这是由于 OpenJDK 具有不同的字体渲染系统(而不是不同的字体)造成的。有什么方法可以让我的所有三个目标平台(Sun Windows、Mac、OpenJDK Linux)生成看起来相同的文本图像?

[更新:丑陋的链接不再丑陋,因为我正在手动纠正问题,直到找到自动解决方案]

4

1 回答 1

2

OpenJDK 使用系统的字体渲染库,因此您甚至可能无法在不同的 Linux 发行版或版本上获得相同的字体渲染。

此外,您甚至不能假设 Lucida Sans 可用,因为 OpenJDK 不安装它,它仅在 Sun 的 JDK 中。

唯一的解决方案是将您自己的自定义 OpenJDK 部署到 Windows 和 Mac 平台,并确保它仍然使用 Freetype 而不是平台的字体呈现库。但这是行不通的。

于 2010-05-08T21:50:51.680 回答