[an error occurred while processing this directive]
Title
電子辞書 - 「小学館 スーパーニッポニカ2001 LightEdition」をEPWING形式に変換する(05/09/2003)

必要な物
小学館 スーパーニッポニカ2001 LightEdition CD-ROM
CygwinもしくはUNIX互換環境
ebutils もしくは epwutil
導入については「ebutils/epwutilの導入」をご参照下さい。
Ruby
FreePWING
ssnfpw2001 (後述)

 小学館から発売されているスーパーニッポニカのライト版は、安価な割には情報量の多い百科事典です。ただ、残念なことに独自形式のデータと使いづらい検索ソフトという形で提供されているため、OSに依存する上、使い勝手が悪いものになっています。しかし、汎用的なEPWING形式へと変換することで検索ソフトを選ぶことができ、また、各種OS上でも検索・閲覧することができるようになります。ここでは電子辞書オープンラボのMLにて公開されたssnfpw2001を用いてEPWING形式へと変換する手順を説明します。以下の説明は基本的にCygwin環境で検証しておりますので、他の環境を使用されている方は適宜読みかえて下さい。

 Cygwinをインストールしていない場合は、まずWindowsにCygwinをインストールします。上記配布サイトからsetup.exeを落として起動し、「Select Packages」まで進んだら「Category」に表示されている「+ All ○ Default」の「Default」をクリックして「Install」にします。これで配布ファイルが全てインストールされます。不要なものも沢山ありますので分かる方は適当に間引いて頂いて結構です。その後は指示に従えばCygwinのセットアップはできると思います。

 次はRubyのインストールです。Rubyの配布サイトからCygwin版のバイナリを落としてきてCygwinのインストールディレクトリにディレクトリ構造ごと展開するだけで終わりです。

 ebutilsのインストールは「ebutils/epwutilの導入」の通りにやればできるはずです。

 FreePWINGは

% tar -xvzf freepwing-x.x.x.tar.gz
% cd freepwing-x.x.x
% sh ./configure
% make
% make check
% make install
% make clean

でおしまい。

 さて、肝心のssnfpw2001ですが、まずは電子辞書オープンラボMLのこちらのメールからデコードすることで初版の配布ファイルが手に入ります。さらに、パッチがこちらのメールに添付されておりますので、こちらもデコードしてパッチファイルを入手して下さい。Windowsの場合、LhaplusなどでBase64をデコードできます。各メールを.b64として保存してLhaplusで開けばデコードできます。UNIXの場合はmimencodeなどのBase64をデコードできるプログラムで取り出すなりして下さい。勿論、MLに加入してコマンドでメールを取り寄せてもいいですし、NewsGroupの記事から入手しても構いません。これでssnfpw2001-0.0.1.tar.bz2 (ssnfpw2001初版配布ファイル) とssnfpw2001-0.0.1.diff (初版に対するパッチファイル) が手に入りますので、作業ディレクトリに置き、作業ディレクトリをカレントにして

% tar xvjf ssnfpw2001-0.0.1.tar.bz2
% patch -p0 < ssnfpw2001-0.0.1.diff

とすればパッチが適用されます。これで最終的に相互参照可能なEPWING辞書になります(初版では相互参照不可能)。パッチの適用に失敗する場合はパッチファイルが文字コードEUC、改行コードLFになっているかどうかご確認下さい。

 最後に、作業ディレクトリにCD-ROMの「SuperNipponica2001LE」というディレクトリをまるごとコピーします。

 そして、

% ruby dumpHonbun.rb -BASE=.
% ruby makeHeader.rb -BASE=.
% ruby makeFooter.rb -BASE=.
% ruby makeRefs.rb -BASE=.
% ruby changeRefsHeader.rb
% ruby makeUrl.rb -BASE=.
% ruby makeKanren.rb -BASE=.
% ruby Merge.rb -KW_KANJI=true -KW_KANREN=true -KW_SPLIT=false
% fpwmake catalogs
% fpwmake install INSTALLDIR=.

とすると作業ディレクトリ下の「ssn2001」ディレクトリに辞書が作成されます。dumpHonbunの実行には滅茶苦茶時間がかかりますのでご注意下さい。shスクリプトでも書いて実行すればほったらかしにしておけますのでお薦め。また、HDDの空き容量も相当必要になりますので気を付けて下さい(1.5GB以上空いていればたぶん大丈夫)。makeKanrenはメモリを64MB以上積んでいないと実行できないらしいですが、実行できなければMerge.rbのオプションで-KW_KANREN=falseにすれば辞書の変換はできます。

 各種オプションは私の好みの設定で書いています。オプションの詳細についてはMakefileに記述されていますのでご確認下さい。



謝辞

 ssnfpw2001は大和慎一さんが公開して下さったRubyスクリプトです。また、長谷川真史さんはこのスクリプトで変換した辞書が相互参照できるように改良して下さいました。ここに感謝の意を表します。ありがとうございました。

05/09/2003 [an error occurred while processing this directive]
sign