XSL-FO脚注中还原的文本

时间:2019-01-04 11:18:52

标签: xsl-fo apache-fop

我正在尝试使用Apache FOP在PDF内正确显示脚注。

<fo:block text-align="right">
    <fo:bidi-override unicode-bidi="embed" direction="rtl">
        <fo:inline>שלום</fo:inline>
        <fo:footnote>
            <fo:inline alignment-baseline="hanging">1</fo:inline>
            <fo:footnote-body>
                <fo:block>
                    <fo:bidi-override unicode-bidi="embed" direction="rtl">
                        <fo:inline>שלום</fo:inline>
                    </fo:bidi-override>
                </fo:block>
            </fo:footnote-body>
        </fo:footnote>
        <fo:inline>.</fo:inline>
    </fo:bidi-override>
</fo:block>

由于某种原因,脚注文本(在页面底部)显示为还原:

enter image description here

不知道我在做什么错...

1 个答案:

答案 0 :(得分:0)

  1. (不好的)解决方法:删除(内部)direction="rtl"属性,但这可能会“破坏其他东西”。
  2. (更好)的方式(但可能无法读取/搞笑语言,SRY,当):

    <fo:inline>םולש</fo:inline>
    

..但大多数困惑(对我来说,也许对“引擎”来说)引起嵌套的<fo:bidi-override/>元素...

  1. 方法是:

    <fo:block text-align="right">
      <fo:bidi-override unicode-bidi="embed" direction="rtl">
        <fo:inline>שלום</fo:inline>
      </fo:bidi-override>
      <fo:footnote>
        <fo:inline alignment-baseline="hanging">1</fo:inline>
        <fo:footnote-body>
          <fo:block>
            <fo:bidi-override unicode-bidi="embed" direction="rtl">
              <fo:inline>שלום</fo:inline>
            </fo:bidi-override>
          </fo:block>
        </fo:footnote-body>
      </fo:footnote>
      <fo:inline>.</fo:inline>
    </fo:block>
    

(重新排列外部<fo:bidi-override/>。)