DITA-OT1.4.2.1 FOプラグインを日本語化する

DITA Open Toolkit(DITA-OT) 1.4.2.1には、FO pluginと呼ばれるIdiom社がDITAコミュニティーへ寄贈したPDF出力のためのプラグインがある。このプラグインを使ってPDFを出力するには、DITA-OTの出力タイプとしてpdf2を指定する。FO pluginはそのままでは日本語の表示ができない。日本語を表示するには、Antパラメータの設定や日本語フォントの指定が必要である。以下では、FO pluginのインストールから、日本語を表示するための設定の変更までについて説明する。

前提条件

  • JREまたはJDK Ver 1.5以降のインストールが完了していること。
  • DITA-OT1.4.2.1のインストールが完了していること。

FO pluginのセットアップ

  • SOURCEFORGE.NETから、FO 1.4.2のインストール・ファイル(fo-1.4.2jdk1.5.zip)をダウンロードする。
  • fo-1.4.2jdk1.5.zipを解凍する。
  • zipファイルを解凍してできたfoフォルダを %DITA-OT%demo の下に移動する。以降の各種ソフトウェアのインストール手順は、%DITA-OT%\demo\fo\README.txt の中に書かれている。

RenderX XEPのインストール

  • 以下のURLから、RenderX personal edition(無料)を入手する。
  • 上記ページの"Personal License Download"の、Name, Organization, Emailの各テキスト・ボックスに必要事項を入力し、[Submit]ボタンをクリックする。
  • "Download instructions: RenderX XEP v4 Trial Software"というタイトルのメールが送られてくる。このメールには、"license.xml"というファイルが添付されている。
  • "license.xml"を、%DITA%demo\fo\lib\xep フォルダの下に保存する。
  • メール本文の書かれているURLにアクセスし、"Select your license key"のテキスト・ボックスの右横にある[参照...]ボタンをクリックし、先に保存したlicense.xmlファイルを選択する。
  • [Update]ボタンをクリックすると、Webブラウザの別ウィンドウにインストール・ファイル(xep-4.14-20081212-personal.zip)のリンクが表示されるので、そのリンクをクリックしてzipファイルをダウンロードする。
  • ダウンロードしたzipファイルを解凍すると、以下のファイルができる。
    • LICENSE-PERSONAL.TXT
    • readme.txt
    • xep-4.14-20081212-personal.zip
  • readme.txt に書かれているインストール手順に従って、コマンド・プロンプトから以下のコマンドを実行する。
java -jar setup-4.14-20081212-personal.jar
  • RenderX license agreementのダイアログ・ボックスが表示されたら、ライセンス条項を読み[Yes, I accept]ボタンをクリックする。
  • RenderX XEP setupのダイアログ・ボックスが表示されたら、2つのテキスト・ボックスにそれぞれ以下のパスを入力し、[Install]ボタンをクリックする。
    • Install XEP to the directory: %DITA-OT%demo\fo\lib\xep
    • License file: %DITA-OT%demo\fo\lib\xep\license.xml
  • "Installation successful"のメッセージが表示されたら、[Finish]ボタンをクリックする。

Saxon Version 6.5.5のインストール

  • 以下のURLから、Saxon Version 6.5.5 のインストール・ファイル(saxon6-5-5.zip)をダウンロードする。
  • ダウンロードしたzipファイルを解凍し、できたフォルダを適当な場所(例えば、C:\tools\saxon6-5-5)に移動する。
  • 上記フォルダの中の saxon.jar を、%DITA-OT%demo\fo\lib\xep\lib にコピーする(既存のsaxon.jarを上書きする)。

ICU4Jのインストール

  • 以下のURLから、ICU4Jのバイナリ・ファイル(icu4j-4_0_1.jar)をダウンロードする。
  • icu4j-4_0_1.jar を、C:\DITA-OT1.4.2.1\demo\fo\lib に移動し、ファイル名を icu4j.jar に変更する。
  • %DITA-OT%startcmd.bat をダブル・クリックしてコマンド・プロンプトを開き、以下のコマンドを実行する。
ant -f integrator.xml

以上でセットアップ終了。
このプラグインを呼び出すには、以下のようにDITA-OTを実行する。

java -jar lib/dost.jar /i:doc/DITA-readme.ditamap /transtype:pdf2

