2015-11-21 272 views
0

在大多數語言中,書籍是使用左側的裝訂製成的。封面是右側頁面,頁面展開由左側的偶數頁面和右側的奇數頁面組成。當您按順序閱讀本書時,將頁面向左翻頁。從右到左語言的頁面順序(阿拉伯語,希伯來語)

在從右到左(RTL)語言中,這是相反的:書籍是使用右側的綁定製作的。封面是左側頁面,頁面傳播由右側的偶數頁面和左側的奇數頁面組成。當您按順序閱讀本書時,會將頁面向右翻頁。

我創建了一個將用於多種語言的FO模板。我用寫模式屬性來支持RTL語言。

根據這一RenderX tutorial:

寫作模式屬性定義了文檔組織的各個方面:裝訂邊,在表列排序,以塊文本對齊方式等

但我我們發現這對於Antennahouse來說並不完全正確(6.1)。 文本對齊和列排序都正常工作,但綁定邊緣未完全實現。頁面順序仍然是LTR。

我想打印一本書在正確的頁面順序爲RTL語言:

  1. 綁定必須在正確的
  2. PDF的第一頁必須是書
  3. 的最後一頁

要求2.有,所以我可以打印一本多語言書籍,前面帶有LTR語言,後面帶有RTL語言。

現在我可以爲RTL語言創建一個新的佈局主集以獲得右側的綁定。生成PDF後,我可以在Acrobat中反轉PDF的頁面順序。

但是有沒有辦法在XSL-FO中指定正確的頁面順序?
我正在使用Antennahouse渲染器。這具有axf.reverse-page定製屬性,但這隻能在一個頁面序列內工作。我的書有幾個頁面序列(每章一個),所以我不能使用它。

我已經花了一些時間仔細閱讀規範,但還沒有找到適合的東西。

+2

不幸的是,XSL 1.1建議對於如何確定綁定邊緣很模糊。 「fo:page-sequence」的定義包括「此建議沒有指定選擇哪一邊是頁面綁定邊緣的機制。」從理論上講,你可以從寫作模式中推斷出綁定邊緣,但當你做一些像日曆一樣的事情時,這種情況會下降,綁定邊緣位於頁面的頂部/底部。 FWIW,XSL 2.0要求文檔包括能夠指定綁定邊緣的要求(http://www.w3.org/TR/xslfo20-req/#N66625)。 –

+0

您如何組織混合RTL/LTR書籍中的頁碼? –

+0

混合書在整本書中都有LTR格式的頁碼。所以英文是第1-10頁,阿拉伯文將從第20頁開始並在第11頁結束。 – Hobbes

回答

1

使用-prevp命令行參數以相反的順序打印頁面。請參閱http://www.antennahouse.com/product/ahf60/docs/ahf-xslcmd.html#prevp

+0

好點。儘管如此,我希望能夠從XSL-FO內部控制它,如果我能做到這一點,我可以爲所有語言使用單個模板。如果我必須爲RTL包含一個單獨的處理指令,這意味着2個不同的用於天線室的偏好文件,並且我必須將一個簡單的程序(以其默認首選項啓動天線室)更改爲包含條件邏輯的程序。 – Hobbes

+0

如果你的程序允許AH格式化程序的項目前設置選項設置文件,那麼你可以使用一個指定'reverse-page =「true」(http://www.antennahouse.com/product/ahf60/docs/ahf -optset.html#reverse-page)爲您的RTL項目指定一個不適用於其他項目的項目。命令行參數將相同,但選項設置文件的內容將不同。 –

相關問題