我对使用 DITA OT 3.7.1、FOP 2.6 和我们的自定义 PDF 插件生成的 PDF 中的阿拉伯脚注有疑问。
问题在于脚注文本与远离脚注编号的另一端对齐。文本的其余部分已正确对齐。
我修改了代码来生成脚注,以尝试强制它们正确对齐:
<fo:footnote-body>
<fo:list-block xsl:use-attribute-sets="fn__body">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block text-align="right" id="{$id}">
<fo:inline xsl:use-attribute-sets="fn__callout">
<xsl:copy-of select="$callout"/>
</fo:inline>
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block-container xsl:use-attribute-sets="fn__blockcontainer">
<fo:block text-align="start">
<xsl:apply-templates/>
</fo:block>
</fo:block-container>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:footnote-body>
这里是fn__blockcontainer属性集:
<xsl:attribute-set name="fn__blockcontainer">
<xsl:attribute name="writing-mode" select="$writing-mode"/>
<xsl:attribute name="text-align">start</xsl:attribute>
<xsl:attribute name="display-align">before</xsl:attribute>
</xsl:attribute-set>
并且属性在 topic.fo 中正确显示:
<fo:list-item-body start-indent="body-start()"><fo:block-container display-align="before" text-align="start" writing-mode="rl"><fo:block text-align="start" line-height-shift-adjustment="disregard-shifts"><fo:inline line-height="100%" font-family="Simplified Arabic">في</fo:inline> Outlook 2010 <fo:inline line-height="100%" font-family="Simplified Arabic">أو</fo:inline> <fo:inline line-height="100%" font-family="Simplified Arabic">الأحدث</fo:inline> <fo:inline line-height="100%" font-family="Simplified Arabic">يمكن</fo:inline> <fo:inline line-height="100%" font-family="Simplified Arabic">معاينة</fo:inline> <fo:inline line-height="100%" font-family="Simplified Arabic">صفحات</fo:inline> <fo:inline line-height="100%" font-family="Simplified Arabic">مرفقات</fo:inline> PDF.</fo:block></fo:block-container></fo:list-item-body>
但是对齐仍然不正确。
是我遗漏了什么,还是 FOP 2.6 中有错误?谢谢您的帮助。
您能否尝试按照我在
this comment中针对您的 GitHub 问题的建议,在
language="dflt"
上设置属性 <fo:block>
?也许您还应该在 writing-mode="rl-tb"
上尝试 <fo:block-container>
。