HOWTO: Apache Forrest + Japanese (PDF rendering)

Feedbacks welcome. (tetsuya at apache dot org)

0. Download Apache Forrest 🙂

blah-blah … (run “forrest seed” whereever you want: /$PATH/$TO/ — edit/create xdocs/***.xml in japanese … etc. etc.)

1. Download Free Japanese Fonts (“Sazanami Fonts” might be the best).
http://www.terra-intl.com/fonts/sazanami-gothic.ttf (1)
http://www.terra-intl.com/fonts/sazanami-mincho.ttf (2)

2. Create Font-Metric Files (XML)
% java -cp $FORREST_HOME/lib/core/fop-0.20.5.jar org.apache.fop.fonts.apps.TTFReader /$PATH/$TO/sazanami-gothic.ttf /$PATH/$TO/sazanami-gothic.xml
% java -cp $FORREST_HOME/lib/core/fop-0.20.5.jar org.apache.fop.fonts.apps.TTFReader /$PATH/$TO/sazanami-mincho.ttf /$PATH/$TO/sazanami-mincho.xml
Note: You can download and use sazanami-gothic.xml and sazanami-mincho.xml if you use (1) and (2) above. If you download other font files or use Windows default fonts (MS-Mincho/MS-Gothic), you should create font-metric files equivalent for them by yourself.

3. Create new “userconfig.xml” file — e.g. /$PATH/$TO/font/userconfig.xml

<configuration>
<fonts>
<font metrics-file=”/$PATH/$TO/sazanami-gothic.xml” embed-file=”/$PATH/$TO/sazanami-gothic.ttf” kerning=”yes”>
<font-triplet name=”Gothic” style=”normal” weight=”normal”/>
<font-triplet name=”Gothic” style=”normal” weight=”bold”/>
<font-triplet name=”Gothic” style=”italic” weight=”normal”/>
<font-triplet name=”Gothic” style=”italic” weight=”bold”/>
</font>
<font metrics-file=”/$PATH/$TO/sazanami-mincho.xml” embed-file=”/$PATH/$TO/sazanami-mincho.ttf” kerning=”yes”>
<font-triplet name=”Mincho” style=”normal” weight=”normal”/>
<font-triplet name=”Mincho” style=”normal” weight=”bold”/>
<font-triplet name=”Mincho” style=”italic” weight=”normal”/>
<font-triplet name=”Mincho” style=”italic” weight=”bold”/>
</font>
</fonts>
</configuration>

4. Edit /$PATH/$TO/resources/conf/sitemap.xmap (“fo2pdf” section)
<map:serializer name=”fo2pdf” src=”org.apache.cocoon.serialization.FOPSerializer” mime-type=”application/pdf”>
<user-config src=”/$PATH/$TO/font/userconfig.xml”/>
</map:serializer>

Note: Apache Forrest 0.7 provides PLUGIN functionality, so perhaps you should do above for these 2 files
$FORREST_HOME/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap
$FORREST_HOME/plugins/org.apache.forrest.plugin.output.pdf/output.xmap

5. Change “Skin” config— edit $FORREST_HOME/main/webapp/skins/common/xslt/fo/document2fo.xsl
REPLACE: font-family=”serif” -> font-family=”Gothic”
REPLACE: font-family=”sans-serif” -> font-family=”Mincho”
REPLACE: <fo:root xmlns:fo=”http://www.w3.org/1999/XSL/Format”&gt; into <fo:root xmlns:fo=”http://www.w3.org/1999/XSL/Format&#8221; language=”ja”>

6. Yell out! “Run Forrest! Run!” with girlish voice — 🙂
% cd /$PATH/$TO/
% forrest site

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中