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のインストールから、日本語を表示するための設定の変更までについて説明する。
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="fi fl"> <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="ff fi fl ffi ffl"> <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%