oald7-fpw

oald7-fpw

Oxford Advanced Learner's Dictionary, 7th Edition (以下OALD7)に付属しているOxford Advanced Learner's Compass (以下OALC)のCD-ROMに含まれる本文テキストをFreePWINGを利用してJIS X 4081形式に変換するツールです。 OALC付属のブラウザが動作しない環境や、他の辞書と串刺し検索を行いたい場合などに使えます。

for your download

oald7-fpw-20200411-src.tar.gz OALD7, The Oxford Guide to British and American Culture (以下 Cultural Guide), The Oxford Wordfinder Dictionary (以下Wordfinder)のテキストをJIS X 4081形式に変換します。

インストール

このツール自体は任意のディレクトリに展開するだけです。 ただし、FreePWINGの導入以外に以下の要件を満たす必要があります。

PerlがEncodeモジュールを利用可能であること。

文字コードの変換にEncodeモジュールを使用しています。 from_to関数によって'utf-8''euc-jp'との文字コードの変換が行える必要があります。

perl 5.8以降では標準の状態で利用可能になっていると思います。

PerlがCompress::Raw::Zlibモジュールを利用可能であること。

本文はdeflateで圧縮されており、その伸長に利用しています。

また、画像・音声の収録にはFreePWING 1.5以降が必要です。 画像の収録時にリサイズ、あるいはBMP形式への変換を行う場合はImage::Magickモジュールが必要です。 音声の収録時にPCM形式への変換を行う場合はlameSoX (v13.0.0 で確認) が必要です。

変換準備

データの準備

変換ツールを展開したディレクトリ内の要求される位置に、OALCのCD-ROM上のデータをコピーします。 CD-ROM上のデータが存在するディレクトリと、要求される位置は下表に示してあります。 必要なファイルはCONTENT.tdaCONTENT.tda.tdzのふたつになります。 ただし、音声・画像については同じディレクトリにあるfiles.datNAME.tdaも必要です。

辞書 データが存在するCD-ROM上のディレクトリ 要求されるデータの位置
OALD7 data/entry/files.skn OALD7/SRC
Cultural Guide data/guide/entry/files.skn OALD7CG/SRC
Wordfinder data/wordfinder/files.skn OALD7WF/SRC
音声 (US) data/pronus/files.skn OALD7/SRC/us
音声 (UK) data/pronuk/files.skn OALD7/SRC/uk
画像 (OALD7) data/image_fullsize/files.skn OALD7/SRC/images
画像 (Cultural Guide) data/guide_image_fullsize/files.skn OALD7CG/SRC/images

OALD7/oald7-fpw.conf, OALD7CG/oald7cg-fpw.conf, OALD7WF/oald7wf-fpw.confの修正

FreePWING 1.5以降を使用しない場合は

  'trim_long_index' => 0,

となっている部分を

  'trim_long_index' => 1,

と変更してください。 その場合も含め、画像を収録しない場合はOALD7/oald7-fpw.conf, OALD7CG/oald7cg-fpw.confにある

  'image_type' => 1,

の部分について、音声を収録しない場合はOALD7/oald7-fpw.confにある

  'sound_type' => 1,

について、10に変更してください。

Image::Magickモジュールが使用可能であれば収録する画像形式の変更、または/および、リサイズが行えます。 画像をBMP形式に変換して収録する場合はOALD7/oald7-fpw.conf, OALD7CG/oald7cg-fpw.conf'image_type'2に変更してください。 リサイズを行う場合は同じく'image_max_width''image_max_height'について、幅、高さの最大値をそれぞれ設定してください。どちらか一方のみ指定することも可能です。

lameとSoXが使用可能であれば音声をPCM形式に変換して収録できます。 音声をPCM形式に変換して収録する場合はOALD7/oald7-fpw.conf'sound_type'2に変更してください。 ちなみに、モノクロ・8ビット・11.025kHzへ変換した場合、音声部分の作成にはCore 2 Duo T7200 (2GHz) 搭載のノートPCで約2時間かかり、音声部分のサイズは約1GBになります。ただし、Cygwin 環境では子プロセスの起動に時間がかかるようで、ものすごく時間がかかります。 Cygwin環境では音声の変換を行わない事をおすすめします。