日本語が出るようにするための設定

  • %DITA-OT%demo\fo\build.xml の中で、document.locale というプロパティを設定しているので、この値を ja_JP に変える。このことについては、DITA Open Toolkit User Guideの"Localizing in PDF2 output target"に書いてある。このlocaleに指定により、自動生成文字や索引の出来方も日本語仕様になる。
  • %DITA-OT%demo\fo\lib\xep\xep.xml定義の箇所の、TrueType fontsの定義のコメント・アウトを解除し、以下のように MSGothic と MSMincho の定義を追加する。
  :
<!-- Sample configuration for Windows TrueType fonts.  -->

<font-group xml:base="file:/C:/Windows/Fonts/" label="Windows TrueType" embed="true" subset="true">
  <font-family name="Arial">
    <font><font-data ttf="arial.ttf"/></font>
    <font style="oblique"><font-data ttf="ariali.ttf"/></font>
    <font weight="bold"><font-data ttf="arialbd.ttf"/></font>
    <font weight="bold" style="oblique"><font-data ttf="arialbi.ttf"/></font>
  </font-family>

  <font-family name="Times New Roman" ligatures="&#xFB01; &#xFB02;">
    <font><font-data ttf="times.ttf"/></font>
    <font style="italic"><font-data ttf="timesi.ttf"/></font>
    <font weight="bold"><font-data ttf="timesbd.ttf"/></font>
    <font weight="bold" style="italic"><font-data ttf="timesbi.ttf"/></font>
  </font-family>

  <font-family name="Courier New">
    <font><font-data ttf="cour.ttf"/></font>
    <font style="oblique"><font-data ttf="couri.ttf"/></font>
    <font weight="bold"><font-data ttf="courbd.ttf"/></font>
    <font weight="bold" style="oblique"><font-data ttf="courbi.ttf"/></font>
  </font-family>

  <font-family name="Tahoma" embed="true">
    <font><font-data ttf="tahoma.ttf"/></font>
    <font weight="bold"><font-data ttf="tahomabd.ttf"/></font>
  </font-family>

  <font-family name="Verdana" embed="true">
    <font><font-data ttf="verdana.ttf"/></font>
    <font style="oblique"><font-data ttf="verdanai.ttf"/></font>
    <font weight="bold"><font-data ttf="verdanab.ttf"/></font>
    <font weight="bold" style="oblique"><font-data ttf="verdanaz.ttf"/></font>
  </font-family>

  <font-family name="Palatino" embed="true" ligatures="&#xFB00; &#xFB01; &#xFB02; &#xFB03; &#xFB04;">
    <font><font-data ttf="pala.ttf"/></font>
    <font style="italic"><font-data ttf="palai.ttf"/></font>
    <font weight="bold"><font-data ttf="palab.ttf"/></font>
    <font weight="bold" style="italic"><font-data ttf="palabi.ttf"/></font>
  </font-family>

<!-- Begin Japanese -->
  <font-family name="MSGothic">
    <font><font-data ttf="msgothic.ttc"/></font>
    <font style="oblique"><font-data ttf="msgothic.ttc"/></font>
    <font weight="bold"><font-data ttf="msgothic.ttc"/></font>
    <font weight="bold" style="oblique"><font-data ttf="msgothic.ttc"/></font>
  </font-family>

  <font-family name="MSMincho">
    <font><font-data ttf="msmincho.ttc"/></font>
    <font style="oblique"><font-data ttf="msmincho.ttc"/></font>
    <font weight="bold"><font-data ttf="msmincho.ttc"/></font>
    <font weight="bold" style="oblique"><font-data ttf="msmincho.ttc"/></font>
   </font-family>
  <!-- End Japanese -->
</span>
</font-group>
  :
  • フォント・マッピングをカスタマイズするために、%DITA-OT%demo\fo\cfg\fo\font-mappings.xml を %DITA-OT%demo\fo\Customization\fo の下にコピーする。
  • %DITA-OT%demo\fo\Customization\fo\font-mappings.xml を編集し、日本語フォントの指定箇所を以下のとおり変更する。
