Библиотека сайта rus-linux.net
Другие форматы этого документа
Данная глава не является переводом соответствующей главы оригинального документа, с разрешения Al Dev (Alavoor Vasudevan), она переписана для учета особенностей переведенного документа.
Оригинальный документ распространяется в 14 различных форматах - DVI, Postscript, Latex, Adobe Acrobat PDF, LyX, GNU-info, HTML, RTF(Rich Text Format), обычный текст, Unix man page, отдельный HTML файл, SGML (Linuxdoc format), SGML (Docbook format), MS WinHelp. Переведенный документ доступен в форматах - DocBook XML, HTML и PDF.
Оригинал документа находится на -
http://www.linuxdoc.org, затем нажмите на HOWTO и найдите его по имени, используя CTRL+f или ALT+f функцию web-броузера.
Домашняя страница перевода http://mvd.h1.ru/tr/
Переведенный документ написан в формате DocBook XML.
Перевод документа в html формат выполнен с помощью утилиты xsltproc входящей в пакет libxslt. Пакет libxslt можно взять на http://xmlsoft.org. Также потребуются Docbook DTD с http://www.oasis-open.org/docbook/. и Docbook XSL с http://docbook.sourceforge.net/projects/xsl/.
Преобразование в HTML формат выполняется следующим образом:
- Создается файл docbook_ru_html.xsl содержащий следующие строки
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0' xmlns="http://www.w3.org/TR/xhtml1/transitional" exclude-result-prefixes="#default"> <xsl:import href="/usr/share/xml/docbook/xsl-stylesheets/html/docbook.xsl"/> <xsl:variable name="toc.section.depth">3</xsl:variable> <xsl:output method="html" encoding="KOI8-R" indent="no"/> </xsl:stylesheet>
- Выполняется команда
xsltproc -o Diskless-HOWTO.html docbook_ru_html.xsl Diskless-HOWTO.xml
Формат Acrobat PDF
Формат Acrobat PDF можно получить следующим образом:
- Создается файл docbook_ru_fo.xsl содержащий следующие строки
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0' xmlns="http://www.w3.org/TR/xhtml1/transitional" exclude-result-prefixes="#default"> <xsl:import href="/usr/share/xml/docbook/xsl-stylesheets/fo/docbook.xsl"/> <xsl:param name="paper.type" select="'A4'"/> <xsl:param name="body.font.family">TimesNewRoman</xsl:param> <xsl:param name="title.font.family">Arial</xsl:param> <xsl:param name="monospace.font.family">CourierNew</xsl:param> <xsl:param name="sans.font.family">Arial</xsl:param> <xsl:param name="dingbat.font.family">TimesNewRoman</xsl:param> <xsl:param name="body.font.master">8</xsl:param> </xsl:stylesheet>
- выполняется команда
в результате получается файл в формате fo, который далее можно обрабатывать программой преобразования форматированных объектов в pdf формат. Одна из таких программ fop доступна на http://xml.apache.org/fop/. Так как fop написана на java, вам понадобится среда запуска java программ, ее можно взять на сайте Sun http://java.sun.com/j2se/.xsltproc -o Diskless-HOWTO.fo docbook_ru_fo.xsl Diskless-HOWTO.xml
Заметка: Если вы возьмете Docbook XSL версии выше 1.45, то в получившемся файле Diskless-HOWTO.fo вам следует заменить выражение
master-references=
наmaster-name=
, так как fop (по крайней мере, версии 0.20.2RC) не понимает данной нотации из XSL 1.0 C fop не поставляются шрифты, содержащие кириллические символы, поэтому для создания документов с внедренными кириллическими шрифтами вам потребуется выполнить дополнительную настройку fop. Последующие действия предполагают размещение пакета fop в каталоге
/usr/local/fop
Возьмите ttf шрифты содержащие кириллические символы, например, подойдут шрифты Arial, CourierNew, TimesNewRoman.
- Создайте к выбранным шрифтам метрики в XML формате. Метрики будем сохранять в каталоге
/usr/local/fop/metrics
. Перед выполнением последующего шага нужно установить значение переменной окружения CLASSPATH, например для bash:
Для каждого из файлов шрифтовexport CLASSPATH=/usr/local/fop/build/fop.jar:/usr/local/fop/lib/xerces.jar:\ /usr/local/fop/lib/xalan.jar:/uar/local/fop/lib/batik.jar
arial.ttf
,arialbd.ttf
,ariali.ttf
,arialbi.ttf
,cour.ttf
,courbd.ttf
,couri.ttf
,courbi.ttf
,times.ttf
,timesbd.ttf
,timesi.ttf
,timesbd.ttf
, выполните командуjava org.apache.fop.fonts.apps.TTFReader <путь к файлу шрифта> /usr/local/fop/metrics/<имя шрифта>.xml
- Теперь необходимо откорректировать файл
/usr/local/fop/conf/userconfig.xml
. Его секция fonts должна выглядеть так:<fonts> <!-- TTF fonts --> <!-- Arial --> <font metrics-file="/usr/local/Fop/metrics/arial.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/arial.ttf"> <font-triplet name="Arial" style="normal" weight="normal"/> </font> <font metrics-file="/usr/local/Fop/metrics/arialbd.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/arialbd.ttf"> <font-triplet name="Arial" style="normal" weight="bold"/> </font> <font metrics-file="/usr/local/Fop/metrics/ariali.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/ariali.ttf"> <font-triplet name="Arial" style="italic" weight="normal"/> </font> <font metrics-file="/usr/local/Fop/metrics/arialbi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/arialbi.ttf"> <font-triplet name="Arial" style="italic" weight="bold"/> </font> <!-- TimesNewRoman --> <font metrics-file="/usr/local/Fop/metrics/times.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/times.ttf"> <font-triplet name="TimesNewRoman" style="normal" weight="normal"/> </font> <font metrics-file="/usr/local/Fop/metrics/timesbd.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/timesbd.ttf"> <font-triplet name="TimesNewRoman" style="normal" weight="bold"/> </font> <font metrics-file="/usr/local/Fop/metrics/timesi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/timesi.ttf"> <font-triplet name="TimesNewRoman" style="italic" weight="normal"/> </font> <font metrics-file="/usr/local/Fop/metrics/timesbi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/timesbi.ttf"> <font-triplet name="TimesNewRoman" style="italic" weight="bold"/> </font> <!-- CourierNew --> <font metrics-file="/usr/local/Fop/metrics/cour.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/cour.ttf"> <font-triplet name="CourierNew" style="normal" weight="normal"/> </font> <font metrics-file="/usr/local/Fop/metrics/courbd.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/courbd.ttf"> <font-triplet name="CourierNew" style="normal" weight="bold"/> </font> <font metrics-file="/usr/local/Fop/metrics/couri.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/couri.ttf"> <font-triplet name="CourierNew" style="italic" weight="normal"/> </font> <font metrics-file="/usr/local/Fop/metrics/courbi.xml" kerning="yes" embed-file="<путь к каталогу со шрифтами>/courbi.ttf"> <font-triplet name="CourierNew" style="italic" weight="bold"/> </font> </fonts>
- И последний шаг, нужно дать команду:
/usr/local/fop/fop.sh -c /usr/local/fop/conf/userconfig.xml -fo Diskless-HOWTO.fo -pdf Diskless-HOWTO.pdf
Заметка: Созданный таким способом pdf успешно просматривается программами Acrobat Reader и gv, но его нельзя просмотреть программой xpdf. Если вы знаете, каким образом сделать возможным просмотр в программе xpdf сообщите мне, пожалуйста, по адресу mvd@altlinux.ru. У меня не получилось успешно внедрять pfb шрифты, все кириллические символы в pdf документе заменялись символом '#'. Если вы знаете способ решения этой проблемы, сообщите мне по тому же адресу.