7

我正在尝试使用 FOP 导出带有 UTF-8 字符的 PDF,最好不需要嵌入字体。
以下代码:

<fo:block font="10pt Helvetica" text-align="justify" space-after="10pt" space-before="8pt" keep-with-previous="auto" keep-together.within-page="auto"> 
  <fo:block font-weight="bold" color="gray">Summary</fo:block>
  <fo:block text-indent="1em" keep-with-previous="always">
    <fo:block text-indent="1em" space-before="4pt">
      <fo:block text-indent="1em" space-before="4pt">私はガラスを食べられます。それは私を傷つけません
      </fo:block>
    </fo:block>
  </fo:block>
</fo:block>

在 PDF 中生成 ####################。我知道这个问题:http: //xmlgraphics.apache.org/fop/faq.html#pdf-characters

当我进入文档属性->字体时,Helvetica 字体与“编码:ANSI”一起列出。有没有办法改变这个?

如果我正在嵌入,那么在没有访问 Helvetica.ttf 的情况下最好的方法是什么?我试过使用 DejaVuSans,但我最终用正方形代替了 # 符号。

请注意,这不是从命令行一次性使用(这将是一个开始),而是对现有应用程序的扩展。我正在尝试支持 UTF-8 字符而没有太多复杂性。

4

1 回答 1

7

AFAICT,PDF 规范中包含的字体仅包含来自 ISO-Latin-1 的字符。如果您想要的字符不在附件 D:字符集和编码中定义的字符,那么您应该嵌入该字体。

于 2009-08-19T21:26:17.570 回答