尚、1.5より古いFreePWINGでの動作は未確認です。

変換

通常のFreePWINGを利用したツールと同様です。

$fpwmake

で辞書が生成されます。 パッケージを作る場合は

$fpwmake package

等のようにします。 packageの部分をpackage-tar-gzpackage-tar-bz2に変えれば、それぞれに応じたファイル形式でパッケージが作られます。 また、

$fpwmake gaiji-table

とすればLookup用の補助パッケージとEBWin / EBPocket用の外字定義ファイルを生成します。 辞書のパッケージを作成した際には同梱されますが、zip形式のパッケージを作成した場合はファイル名が大文字になってzipファイルに収納されます。

制限・不具合

画像表示に関する制限

JPEG形式で収録した場合はJPEG画像の表示に対応したビューアが必要です。 また、サイズを変更しない場合は幅720ピクセルという結構大きめの画像が多いため、環境によっては見づらいかもしれません。

音声再生に関する制限

元のデータがMP3であり、無圧縮のPCMに変換すると容量もしくは音質面での制限が厳しいため、デフォルトではMP3にRIFF-WAVEのヘッダをつけて収録しています。 この場合、一部のソフトウェアでしか再生できないと思われます。 Meadow、NTEmacs、EBWinでは再生できることを確認していますが、EBPocketでは再生できない筈です。

相互参照に関する制限

書籍間の相互参照はできません。 また、相互参照は元のXMLのソースに参照先が明記されているもののみ対応しています。 これは、OALC付属のブラウザで直接参照先に飛ぶものや、ポップアップウィンドウが表示された際に表示する項目が選べないものが相当すると思います。

JIS X 4081の書籍に収録できない文字について

収録できる他の文字に変えるか、外字として含まれてます。

その他

ツールのライセンスはGPL v2に従って下さい。 ツール及び作成された書籍は正当な権利の範囲内で利用してください。 正当な権利の範囲がわからない方は使用しない事をお薦めします。

外字のビットマップはsrd-fpwに付属のものとefont-unicode-bdfから流用しています。

更新履歴

2020/04/11 @INCにカレントディレクトリが含まれないPerl (5.26以降) に対応した。

2010/05/01 音声をPCM形式へ変換する際にsoxのオプションを既定値以外に指定していると、間違って変換に失敗していると判定されてしまう事があるのを修正した。

2009/03/28 Cygwin環境での注意事項を追記した。 Lookupの補助パッケージで、Lookupのバージョンに依存する記述を消した。 補助パッケージと外字定義ファイルの依存関係がおかしいのを修正した。 改行の整形がおかしいのを修正した(つもり)。 検索語の正規化をちょっと改善した。 文字修飾情報に対応した。 対応するソフトでは当該部分はイタリック体やボールド体等で表示されるはず。

2008/12/15 (多分2008/02/22より)エンバグして常にImage::Magickモジュールを要求していたのを修正した。

2008/11/15 上付き文字と下付き文字に対応した。

2008/02/22 画像のBMP形式への変換とリサイズに対応した。 音声のPCM形式への変換に対応した。 SYNONYMSのボックスに対応した。 整形処理がおかしくなっていたのを修正した。

2007/12/27 画像と音声に対応した。 音声はMP3にRIFF-WAVEのヘッダをでっち上げた状態なので再生できる環境は限られるはず。

2007/10/29 相互参照に対応した。 表に関連したタグに取り敢えず対応した。 多分永遠に取り敢えずのまま。 少し見栄えを良くした。

2007/10/13 一つのアーカイブでOALD7, Wordfinder, Cultural Guideを変換できるようにした。 本文テキストの一部と発音記号の表示に外字を利用するようにした。 Lookup用の補助パッケージと、EBWin/EBPocket用の外字定義ファイルを生成するようにした。 FreePWINGの都合により、辞書パッケージのトップディレクトリ名がOALD7からOALD_7になった。 ファイルとディレクトリの構成が大幅に変更された。

2007/10/02 誤った用例とWORD FAMILYのパネルに対応した。

2007/08/16 インデックスへの登録単語の正規化をもう少ししっかりと行うようにした。

2007/08/09 公開。


Kazuhiro's blog
http://ikazuhiro.s206.xrea.com/staticpages/index.php/oald7-fpw