Apache FOP:在PDF中显示UTF-8字符(不使用嵌入?)

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字符而不会过于复杂。

1个回答

7
据我所知,PDF规范中包含的字体仅包括ISO-Latin-1字符集中的字符。如果您需要使用不在附录D:字符集和编码中定义的字符,则需要嵌入字体。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接