我一直在尝试插入Unicode字符∇或▽,因此它显示在Apache FOP生成的PDF中.
这是我到目前为止所做的:
首先,您必须知道正确的Unicode代码点,以根据此基本帮助Apache XSL-FO输入来表示字符,Unicode代码点可以在unicode.org中的数学运算符列表中找到.代码是∇∇NABLA,我也可以使用▽▽一个向下的三角形.
找到正确的代码后,我必须选择包含必要字形的字体,并且Adobe PostScript和PDF规范指定必须可用于每个PostScript解释器和PDF阅读器的Base-14字体字符映射,因此我在列表和字体中搜索符号包含∇ ∇,(没有字体包含▽ ▽丢弃)
之后搜索结果代码,我认为我应该在xsl中使用:fo是:
Run Code Online (Sandbox Code Playgroud)<fo:block font-family="Symbol"> ∇ </fo:block>
问题是当它生成PDF时,结果不是我所期望的"∇",而是它显示的是"?",我读到当它无法显示时通常会显示"#",但我的代码显示"?".
我正在使用Apache fop 0.95,我怀疑是导致问题的那个版本,我应该更新到1.0,但目前这是生产中使用的版本,团队负责人表示现在很难升级它.
那么这就是问题,除了版本之外可能还有其他什么?可能是我忘记做的dummie吗? 如何使用Apache fop显示Unicode字符?