日本語変換に挑戦してみよう!

実際にDITA-OTを使って、日本語変換に挑戦してみましょう。(2012年12月19日公開)

日本語変換する前に

前回は、DITA-OT(Open Toolkit)をインストールし、DITA-OT1.7.4.M4付属のサンプルを使って、PDF、XHTML、TOCJS(XHTML+JavaScrip)、HTMLHELPに変換しました。

今回は、日本語変換に挑戦です。

DITAはグローバル対応を考慮した作りになっていますし、DITA-OTによる変換もグローバル対応になっています・・・が、実際に日本語変換してみると、オリジナルのままではうまく変換されません。。。 日本語変換をうまくするには、少しDITA-OTをいじる必要があります。

まずは・・・前回のサンプルDITAファイルを日本語化して、どんな出力が出来るかを試してみましょう。 前回インストールしたDITA-OT1.7.M4を使います。

まず、実際に日本語変換してみる

DITA-OT1.7.M4パッケージ付属のサンプルの一部を日本語に書き替えてPDF変換してみましょう。
  1. サンプル(DITAファイル)の日本語化 日本語化したDITAファイルは次の3ファイルです。 オリジナルのDITAファイル名に「-j」を付加しています。  1219日本語samples.zip(翻訳はgoogle翻訳を元にしています。)
    C:\DITA-OT1.7.M4\samples\taskbook-j.ditamap
    taskbook.ditamapを翻訳したファイルがベースです。 ファイル内のトピックファイル名を次の日本語ファイル名に変更します。  installing.dita → installing-j.dita  installstorage.dita → installstorage-j.dita
    C:\DITA-OT1.7.M4\samples\taskbook\installing-j.dita
    installing.ditaを翻訳したファイルがベースです。
    C:\DITA-OT1.7.M4\samples\taskbook\installstorage-j.dita
    installstorage.ditaを翻訳したファイルがベースです。
  2. 前回同様にJAVAでPDF変換してみます。 C:\DITA-OT1.7.M4\startcmd.batファイルをダブルクリックします。 次のように打ってください。
    java -jar lib/dost.jar /i:C:\DITA-OT1.7.M4\samples\taskbook-j.ditamap /transtype:pdf /outdir:out\pdf
  3. 最後の方で、次のメッセージが出れば、うまくPDF変換が出来ています。
    BUILD SUCCESSFUL
    Number of Fatals : 0
    Number of Errors : 0
    Number of Warnings : 0
    注)皆さんが作ったファイルでPDFが出来ず、「BUILD FAILED」のメッセージが表示されていたら、作ったファイルの文字コードが「UTF-8」かどうかを確認してください。 DITA-OTはグローバル対応が基本のため、スタイルシートを始めDITAソースも「UTF-8」が基本です。 知らないうちに、「shift-jis」で記述したりしていませんか? 日本語を記述する場合は、必ず「UTF-8」で開いているか確認してください。
  4. C:\DITA-OT1.7.M4\out\pdfフォルダ内のtaskbook-j.pdfを開いてください。 ブックマークの[装着]ページ、その下の階層の[ハードドライブまたは他のストレージをインストール]ページをクリックすると、日本語が「####」になっています。 これは、指定されている日本語フォントがないためです。 (オリジナルのDITA-OTでは、アドビさんの日本語書体を何故だか指定しています。) taskbook-j日本語フォント無.pdf

使っている日本語フォントを指定して、変換してみる

