小编Jua*_*cos的帖子

如何使用Apache fop显示Unicode字符?显示"?" 而不是角色.

我一直在尝试插入Unicode字符∇或▽,因此它显示在Apache FOP生成的PDF中.

这是我到目前为止所做的:

  1. 首先,您必须知道正确的Unicode代码点,以根据此基本帮助Apache XSL-FO输入来表示字符,Unicode代码点可以在unicode.org中的数学运算符列表中找到.代码是∇∇NABLA,我也可以使用▽▽一个向下的三角形.

  2. 找到正确的代码后,我必须选择包含必要字形的字体,并且Adobe PostScript和PDF规范指定必须可用于每个PostScript解释器和PDF阅读器的Base-14字体字符映射,因此我在列表和字体中搜索符号包含∇ &#x2207,(没有字体包含▽ ▽丢弃)

  3. 之后搜索结果代码,我认为我应该在xsl中使用:fo是:

     <fo:block font-family="Symbol">
     &#x2207;
     </fo:block>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 问题是当它生成PDF时,结果不是我所期望的"∇",而是它显示的是"?",我读到当它无法显示时通常会显示"#",但我的代码显示"?".

  5. 我正在使用Apache fop 0.95,我怀疑是导致问题的那个版本,我应该更新到1.0,但目前这是生产中使用的版本,团队负责人表示现在很难升级它.

那么这就是问题,除了版本之外可能还有其他什么?可能是我忘记做的dummie吗? 如何使用Apache fop显示Unicode字符?

xml xsl-fo apache-fop

14
推荐指数
1
解决办法
6715
查看次数

标签 统计

apache-fop ×1

xml ×1

xsl-fo ×1