6

我必须国际化一个应用程序,因此必须让用户为我将在运行时创建的 PDF 选择一种字体。我希望能够显示来自用户系统的字体选择列表,使用

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();

这对于获取字体效果很好,但似乎我必须跳过一些障碍才能使该字体与 FOP 配合得很好,如此所述。我可以按照他们列出的所有说明进行操作,但我不确定如何获取字体位置以运行 TTFReader。

  1. 有谁知道如何列出 java 使用 getAllFonts() 命令收集的每种字体的路径?
  2. 在 PDF 中嵌入字体是个好主意吗?例如,Arial Unicode MS TFF 文件约为 30 MB。
  3. 这是使用 FOP 和 XSL 创建国际化 pdf 的唯一方法吗?
4

1 回答 1

7

上一个版本 (FOP 0.95) 对字体配置进行了重大改进,因此请参阅那里的文档以获得更简单的方法:http: //xmlgraphics.apache.org/fop/0.95/fonts.html#basics

不再需要 XML 字体度量文件。

对于您的问题:

  1. 这不可能。Java 不会给你这些信息。这就是 FOP 拥有自己的字体子系统的部分原因。
  2. 是的,它实际上是推荐的。请注意,FOP 支持字体子集,因此只有需要的字形嵌入到 PDF 中。
  3. 不明白你的意思。有了以上信息并升级到最新版本应该就足够简单了。
于 2009-10-20T06:41:30.853 回答