さあ、使っている日本語フォントを指定するために、DITA-OTをいじりますよ。。。 修正すべきファイルは次の2ファイルです。
  1. C:\DITA-OT1.7.M4\plugins\org.dita.pdf2\cfg\fo\font-mappings.xml
    もとのfont-mappings.xmlファイルは、font-mappings_org.xmlとかにリネームして保管してください。  <font -face>KozMinProVI-Regular</font>と書かれた3箇所を次のように修正します。  62行目  <font -face>MS PGothic</font>  88行目  <font -face>MS PMincho</font>  114行目 <font -face>MS Gothic</font>

    注)指定する日本語フォントは、皆さんの環境にあるフォントにしてしてください。

    もし、日本語フォントが無ければ、独立行政法人情報処理推進機構が提供するオープンソースのIPAフォントなどを使うこともできます。  http://ossipedia.ipa.go.jp/ipafont/index.html DL後、フォントが通常置かれるフォントフォルダにインストールすれば、自動的に検出されます。
  2. C:\DITA-OT1.7.M4\lib\configuration.properties
    3行目 default.language = enをdefault.language = jaに修正します。 ここで各DITAファイルのデフォルト言語を指定しています。
  3. 再度、PDF変換してみます。 開いたままのコマンドプロンプト画面で、次のように打ってください。
    java -jar lib/dost.jar /i:C:\DITA-OT1.7.M4\samples\taskbook-j.ditamap /transtype:pdf /outdir:out\pdf
  4. C:\DITA-OT1.7.M4\out\pdfフォルダ内のtaskbook-j.pdfを開いてください。 ブックマークの[装着]ページ、その下の階層の[ハードドライブまたは他のストレージをインストール]ページをクリックして、日本語がうまく表示されるようになっていれば完成です。  taskbook-j日本語フォント有.pdf 注)「BUILD SUCCESSFUL」のメッセージが表示されたのに、4項で変換されたPDFと同じ結果になるという場合は、まず、変換前に前のPDFであるtaskbook-j.pdfファイルを閉じていたか確認してください。 DITA-OTでは、上書きするPDFファイルが開いていても、PDF変換が正常終了と判断されてしまいます。 C:\DITA-OT1.7.M4\out\pdf\taskbook-j_pdf.logファイルを見ると、最後の方で次のメッセージが出ています。
    [fop] Caused by: java.io.FileNotFoundException: C:\DITA-OT1.7.M4\out\pdf\taskbook-j.pdf (プロセスはファイルにアクセスできません。別のプロセスが使用中です。)
    taskbook-j.pdfファイルを閉じているのに変換がうまく行かない場合は、taskbook-j_pdf.logファイルをよく見てみてください。 フォントが見つからないなどの、何らかのメッセージが残されていると思います。 ヘルプが必要な場合は、是非お問い合わせください。
  5. 次に他の変換も行ってみましょう。
    • XHTML変換
      java -jar lib/dost.jar /i:C:\DITA-OT1.7.M4\samples\taskbook-j.ditamap /transtype:xhtml /outdir:out\xhtml-j
      C:\DITA-OT1.7.M4\out\xhtml-jフォルダ内のindex.htmlファイルを始めに開いてみてください。
    • XHTML+JavaScript変換
      java -jar lib/dost.jar /i:C:\DITA-OT1.7.M4\samples\taskbook-j.ditamap /transtype:tocjs /outdir:out\tocjs-j
      C:\DITA-OT1.7.M4\out\tocjs-jフォルダ内のtaskbook.htmlファイルを開いてみてください。 うまく行きましたか? XHTML変換、XHTML+JavaScript変換ともに、UTF-8で出力されるため、DITA-OTをいじらなくても文字化けしません。 Microsoftヘルプワークショップをインストールしていれば、次の変換もしてみてください。
    • HTMLHELP変換
      java -jar lib/dost.jar /i:C:\DITA-OT1.7.M4\samples\taskbook-j.ditamap /transtype:htmlhelp /outdir:out\htmlhelp-j
      C:\DITA-OT1.7.M4\out\htmlhelp-jフォルダ内のtaskbook.chmファイルを開いてみてください。 これは・・・文字化けしていますね。 C:\DITA-OT1.7.M4\samples\taskbook-j.ditamapファイル内のbookmapタグにxml:lang属性を追加します。  <bookmap id="taskbook"> → <bookmap id="taskbook" xml:lang="ja-jp"> 再度、HTMLHELP変換してみてください。 今度は、うまく日本語が表示されていると思います。

いかがでしょうか?

C:\DITA-OT1.7.M4\out\xhtml-j/tocjs-j/htmlhelp-jの各フォルダに変換出力が出来ているでしょうか。

 1219出力サンプル.zip

次回は、DITAソースを新規に書いてみます。

ご意見・ご質問等があれば、お気軽にお尋ねください。

関連トピック

Powered by x-magic

© 2014 まじかるテクノロジー有限会社 All Rights Reserved. / Transformed by x-magic plugin for DITA Open Toolkit at 2015-04-25T13:35:33.41+09:00