Данная глава не является переводом соответствующей главы оригинального документа, с разрешения 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 можно получить следующим образом:
Создается файл 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>
|
выполняется команда
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 |
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 документе заменялись символом '#'. Если вы знаете способ решения этой проблемы, сообщите мне по тому же адресу.