Firebird 関連ドキュメントの日本語化
CVSの利用環境を準備する
Firebird のドキュメント・プロジェクトの最新のファイル群は、SourceForgeのリポジトリ中で firebird/manual 以下に配置されています。SourceForgeのCVSはご存じの通り、anonymousで接続すれば誰でもダウンロードすることが可能です。
Windowsからは、WinCVSを利用するのが手っ取り早いので、CVSNTの最新版をインストールするとWinCVSの最新版も一緒にインストールされるのでこれを使用するか、ちょっと古くなってしまったがWinCVSのごった煮版を使用すると後々日本語を扱う時に便利かもしれません。筆者の環境には両方入れてあるが、主にごった煮版を利用しています。
Linuxの場合には、各ディストリビューションにデフォルトでcvsが入っていると思いますので、何も考えずにシェルからcvsコマンドを利用してリポジトリに接続出来ます。(Linuxでcvs使っている人には釈迦に説法ですが・・・)
CvsGUI Home:WinCVSの本家
CVSNT Home:CVSNTの本家
WinCVSの解説ページ by Satoshi Ogata氏
wincvs120-sjis_gottani.20020227.exe
WinCVSのインストール方法などはOgata氏のページを参考にして下さい。以下、CVSが使用できる状態になっていることを前提として話しを進めます。
Firebird ProjectのCVSから最新のドキュメント環境を入手する
まず、Firebird ProjectのCVSリポジトリから必要なファイルを落とします。CVSでは、リポジトリの設定をして1回目はパスワードの入力を促されますが、Logoutしなければ次回からは.cvspassにパスワードが保存されるので入力の必要が無くなります。もっともanonymousでの接続なので、パスワードは空のままとなります。
SourceForge.net:CVS Firebirdのリポジトリへの接続方法
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/firebird login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/firebird co -P manual
WinCVSごった煮版の場合、環境設定で指定したHOMEフォルダ以下に、manualフォルダ以下のツリーがダウンロードされます。
manual以下のディレクトリには、ChangeLog, ReadMeの二つのファイルとlib, srcの二つのフォルダが配置されます。srcの下にはさらに、build, docsが配置され、docs以下にはドキュメントのソースコードとXML Docbookのスタイル関係のファイル等が配置されます。buildディレクトリにはbuild.bat, build.sh, build.xmlの三つのファイルだけが配置され、Windows環境では.batファイルを、Linux等では.shファイルを使用してドキュメントのビルドを行うようになっています。
ひとまず、何も考えずにデフォルトのままビルドをしてみましょう。java環境は必須なので、これもsunのサイトからjre(ライタイム版)またはsdk(開発版)を入れて下さい。環境変数java_homeを指定しないと使えませんので注意して下さい。
>build docs .... pdf: docs: BUILD SUCCESSFUL Total time: 1 minute 21 seconds >
ビルドスクリプトを実行すると、manualディレクトリ直下にbuild, distの二つのディレクトリが作成され、distディレクトリの下のpdfディレクトリにfirebirddocs.pdfが、htmlディレクトリにhtmlファイルが、monohtmlディレクトリにはプレーンなhtmlファイルが作成されます。ビルドスクリプトにオプションを付けずに実行すると使用法が表示されます。zipオプションを付けると、上記3つのファイルのアーカイブがzipディレクトリに作成されます。
fopの日本語環境を準備する
さて、上記の準備が整ったところで、今度は日本語ドキュメントを作成していくための環境整備をしなければなりません。CVSから落としたままのXMLファイルを書き換えて日本語を記述した場合、htmlファイルは日本語化されますがpdfファイルが文字化けしてしまいます。
そのため、以下の手順を踏む必要があります。
- 1. fop.jar を使って、font metrics ファイルを生成する
- 2. userconfig.xmlを編集して、日本語フォントを使用出来るようにする
- 3. manual\src\build\build.xml を編集してuserconfig.xmlを使用するようにする
- 4. manual\src\docs\xsl\fo\param.xsl を編集して、各font.familyで日本語フォントを使用するようにする
■font metrics ファイルの作成
まず、apache xmlgraphics Homeから、apache fop の最新版であるfop-0.20.5 を落として来ます。ソースはいらないので、バイナリだけで大丈夫です。
これを、manual\fop-0.20.5 に展開して、Windowsのフォント情報を取り込みます。以下のコマンドをmanual\fop-0.20.5ディレクトリで実行します。
>java -cp build\fop.jar;lib\xerces.jar;lib\xalan.jar;lib\batik.jar org.apache.fop.fonts.apps.TTFReader %systemroot%\Fonts\conf\msmincho.ttc TTF Reader v1.1.1 Reading C:\WINNT\Fonts\msmincho.ttc... This is a TrueType collection file with 2 fonts Containing the following fonts: MS Mincho MS PMincho java.lang.IllegalArgumentException: For TrueType collection you must specify whi ch font to select (-ttcname) at org.apache.fop.fonts.TTFFile.readFont(TTFFile.java:416) at org.apache.fop.fonts.apps.TTFReader.loadTTF(TTFReader.java:222) at org.apache.fop.fonts.apps.TTFReader.main(TTFReader.java:184)
TTFReaderクラスの使用方法は、ここらへんを見て下さい。オプション無しで実行した場合、フォントが.ttc(つまりコレクション型)であれば格納されているフォントの一覧を返します。これを使って、font metricsファイルを作成します。
>java -cp build\fop.jar;lib\xerces.jar;lib\xalan.jar;lib\batik.jar org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" %systemroot%\Fonts\msmincho.ttc conf\msmincho.xml TTF Reader v1.1.1 Reading C:\WINNT\Fonts\msmincho.ttc... This is a TrueType collection file with 2 fonts Containing the following fonts: * MS Mincho MS PMincho Number of glyphs in font: 17807 Postscript format 3 Creating xml font file... Creating CID encoded metrics Writing xml font file msmincho.xml... This font contains no embedding license restrictions
これで、fop-0.20.5ディレクトリにmsmincho.xmlファイルが作成されました。プロポーショナルの方が良ければ、MS PMinchoを取り込んで下さい。
■userconfig.xmlの変更
次に、fop-0.20.5\confディレクトリのuserconfig.xmlファイルを編集します。最初から日本語フォント用のサンプルが記述されているので、そこを少し直すだけです。
また、変更したuserconfig.xmlとmsmincho.xmlをmanual\config ディレクトリを作成してそこへ配置します。
<fonts> 〜中略〜 <!-- Example Japanese fonts <font metrics-file="msgothic.xml" embed-file="D:\winnt\font\msgothic.ttc" 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="msmincho.xml" embed-file="Cyberbit.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> となっているのを、以下のように変更する。 userconfig.xmlの先頭のあたりにbaseDirはfoファイルが配置されるディレクトリとあるので、相対パスで msmincho.xmlへのパスを記述した。 <fonts> 〜中略〜 <!-- Example Japanese fonts <font metrics-file="msgothic.xml" embed-file="D:\winnt\font\msgothic.ttc" 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="..\..\..\config\msmincho.xml" embed-file="C:\WINNT\Fonts\msmincho.ttc" 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>
■build.xmlの変更
次に、manual\src\build\build.xmlを編集して、このuserconfig.xmlを使用するようにします。
build.xmlの40行目に以下の下線部分を追加します。また、元の312行目にあたる部分に下記の1行を追加します。
差分を示すと以下のようになります。
cvs diff build.xml (ディレクトリ D:\Develop\projects\firebird-docs\manual\src\build\ 内)
Index: build.xml
===================================================================
RCS file: /cvsroot/firebird/manual/src/build/build.xml,v
retrieving revision 1.13
diff -r1.13 build.xml
40a41,46
> <condition property="userconfigfile" value="">
> <equals arg1="${sfx}" arg2=""/>
> </condition>
> <condition property="userconfigfile" value="${basedir}/config/userconfig.xml">
> <not><equals arg1="${sfx}" arg2=""/></not>
> </condition>
312a319
> userconfig="${userconfigfile}"
312行目の所は、前後を示すと以下のようになっています。
<!-- =================================================================== -->
<!-- Generates pdf from fo -->
<!-- =================================================================== -->
<target name="fo2pdf" depends="init">
<echo message="Building PDF from Formatting Objects. Please wait..."/>
<fop basedir="${fo.dir}"
fofile="${fo.dir}/${docname}.fo"
outfile="${pdf.dir}/${docname}.pdf"
userconfig="${userconfigfile}"
messagelevel="warn"/>
<!-- Possible values are: error, warn, verbose, info, debug -->
</target>
■param.xslの変更
最後に、manual/src/docs/xsl/fo/param.xslを編集して、日本語フォントが優先的に使用されるようにします。本当は、ここも多言語対応にすべきなのですが、その辺は議論して決めることなのでとりあえず以下のようにしておきます。
同様に差分を示すと以下のようになります。
cvs diff param.xsl (ディレクトリ D:\Develop\Projects\firebird-docs\manual\src\docs\xsl\fo\ 内)
Index: param.xsl
===================================================================
RCS file: /cvsroot/firebird/manual/src/docs/xsl/fo/param.xsl,v
retrieving revision 1.8
diff -r1.8 param.xsl
293a294,299
> <xsl:param name="body.font.family" select="'Mincho,serif'"/>
> <xsl:param name="title.font.family" select="'Mincho,sans-serif'"/>
> <xsl:param name="monospace.font.family" select="'Mincho,monospace'"/>
> <xsl:param name="symbol.font.family" select="'Symbol,ZapfDingbats'"/>
> <xsl:param name="dingbat.font.family" select="'Mincho,serif'"/>
> <xsl:param name="sans.font.family" select="'Mincho,sans-serif'"/>
param.xslの最後にデフォルトのフォント・ファミリーを指定するディレクティブを追加して、selectリストの先頭をMinchoにしています。
日本語xmlファイルの準備
それでは、次に日本語版のxmlファイルを準備していきます。
まず、manual\src\docs\firebirddocs-ja ディレクトリを作成します。
その中に、manual\src\docs\firebirddocs\quickstartguide-15.xml を quickstartguide-1.5-ja.xmlと名前を変えてコピーします。
変更点は以下のようになります。
quickstartguide-1.5-ja.xml(4): <article id="qsg15-ja" lang="ja">
quickstartguide-1.5-ja.xml(24): <section id="qsg15-about-ja">
quickstartguide-1.5-ja.xml(61): <section id="qsg15-kit-contents-ja">
quickstartguide-1.5-ja.xml(102): <section id="qsg15-classic-or-super-ja">
quickstartguide-1.5-ja.xml(234): <section id="qsg15-disk-locations-ja">
quickstartguide-1.5-ja.xml(252): <table frame="all" id="qsg15-tbl-firebird-components-ja"
xreflabel="Firebird installation components table">
quickstartguide-1.5-ja.xml(444): <section id="qsg15-installing-ja">
quickstartguide-1.5-ja.xml(449): <section id="qsg15-installing-server-ja">
quickstartguide-1.5-ja.xml(565): <section id="qsg15-installing-testing-ja">
quickstartguide-1.5-ja.xml(800): <section id="qsg15-installing-other-ja">
quickstartguide-1.5-ja.xml(1043): <section id="qsg15-installing-client-ja">
quickstartguide-1.5-ja.xml(1152): <section id="qsg15-databases-ja">
quickstartguide-1.5-ja.xml(1155): <section id="qsg15-databases-connecting-ja">
quickstartguide-1.5-ja.xml(1375): <section id="qsg15-databases-creating-ja">
quickstartguide-1.5-ja.xml(1481): <section id="qsg15-databases-sql-ja">
quickstartguide-1.5-ja.xml(1496): <section id="qsg15-integer-division-ja">
quickstartguide-1.5-ja.xml(1525): <section id="qsg15-strings-ja">
quickstartguide-1.5-ja.xml(1675): <section id="qsg15-nulls" xreflabel="Expressions involving NULL-ja">
quickstartguide-1.5-ja.xml(1795): <section id="qsg15-safety-ja">
quickstartguide-1.5-ja.xml(1798): <section id="qsg15-safety-server-ja">
quickstartguide-1.5-ja.xml(1879): <section id="qsg15-safety-backup-ja">
quickstartguide-1.5-ja.xml(1917): <section id="qsg15-safety-howtocorrupt-ja">
quickstartguide-1.5-ja.xml(2065): <section id="qsg15-gettinghelp-ja">
quickstartguide-1.5-ja.xml(2121): <section id="qsg15-firebird-project-ja">
quickstartguide-1.5-ja.xml(2148): <appendix id="qsg15-dochist-ja">
quickstartguide-1.5-ja.xml(2150): <primary id="qsg10-it-dochist-p-ja">
quickstartguide-1.5-ja.xml(2307): <appendix id="qsg15-license-ja">
quickstartguide-1.5-ja.xml(2337): <index id="qsg15-index-ja">
日本語版のビルド方法は以下のようになります。とりあえず、pdfを作成してみます。
>build pdf -Dsfx=ja -Drootid=qsg15-ja ... pdf: BUILD SUCCESSFUL Total time: 12 seconds >
エラーが沢山出力されますが、気にしないで下さい。
成功すると、manual\dist\pdf\ja 以下に日本語版のpdfが出力されます。docsでビルドした場合には、html, monohtmlの下にもそれぞれjaディレクトリが生成されて、そこに日本語版が配置されます。
■関連ファイルのダウンロード
firebird-docs-ja.zip
解凍すると以下のファイルが配置されます。
config/userconfig.xml
config/msmincho.xml
src/build/build.xml
src/docs/xsl/fo/param.xsl
翻訳協力のお願い
さて、これでfirebirdのドキュメントを日本語化する準備は出来ました。あとは、翻訳をするだけですが、もとより人手が足りておりませんので、ご協力頂ける方はぜひご連絡下さい。