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