首页 > 解决方案 > XSL-FO:阿拉伯字符显示为“########”

问题描述

我无法获取在 JDK 1.8 上使用 fop 2.3 jar 生成的 PDF 中的阿拉伯字符。

生成 PDF,文本的缩进似乎发生了变化,但所有阿拉伯字符都显示为“########”。

关于这里可能有什么问题的任何指示?

这是来自 xslt 的片段,

<fo:table-cell display-align="after">
    <fo:block padding-before="1em" padding-top="1pt" font-family="Amiri,Helvetica,FreeSans,FreeSerif,NotoSansCJK,ZawgyiOne,saysettha_ot,Hanuman" start-indent="0em" font-weight="bold" font-size="20.7pt" text-align="center" wrap-option="nowrap">
        <xsl:value-of select="$title"/>
    </fo:block>
</fo:table-cell>

下面是 fop.xconf 文件的内容,

<!-- arabic https://fonts.google.com/specimen/Amiri-->
<font embed-url="Amiri-Regular.ttf" kerning="yes">
        <font-triplet name="Amiri" style="italic" weight="bold"/>
        <font-triplet name="Amiri" style="normal" weight="bold"/>
        <font-triplet name="Amiri" style="italic" weight="normal"/>
        <font-triplet name="Amiri" style="normal" weight="normal"/>
</font>

使用以下字体文件,

Amiri-Bold.ttf
Amiri-BoldItalic.ttf
Amiri-Italic.ttf
Amiri-Regular.ttf

标签: xsltxsl-foapache-fop

解决方案


推荐阅读