KDIC とは、 川島さん が作った、 Palm OS 搭載機器 (Pilot 1000/5000, PalmPilot, WorkPad, Palm III) 用の 日本語の出る英和辞書プログラムです。
![]() |
![]() |
![]() |
| KdicDB (EDICT E-J) | KdicDB (EJDIC E-J) | KdicDB (GENE 95 E-J) |
![]() |
![]() |
| KdicDB (EDICT J-E roman) | KdicDB (EDICT J-E kanji) |
KDIC 自体は辞書を検索するためのアプリケーションのみで、辞書そのものは 別に入手し、付属の DOS/Windows 用ツールで変換・圧縮する必要があります。 KDIC の readme.txt には NIFTY SERVE の FENGC フォーラム にある小辞郎という辞書を利用する方法が書いてありますが、NIFTY SERVE に加入してない人は困っちゃいますよね。 また、Mac 用の変換ツールも出たみたいだけど、これも NIFTY SERVE の FPALM フォーラム だけみたいだし、そもそも UNIX の人はどうしようもありません。
そこで、他にフリーな辞書はないかと思って探してみたところ、
オーストラリアの Monash 大学の Jim Breen 教授による和英辞書。
ノートルダム女子大学の POETS プロジェクトによる英和辞書。
Kurumi (NiftyID: GGD00145) さんによる英和辞書。
さて、次の問題はこれらの辞書が「大きすぎる」ということです。いずれも 2 〜 3 MB あり、圧縮をかけても Pilot のメモリには入りきりません。 そこで、何らかの方法で辞書のエントリを間引いてやる必要があります。 とはいってもいちいち手でやるのは大変なので、ispell というフリーの スペルチェッカーに含まれる辞書 (というか、単語のリスト) を利用する ことを思い付きました。これによって間引いた結果を以下に示します。
| 辞書名 | 間引く前の単語数 | 間引き後の単語数 | kdic.pdb のサイズ |
|---|---|---|---|
| KdicDB (EDICT E-J) | 63,853 | 9,592 | 230 kB |
| KdicDB (EJDIC E-J) | 46,571 | 13,399 | 1,071 kB |
| KdicDB (GENE 95 E-J) | 57,370 | 12,822 | 485 kB |
EJDIC はちょっと大きいですが、EDICT と GENE 95 に関しては手ごろな 大きさだと思います。
なお、EDICT はもともと和英辞書なのですが、日本語のエントリと 英語の説明を無理やり入れ替えることで英和辞書をでっち上げました。 このため、内容がちょっと変かもしれませんが、ご了承ください。
和英辞書に関しては、EDICT の配布元に EDICT_S という、ローマ字 見出しの縮小版があったので、これをそのまま KDIC 用に変換したものと、 それにかなや漢字を付け足したものを作成しました。
| 辞書名 | 間引く前の単語数 | 間引き後の単語数 | kdic.pdb のサイズ |
|---|---|---|---|
| KdicDB (EDICT J-E roman) | - | 9,227 | 224 kB |
| KdicDB (EDICT J-E kanji) | 63,853 | 9,223 | 390 kB |
KDIC の制限により、和英辞書の見出しはローマ字となっています。 基本的にはヘボン式ですが、少々ワープロ風にアレンジされていて、 以下の点で通常のヘボン式とは異なります。
英和辞書:
和英辞書:
※ Mac ユーザーの皆様へ ZipIt を使って .zip ファイルを解凍すると、.pdb ファイル (辞書本体) が壊れてしまう 場合があります。 これを防ぐには、 StuffIt Expander + StuffIt Engine をお使いになるか、または ZipIt の Miscellaneous Prefs ダイアログで By default, smart-strip linefeeds from text files チェックボックスを off にすることをお勧めします。 詳しくは、pilot-ml のわたしの記事 ([pilot-ml 7383], [pilot-ml 7399]) をお読みください。
各種辞書を MS-DOS や Windows の MS-DOS プロンプト上で KDIC 用の形式に 変換する方法を説明します。
まず、KDIC に含まれる gendic.exe, compdic.exe 以外に用意するものは 以下の通り。
KdicDB (EDICT E-J) の変換方法は、
perl convdict.pl -edict-ej < edict | nkf -s > edict-ej.kdic
gendic -c -s -y -n "KdicDB (EDICT E-J)" -o edict-ej-kdic.pdb edict-ej.kdic
とします。EDICT の場合、convdict.pl に喰わせる時点では EUC のままで
ないと誤動作します。
KdicDB (EJDIC E-J) の変換方法は、
perl convdict.pl -ejdic < ejdic > ejdic-ej.kdic
gendic -c -s -y -n "KdicDB (EJDIC E-J)" -o ejdic-ej-kdic.pdb ejdic-ej.kdic
とします。EJDIC は SJIS で、半角カナもないので、nkf は不要です。
(が、解説文中のアルファベットはすべて全角文字なので、nkf -Z1 を
通した方がいいかも...)
KdicDB (GENE95 E-J) の変換方法は、
nkf -X GENE.TXT | perl convdict.pl -gene > gene95-ej.kdic
gendic -c -s -y -n "KdicDB (GENE95 E-J)" -o gene95-ej-kdic.pdb gene95-ej.kdic
とします。GENE 95 は SJIS ですが、半角カナが含まれているので、nkf -X
で全角にする必要があります。また、GENE 95 には / が含まれていますが、
gendic は / 以降を例文とみなして削除しようとするので、これを禁止する
ために gendic に -y オプションを付けます。
このように、convdict.pl の最初の引数には、元になる辞書の形式に応じて -edict-ej, -ejdic, -gene のいずれかを指定します。さらに、ispell の単語 リスト english.0 および american.0 以外を使いたい場合は、2 番目以降の 引数としてそれらのファイル名を指定します。
KdicDB (EDICT J-E roman) の変換方法は、
perl convdict.pl -edict-je < edict_s > edict-je.kdic
gendic -c -s -y -n "KdicDB (EDICT J-E roman)" -o edict-je-kdic.pdb edict-je.kdic
とします。
KdicDB (EDICT J-E kanji) の変換には、
を使います。 変換方法は、あらかじめ pass2.c を pass2.exe の名前でコンパイルしておき、
perl pass1.pl < edict | pass2 | perl pass3.pl edict_s | nkf -s > edict-je2.kdic
gendic -c -s -y -n "KdicDB (EDICT J-E kanji)" -o edict-je2-kdic.pdb edict-je2.kdic
とします。