自前の日本語コンテンツをPDF化する.

先程のエントリで,PDFはできた.しかし####の嵐だった.これでは日本人にとっては使えない.


しかし,苦労してここまで来たのだ.諦めがつくものか.
DITAでは,PDFを作る前に,FOという形式に一旦落とす.こうすることで,バックエンドプロセッサを自由に選べるようになる*1
今回一連の手順で使っているのはApache FOPというプロセッサで,これは,オープンソース界隈では幅広く使われていて,日本人のユーザも多い.


だから,####の嵐になる理由は,ぐーぐる先生に聞けばすぐに答えてくれる.答えだけ言ってしまえば,フォントの問題.英文フォントが選択されていると,当然,アルファベット以外は表現のしようがない.

out/test.fo を覗いてみる.

         <fo:block text-align="left" font-size="10pt" font-family="Helvetica" break-before="page">
            <fo:block>
               <fo:block break-before="page" margin-top="0pc" margin-bottom="1.4pc" font-size="16pt" font-weight="bold" padding-top="1.4pc">
                  <fo:block border-top-color="black" border-top-width="3pt" line-height="100%" border-left-width="0pt" border-right-width="0pt">
                     <fo:inline id="d1e3_a0"/>テストなの</fo:block>

font-family="Helvetica" ってのが癌.同様の表記は山ほどある.ここを,日本語の表現に適切なフォントに書き換える.FOP側にもフォントメトリクスを教えてあげるなど作業が要るのだけれど,本エントリでは割愛.
ちょっと触れておくと,FOPは 0.1x と 0.2x と 0.9x とで必要な作業が微妙に違う.一連の作業でインストールした場合の DITA が使う FOPは 0.20系.FOPユーザ数が多く*2,設定を説明しているサイトも多く,しかしその対象バージョンはバラバラという状態なので,注意しながら情報を集める必要がある.

さらに深く見てみる.

(後で書く)

*1:TeX時代のdviファイルみたいな…って,もうTeXを知っているのは少数派かも.

*2:全然といってよいほど日本語情報がないDITAに比べれば,助かるのではあるけれども.