阿拉伯脚注与 DITA OT 和 FOP 的对齐不正确

问题描述 投票:0回答:1

我对使用 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 中有错误?谢谢您的帮助。

pdf arabic apache-fop dita-ot
1个回答
0
投票

您能否尝试按照我在

this comment
中针对您的 GitHub 问题的建议,在
language="dflt"
上设置属性 <fo:block> ?也许您还应该在
writing-mode="rl-tb"
上尝试
<fo:block-container>

© www.soinside.com 2019 - 2024. All rights reserved.