2015-11-21 1 views
0

В большинстве языков книги сделаны со связыванием на левой стороне. Страница обложки - это правая страница, а разметка страницы состоит из страницы с четным номером слева и страницы с нечетным номером справа. Когда вы читаете книгу по порядку, вы переворачиваете страницы влево.Порядок страниц для языков справа налево (арабский, иврит)

В языках справа налево (RTL) это обратное: книги сделаны со связыванием с правой стороны. Страница обложки - это левая страница, а разметка страницы состоит из страницы с четным номером справа и страницы с нечетным номером слева. Когда вы читаете книгу по порядку, вы переворачиваете страницы вправо.

Я создал шаблон FO, который будет использоваться для нескольких языков. Я использовал свойство write-mode для поддержки языков RTL.

Согласно этому RenderX tutorial:

письменности режим собственности определяет все аспекты организации документа: переплет, порядок столбцов в таблицах, выравнивание текста в блоках и т.д.

Но я что это не совсем верно для Antennahouse (6.1). Выравнивание текста и упорядочение столбцов работают корректно, но край привязки не реализован полностью. Порядок страниц по-прежнему LTR.

Я хочу напечатать книгу в правильном порядке страниц для RTL языков:

  1. связывание должно быть справа
  2. первая страница PDF должна быть последней странице книги

Требование 2. есть, поэтому я могу напечатать многоязычную книгу с языками LTR спереди и языки RTL на задней панели.

Теперь я мог бы создать новый макет-мастер-набор для языков RTL, чтобы получить привязку с правой стороны. После создания PDF я могу изменить порядок страниц PDF в Acrobat.

Но есть ли способ указать правильный порядок страниц в 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 разных файла предпочтений для Antennahouse, и мне придется изменить простой процесс (запустите Antennahouse с настройками по умолчанию) для процесса, который включает условную логику. – Hobbes

+0

Если ваш процесс разрешил предварительно заданный файл настроек параметров для AH Formatter, вы можете использовать тот, который указывает «обратная страница =« истина »(http://www.antennahouse.com/product/ahf60/docs/ahf -optset.html # обратная страница) для вашего проекта RTL и укажите тот, который не подходит для ваших других проектов. Параметры командной строки будут одинаковыми, но содержимое файлов настроек параметров будет отличаться. –

 Смежные вопросы

  • Нет связанных вопросов^_^