{{outline}} !!!Distribution * [Source directory|http://openlab.jp/skk/skk/tools] * [Source archive directory|http://openlab.jp/skk/tools] * [Source archive directory (mirror-FTP)|ftp://ftp.ring.gr.jp/pub/text/elisp/skk/tools] * [Source archive directory (mirror-HTTP)|http://www.ring.gr.jp/archives/text/elisp/skk/tools] // win用のは更新しないとL辞書の「こう」などで誤動作するかも? * [Windows 用 SKK 辞書ツール (binary package)|http://www1.interq.or.jp/~deton/skktool/] !!!C による SKK 辞書ツールの概略 C による SKK 辞書ツールには 4 種類のコマンドがあります。 これらのコマンドは、skkdic-expr2 を除き、拡張された辞書形式、annotation には対応しておりませんので、annotation 付きと annotation なしの同じ候補、あるいは annotation の内容が異なる同じ候補を、異なる候補として認識しますので、ご注意下さい。なお、annotation を取り除くのには [unannotation.awk|http://openlab.jp/skk/skk/tools/unannotation.awk] が利用できます (Windows native の gawk.exe を利用した場合は、unannotation.awk の改行コードを CR+LF に変更する必要があります)。 !!skkdic-expr 複数の SKK 辞書を結合したり、他の辞書との差分をとるのに使います。但し、skkdic-expr 処理後に更に skk-sort コマンドにソートさせないと SKK 辞書として利用できません。 例えば、次のように使います。この例では JISYO1 と JISYO2 を結合して、JISYO3 の内容を削除した辞書を RESULT に書いています。 % skkdic-expr JISYO1 + JISYO2 - JISYO3 > RESULT 個人辞書と L 辞書との差分を取り出す、という使い方もできます。UNIX diff コマンドによる差分を取るのではなく、skkdic-expr コマンドにより差分を取れば、後で他の辞書とマージするのが楽です。 % skkdic-expr ~/.skk-jisyo - SKK-JISYO.L > PRIVATE 複数の辞書を UNIX cat コマンドでつないだものを整理する (下記の OLDDICT1 は複数の辞書を単純に cat で連結したものとします)。 % skkdic-expr OLDDICT1 > NEWDICT1 skkdic-expr は、同じ見出し語が別々の行に複数存在していても一行のエントリにまとめます。例えば、 じしょ /辞書/ じしょ /璽書/ じしょ /字書/ のような辞書を じしょ /辞書/璽書/字書/ と、一行にまとめることができます。候補が出力される際の優先順位は並び順になります。 !!skkdic-sort ソートされていない辞書を通常の SKK 辞書の形式にソートし、`;; okuri-ari entries.' と `;; okuri-nasi entries.' の各行を適切な位置に挿入します。入力は標準入力のみ、出力は標準出力のみが指定できます。 skkdic-expr はソートもしませんし `;; okuri-ari entries.' と `;; okuri-nasi entries.' のタグも出力してくれませんので、skkdic-expr によって生成した辞書は必ず事後に skkdic-sort をかける必要があります。 % skkdic-expr JISYO-A + JISYO-B | skkdic-sort > NEWDICT !!skkdic-expr2 skkdic-expr2 は skkdic-expr の改良版です。 * skkdic-expr よりもかなり高速です。 * skkdic-sort を併用する必要がありません (skkdic-expr2 が sort もしてくれます)。 * 演算子として、'+', '-' の他、'^' が使用できます。共通集合を求めます。 * annotation に対応しています。二つの辞書をマージする際に、同じ語に違う注釈が付けられていた場合は、二つの注釈を","(または -d で指定した任意の文字列)でつないで格納します。 * GLIB-2.0.x を必要とします (GLIB-2.0.x がインストールされていても [pkg-config|http://www.freedesktop.org/software/pkgconfig/] が GLIB-2.0.x を正しく見付けられなければコンパイルできません)。 '^'の使い方の例(個人辞書エントリ中、間違っているものを抽出します) % skkdic-expr2 ~/.skk-jisyo ^ SKK-JISYO.wrong > wrong.txt Glib-2.0.x のダウンロードは[こちら|ftp://ftp.gtk.org/pub/gtk/v2.0/]から。[こちら|http://openlab.jp/skk/install-glib2.html]で、システムライブラリとして Glib-1.2.10 が入っている Vine Linux 2.6 に Glib-2.0.x をインストールする方法を説明しています。参考にして下さい。 !!skkdic-count SKK 辞書の中の候補数を数えます。`[' と`]' で囲まれた送り仮名毎のブロックも一つの候補として数えます。 !!!ruby による SKK 辞書ツールの概略 (stub) * 和英変換やひらがな→カタカナ変換をする * サ変や形容動詞を okuri-ari で入力する * annotation を適宜抑制する など、辞書を好みに合わせてカスタマイズするための小物スクリプトをいくつか公開しています。 * [README|http://openlab.jp/skk/skk/tools/filters/README] * [使用例(ML)|http://mail.ring.gr.jp/skk/200506/msg00003.html]