Webster1913年版のEPWING化

フリーのWebster英英を使いやすくする

2002.7.4

Webster 1913年版 について

Webster といえば、英英辞典として有名ですが、1913年版については権利消滅(著作権−米国は75年で消滅だった。1998年から映画界などからの圧力で90年に延長された)の英語の単語リスト辞書として、public domainになっています。Web上にも公開されているので、無料でダウンロードして使用できます。また、Web上の辞書としても公開されています。→ARTFL Project: 1913 Webster's Revised Unabridged Dictionary(http://humanities.uchicago.edu/forms_unrest/webster.form.html)。
どちらかというと、ネイティブ向きで訳(?)が難しいところもありますが、無料なのが魅力で使ってみることにしました。

辞書データのダウンロード

Project Gutenburgによってメンテされている The Online Plain Text English Dictionary(http://msowww.anu.edu.au/~ralph/OPTED/)が公開されているのでこれをもらってきました。ダウンロードしたのは、OPTED v0.03 で、ZIP形式で圧縮されたデータ(5.2MB)と、Mac向けのstuffitで圧縮されたデータ(4MB)、各アルファベットごとのhtml形式のデータがありますが、私は一括でダウンロードできるZIP形式を選択して、落しました。unzipすると全体で20MB近くなりますが、各アルファベットごとに、wb1913_a.html といったファイルが26個と、追加分の web1913_new.html ができます。html形式であれば、Webブラウザを使えばそのままでも、検索機能を使って利用できますが、ロードするのに時間がかかるうえ、検索方法も面倒なので、電子辞書の形式に変換します。なお、データはMacでメンテされているので、改行コードもMac仕様のため、WindowsのNotePadなどでみると、ずるずるつながったテキストになってしまいます。

データの結合とEBStudio入力形式への変換

EBStudioはhtml形式のデータをEPWINGに変換してくれますが、wb1913のデータはTagの付け方が異なるのでつけ替える必要があります。
wb1913では、各単語は<P>、<B>および<I>のtagを利用して
<P><B>Dictionary</B> (<I>n.</I>) A book containing the words of a language, arranged alphabetically, with explanations of their meanings; a lexicon; a vocabulary; a wordbook.</P>
のように、全体が<P></P>で囲まれ、その中で、見出しが<B>と</B>、品詞の種類が<I>と</I>で囲まれ、そしてその定義が残りの部分になっています。
一方、EBStudioでは、見出し部が<DT>と</DT>で囲まれ、品詞の種類を含め定義部が<DD>と</DD>で囲まれ、最後に区切りを示す</BR>が必要です。定義部では、フォントの形式を示す<I>はそのまま変換しないようなので、品詞の種類を示したイタリック部<I>はそのまま使うこととしました。従って、上記の例では、変換後
<DT>Dictionary</DT><DD> (<I>n.</I>) A book containing the words of a language, arranged alphabetically, with explanations of their meanings; a lexicon; a vocabulary; a wordbook.</DD></BR>
となるようにすれば、良いことになります。
アルファベットの文字毎では、変換が手間なので、これを一つにすることと、Mac形式のデータでは、行末を変換に使う sed がうまく認識してくれない点、各htmlファイルのは、header部を含むのでこれを取り除く(EBStudioの入力は本体部だけで、header部は不用のようです)作業をするために、下記のスクリプトを実行します。
 
 cat wb1913_?.html wb1913_new.html | tr \\r \\n | \ 
> sed -e 's/<P>//g;s/<B>/<DT>/g;s@</B>@</DT><DD>@g;s@</P>@</DD></BR>@g' | \
> sed -e '/HTML/d;/HEAD>/d;/TITLE>/d;/<META/d;/BODY>/d' > wb1913_EB.html

EBStudioはWindows上で動くので、作業性を考えて、Cygwin を使ってUNIX環境を作って、Windows上で実行しました。
MS-DOSで動くPerlあたりを使ってもう少し簡単にできたかも知れませんが、良い方法が思いうかばなかったので、変則的な手段となりました。

EPWINGへの変換

 
EBStuidio を起動して,html形式のデータをEPWING形式に変換します。まず、「ファイル」-「新規作成」または、メニューバーの左端(下図の赤丸)をクリックします。
EBStidio-fileOpen「書籍情報の登録」のWindowが開きますので、ここで書籍名と辞書を格納するディレクトリを指定します。書籍名はなんでもよいのですが、WEBSTER1913 としました。
「OK」とすると次に「入力ファイルの登録」Windowが開くので、先程作成したhtmlファイルを指定します。ファイル種別で「HTML」にチェックが入っていることを確認した後、
「OK」を入力して、元のWindowにもどって、EPWING形式のデータを格納する出力先を指定します。指定した出力先の下に、catlogsと書籍情報で登録した書籍ディレクトリが作成されます。
以上の準備がおわったら、をクリックすると変換が始まります。
Websterの原データは色々誤りは修正されてきているようですが、ところどころに誤りがあって、変換途中で右図のようなエラーメッセージがでることがあります。赤線を引いたところに表示されているのがエラーの有る行数ですから、エディタ等で元の htmlデータの指定行を開いて確認の上、修正をします。例えばこの場合は、sedで指定行の前後を確認すると
$ sed -n '61693,61695p' wb1913_EB.html
<DT>Foretoken</DT><DD> (<I>v. t.</I>) To foreshow; to presignify; to prognosticate.</DD></BR>
</DD></BR>
<DT>Fore teeth</DT><DD> (<I>pl. </I>) of Fore tooth</DD></BR>
になっていますから、赤字で示した部分が、データとして不完全です。これは、元データに</P>が一つ余分にはいっていたためです。エディタでこの行を削除した後、再度変換を実行(をクリック)を行い、エラーが発生したら同様の修正が必要です。屋っていいるときは色々試行錯誤があったのですが、最終的に私のダウンロードしたデータでは、修正は2回でした。
なお、最終的に変換時間は数分でした。
 
上記例では指定したディレクトリに下記のような辞書ファイルが作成されます.web1913とcatalogsを適当なディレクトリのしたに配置しなおせば、完了です(始めからそれなりの出力先を指定しておけば、問題ありません)
F:\tmp--003---web1913-+--data----honmon
               |          +--gaiji
               |
               +--catalogs

あとは、Windowsであれば DDWin あたりで、Linuxならば、NDTPに定義するか、EbDicあたりを使って、辞書を参照できます。


NDTPとBookviewを使用した例