macでGanttProjectのPDF文字化け(FOP)を修正する

2016/07/13 追記:

2.7.2とEl Capitanなら設定だけで文字化け回避できました。

bhind.hatenablog.com

GanttProjectって何年間使ってんだろってくらいつかってますが、
思えばOS X環境では初めてだったのでメモ。
「ganttproject pdf 文字化け」とサジェられるくらい昔っからの問題なのですが、いまだに対応されてない

けど、こんなベストプラクティスが。

GanttProjectのPDF出力で日本語文字化け - 間違いだらけの備忘録

本日はそれのmac版が検索してもなかったということで。

IPAフォントのページからttfファイルをダウンロードしてくる。4書体パックでよいかと。

解凍し、[Application]-[Font Book]を起動して、window下部の+から解凍したファイルを追加。(GanttProject以外で使う必要がなければこの作業は不要です)

GanttProjectの下記ディレクトリに移動(Mavericks/GanttProject 2.6.6)
$ cd /Applications/GanttProject\ 2.6.6.app/Contents/Resources/Java/plugins/org.ganttproject.impex.htmlpdf/lib/
作業ディレクトリ作成
$ mkdir font-metrics
font metrics作成(Font Bookでインストールしてない場合は解凍した場所を指定のこと)
$ java -cp fop.jar org.apache.fop.fonts.apps.TTFReader ~/Library/Fonts/ipag.ttf font-metrics/ipag.ttf.xml
font metricsをfop-font-metrics.jarに追加(文字化けしても焦らないこと)
$ jar uvf fop-font-metrics.jar font-metrics
試してないけど文字化けしないようにするには-J-Dfile.encoding=UTF-8かな?
jreにfontsをコピー(Font Bookで(ry)
$ sudo cp ~/Library/Fonts/* /Library/Java/Home/lib/fonts/
あとはxslファイルの更新だけど、なんかxslファイルがたくさんあるので
$ cd /Applications/GanttProject\ 2.6.6.app/Contents/Resources/Java/plugins/org.ganttproject.impex.htmlpdf/resource/pdf-export-themes/
に移動して
$ grep sans-serif ./* -R
に引っかかったファイルについて
<xsl:variable name="font" select="'sans-serif'"/>

<xsl:variable name="font" select="'IPAGothic'"/>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="ja">
にした。
で、あとはGanttProjectの[プロジェクト]-[エクスポート]から[PDFレポート]のPDFのテーマに(FOP)のものを選べばいいと思うよ。(iTextは知りません)

ちなみに、右上だかのheaderにでてくるプロジェクト名は文字化けしてます。たしか、昔これを修正しようとソースコードに手を入れた記憶がありますが、今はそこまでやる気が無いのでプロジェクト名を英訳しました。

 

以上です。