<font-mappings>

        <font-table>

                <aliases>
                        <alias name="Helvetica">Normal</alias>
                </aliases>
                <aliases>
                        <alias name="Courier">Monospaced</alias>
                </aliases>

                <logical-font name="Sans">
                        <physical-font char-set="default">
                                <font-face>Helvetica</font-face>
                        </physical-font>
                        <physical-font char-set="Simplified Chinese">
                                <font-face>AdobeSongStd-Light</font-face>
                        </physical-font>
                        <physical-font char-set="Japanese">
                                <!--font-face>KozMinProVI-Regular</font-face-->
                                <font-face>MSGothic</font-face>
                        </physical-font>
                        <physical-font char-set="Korean">
                                <font-face>AdobeMyungjoStd-Medium</font-face>
                        </physical-font>
                        <physical-font char-set="Symbols">
                                <font-face>ZapfDingbats</font-face>
                        </physical-font>
                        <physical-font char-set="SubmenuSymbol">
                                <font-face>ZapfDingbats</font-face>
                        </physical-font>
                        <physical-font char-set="SymbolsSuperscript">
                                <font-face>Helvetica</font-face>
                                <baseline-shift>20%</baseline-shift>
                                <override-size>smaller</override-size>
                        </physical-font>
                </logical-font>

                <logical-font name="Serif">
                        <physical-font char-set="default">
                                <font-face>Times</font-face>
                        </physical-font>
                        <physical-font char-set="Simplified Chinese">
                                <font-face>AdobeSongStd-Light</font-face>
                        </physical-font>
                        <physical-font char-set="Japanese">
                                <!--font-face>KozMinProVI-Regular</font-face-->
                                <font-face>MSMincho</font-face>
                        </physical-font>
                        <physical-font char-set="Korean">
                                <font-face>AdobeMyungjoStd-Medium</font-face>
                        </physical-font>
                        <physical-font char-set="Symbols">
                                <font-face>ZapfDingbats</font-face>
                        </physical-font>
                        <physical-font char-set="SubmenuSymbol">
                                <font-face>ZapfDingbats</font-face>
                        </physical-font>
                        <physical-font char-set="SymbolsSuperscript">
                                <font-face>Times</font-face>
                                <baseline-shift>20%</baseline-shift>
                                <override-size>smaller</override-size>
                        </physical-font>
                </logical-font>

                <logical-font name="Monospaced">
                        <physical-font char-set="default">
                                <font-face>Courier</font-face>
                        </physical-font>
                        <physical-font char-set="Simplified Chinese">
                                <font-face>AdobeSongStd-Light</font-face>
                        </physical-font>
                        <physical-font char-set="Japanese">
                                <!--font-face>KozMinProVI-Regular</font-face-->
                                <font-face>MSGothic</font-face>
                        </physical-font>
                        <physical-font char-set="Korean">
                                <font-face>AdobeMyungjoStd-Medium</font-face>
                        </physical-font>
                        <physical-font char-set="Symbols">
                                <font-face>ZapfDingbats</font-face>
                        </physical-font>
                        <physical-font char-set="SymbolsSuperscript">
                                <font-face>Courier</font-face>
                                <baseline-shift>20%</baseline-shift>
                                <override-size>smaller</override-size>
                        </physical-font>
                </logical-font>
        </font-table>

</font-mappings>
  • font-mappings.xml のカスタマイズを有効にするために、%DITA-OT%demo\fo\Customization\catalog.xml を修正する。catalog.xml.orig をコピーして catalog.xml を作り、FontMapperのコメントを解除する。
<!-- FontMapper configuration override entry.-->
<uri name="cfg:fo/font-mappings.xml" uri="fo/font-mappings.xml"/>
  • xalan.jar より前に saxon.jar が見つかるように、startcmd.bat の中のCLASSPATHの設定を変更する。
set CLASSPATH=%DITA_DIR%lib;%DITA_DIR%lib\dost.jar;%DITA_DIR%lib\resolver.jar;%DITA_DIR%lib\fop.jar;%DITA_DIR%lib\avalon-framework-cvs-20020806.jar;%DITA_DIR%lib\batik.jar;%DITA_DIR%demo\fo\lib\xep\lib\saxon.jar;%DITA_DIR%lib\xalan.jar;%DITA_DIR%lib\xercesImpl.jar;%DITA_DIR%lib\xml-apis.jar;%DITA_DIR%lib\icu4j.jar;%CLASSPATH%