
特集13. Cannaの辞書のお話し その3
目次
1. ご挨拶
こんにちは。『かんな』使ってますか?
「Cannaの辞書のお話し」もこれで3作目です。 前前作では辞書の保守について書きました。 前作では辞書の変換について書きました。 この3作目ではそれらに書き残したことを書いておこうと思います。 どうぞよろしくお願い致します。 なお内容に関して 「おまえ間違ってるぞ!」 という突っ込みは大感謝いたします。
この内容に関しては無保証です。 ‥‥一応書いておかないとおっかないですからね。
2. かんにゃの御紹介
「かんにゃ」というのは、辞書保守のためのGUIツールです。 以下のような特徴があります。
- GTK+で書かれています
- ユーザー辞書に登録されている単語一覧を眺めることができます
- ユーザー辞書に登録されている単語の編集ができます
- 実際はaddwordsやcatdic といったコマンドを呼び出すだけのことしかしていません
addwordsやcatdicについては前前作を参照のこと
かんにゃの製作者は私です。‥‥はいそうです。なんのことはない、 ただ私の作ったプログラムを紹介したいだけです。 しかし使い道はないこともないと思うので、どうか使ってやって下さい。 GNUのautoconfによるconfigureスクリプトが付いていますから 初心者でも簡単にコンパイルできるはずです。
3. Linuxかな漢字変換の基礎講座
かんなの話ではないのですが、ここでLinuxのかな漢字変換について 簡単に触れておこうと思います。 この節では次の図の説明をするのが主な内容です。 「基礎講座」なんてサブタイトルをつけてしまうなんて、 私も偉くなったものです。わはは。
![]()
3.1 cannaserver
かんなの本体です。 cannaserverは日本語のかな漢字変換機能を提供します。
かんなはcannaserverと呼ぶくらいですので、 かんなのクライアントと言うものも存在します。 cannaserverの主なクライアントは kinput2, (かんな対応の)emacs/mule, canuumなどです。 これらのクライアントはcannaserverと通信する際に cannaプロトコルを使います。 cannastatコマンドを使うと 現在cannaserverに接続しているクライアントの状況がわかります。
かんなの設定ファイルは通常~/.cannaです。 このファイルでユーザーごとの辞書ファイルの設定、 いくつかのキーバインドの設定、 変換時の細かい動作の設定などを行います。 詳しくはマニュアルまたは~/.cannaの各種サンプルを見て下さい。 お使いのシステムにかんながインストールされていれば just.cannaやvje.cannaなどのサンプルファイルも一緒に インストールされているはずです。 ~/.cannaファイルを変更した場合には、 各かんなクライアントを再起動しましょう。 cannaserver自体は再起動する必要はありません。 cannaserverは普通root権限で動いているから、 一般ユーザーには再起動できません、でしょ?
cannaserverはただ単にかな漢字変換を行うのみのプログラムです。 [Shift]+[Space]を感知したり、 [Ctrl]+[\]を感知したり、 [Ctrl]+[o]を感知したりする機能はありません。
3.2 kinput2
kinput2はX window systemのための日本語入力サーバーです。 Xで動く各種アプリケーションに日本語入力の機能を提供します。 自らはかな漢字変換サーバーを利用します。 利用できるかな漢字変換サーバーとして かんなとWnnに対応しているそうですが、私はかんな用にコンパイルされた バイナリしか使ったことがありません。
Xのアプリケーションが日本語入力を受け付けるには、 まず始めにkinput2を呼び出す必要があります。 殆んど全てのアプリケーションは、 Kanjiキーが押されるとkinput2を呼び出します。 ですから予め xmodmap -e 'keycode 49=Kanji' というコマンドを実行しておけば 多くのアプリケーションで[半角/全角]キーが日本語入力onのスイッチとして 使えるようになるでしょう。 しかし一部のアプリケーションでは、 kinput2を呼び出すのに独特のキーを用いています※1。 また外国製のソフトでは、 そもそもkinput2を呼び出す機能がないものもあるかもしれません。
日本語入力をoffにするには、 kinput2と、それを呼び出したアプリケーションとの間の接続を切ります。 kinput2はKanjiキーが押されると接続を切りますので、予め xmodmap -e 'keycode 49=Kanji' としておけば 全てのアプリケーションで[半角/全角]キーが日本語入力offのスイッチとして 使えるようになるでしょう。
kinput2からかんなを使う場合のキーバインドの設定などは ~/.cannaファイルで行います。 ccdef.kinput2※2などを 設定する必要はありません。
昔はkinput2のバージョンによってはNetscapeとの相性の問題がある、 と聞きましたが、 最近は聞きませんね。私がその辺に疎いだけかな?
※1 ktermでは、設定(またはディストリビューション)にもよりますが [Shift]+[space]が割り当てられていることが多いです(よね?)。 またtgifでは[Ctrl]+[\]キーが割り当てられています。
※2 Wnnではccdef.kinput2の設定がいるらしいですが、良く知りません。3.3 emacs
かんな対応emacsは、 それ単独で(kinput2などを必要とせずに)cannaserverに接続して かな漢字変換を行うことが可能です。 従ってemacsではkinput2が起動していなくても日本語を入力できます。 また、非Xの日本語端末でemacsを立ち上げても、 Xで立ち上げたemacsと全く同じにかな漢字変換を行えます。
emacsでのかんなの設定は~/.cannaと~/.emacsの 二つのファイルで行います。詳しくは 『かんな/emacs』の手引 が非常に参考になります。
3.4 canuum
非Xの日本語端末で日本語入力を可能にするためのソフトです。 emacs以外で日本語を端末に入力したいときに使います。 uumというWnnのクライアントソフトへのパッチとして、 Canna本体のパッケージに同梱されています。 したがって御自分でコンパイルする際には Wnnのソースとかんなのソースが両方必要です。
私はcanuumを使ったことがないので設定法など詳しくは分かりません。
3.5 えせかんな
かんな以外のかな漢字変換サーバー(Wnn, vje, ATOKなど)と かんなクライアントの間に入って、 cannaプロトコルの変換を行ってくれるWrapperソフトです。 でもやっぱり使ったことがないのです。
4. 仮想Q&A
4.1 [Alt]+[半角/全角]で日本語入力をオンにしたいです
回答:ktermなどのターミナルからxmodmap -e 'keycode 49=Kanji'と入力して [Enter]を押して下さい。 kterm以外のほとんどのソフトで[半角/全角]キーを日本語入力on/offの トグルスイッチとして使えるようになるでしょう。 ktermについてはQ4.4を参照のこと。4.2 全てのXアプリケーションで日本語入力ができません
回答:kinput2が起動しているかどうか確認しましょう。 コマンドラインからps ux|grep kinput2と入力するなどして確認できます。 起動していなかったら起動させてください。 kinput2 -canna &4.3 特定のXアプリケーションで日本語入力ができません
回答:kinput2を開くキーが特殊なのかも知れません。 [Ctrl]+[o], [Ctrl]+[\], [Shift]+[Space], [Ctrl]+Kanji などを試してみて下さい。 それらで駄目な場合、 ひょっとするとそのアプリケーションは 日本語入力に対応していないのかも知れません。4.4 ktermで日本語が入力できません
回答:まずkinput2が起動していることを確かめましょう。 次に、ホームディレクトリに~/.Xdefaultsファイルがまだ無いようでしたら、 以下の内容が書かれている~/.Xdefaultsファイルを新しく作成して下さい。もしも~/.Xdefaultsファイルが既にあるようならば 上の文章を追加または編集してください。 また~/.Xresourceファイルがある場合にはその中に上の文章を書いて下さい。KTerm*VT100*translations: #override \ Shift<Key>space: begin-conversion(_JAPANESE_CONVERSION) \n\ <Key>Kanji: begin-conversion(_JAPANESE_CONVERSION)4.5 ktermで日本語が文字化けします
回答:まずktermの文字コード設定があっているかどうか確かめましょう。 [Ctrl]キーを押しながらマウスの中ボタンを (二つボタンのマウスの場合は左右の両ボタンを同時に)押してktermの オプション設定ウィンドウを開きます。個のウインドウの下のほうに文字コード設定 のオプションがありますので、EUCとShift JISと両方を試してみて下さい。 これで駄目ならば、もしかするとシェルの問題かも知れません。 もしもbashをお使いならば、~/.inputrcというファイルにという3行を追加して下さい。~/.inputrcがなければ作成して下さい。 他のシェルは申し訳ありませんが知りません。 jtcshという日本語が始めから通るtcshもあったと思うのですが。set convert-meta off set input-meta on set output-meta on4.6 X用のアプリケーションで日本語が文字化けします
回答:LANG環境変数が日本語設定になっていないかも知れません。 初期化ファイル(~/.xsessionや~/.xinitrc)の先頭付近にを追加してください。 このとき 少し古めのディストリビューションではLANG=ja_JP.ujisでないと 駄目かも知れません。LANG=ja_JP.eucJP export LANG4.7 X window systemがなくても日本語を入力したいです
回答:かんな対応emacsenを利用するのが簡単でお勧めです。 端末は日本語を表示できるようにしておく必要がありますので 予めkonやjfbtermなどを立ち上げておきましょう。4.8 Xも、かんな対応emacsenもないけど、それでも日本語を入力したいです
回答:canuumを使いましょう。これもやはりkonやjfbtermが必要です。4.9 かんなとWnnはどちらが賢いのですか
回答:分かりません。もしもあなたがその答えを分かったら、私にも教えて下さい。
5. かんな関連のページ
- Canna Home Page
- かんなの総本山です。 かんな本体のダウンロードはこちらから可能です。 またかんなのマニュアル(PDF)もダウンロードできます。 かんなについて知りたい方は、まず真っ先にこのマニュアルを見るべきでしょう。
- 『かんな』の部屋
- かんなに当てる非公式パッチが置いてあります。 でも私は変換ロジックなんてさっぱりなのです。 当てたら使い勝手がどうなるのか?というのは興味があるのですが、 コンパイルするのが大変そうなのでやってません。はい。
- 『かんな/emacs』の手引
- emacs系のエディター(emacsenと呼ぶそうですね)からかんなを使う方法が 詳しく書かれています。 かんな対応のemacsenはcanuumやkinput2を経由せずに、 直接かんなを叩いて漢字変換を行います。 従ってそれなりの操作方法や設定を覚えなければいけません。
- Freely available dictinaries for kana-kanji conversion
- かんなやWnnで使える辞書についての紹介が載っています。 2000年6月現在では、ちょっと情報が古いかも知れません。
- LiNUS' BLANKETS
- えせかんなを作成されているtakeさんのページです。
- kinput2 (ftp)
- Xでの日本語入力を可能にしてくれるkinput2の一次配付元(多分)です。
- Cannaのカスタマイズ
- かんなのカスタマイズについて説明されているページです。
6. 品詞記号一覧表
かんなのマニュアルの付表をそのまま持って来ました。 御参考までにどうぞ。
品詞記号 品詞名 例 #T35 名詞 山, 本 #T30 サ変名詞 努力, 検査 #KK 団体・会社名 #JN 人名 #CN 地名 #K5 か行5段活用動詞 描く #G5 が行5段活用動詞 注ぐ #S5 さ行5段活用動詞 倒す #T5 た行5段活用動詞 絶つ #N5 な行5段活用動詞 死ぬ #B5 ば行5段活用動詞 転ぶ #M5 ま行5段活用動詞 住む #R5 ら行5段活用動詞 威張る #W5 わ行5段活用動詞 言う #KS 上/下一段活用動詞 降りる #KX か行変格活用動詞 来る #ZX ざ行変格活用動詞 感ずる #SX さ行変格活用動詞 関する #K5r か行5段活用動詞(連用形が名詞) 動く #G5r が行5段活用動詞(連用形が名詞) 行く #S5r さ行5段活用動詞(連用形が名詞) 急ぐ #T5r た行5段活用動詞(連用形が名詞) 写す #N5r な行5段活用動詞(連用形が名詞) 勝つ #B5r ば行5段活用動詞(連用形が名詞) 遊ぶ #M5r ま行5段活用動詞(連用形が名詞) 歩む #R5r ら行5段活用動詞(連用形が名詞) 見張る #W5r わ行5段活用動詞(連用形が名詞) 扱う #KSr 上/下一段活用動詞(語幹が名詞) 生きる #KY 形容詞 美しい, 早い #KYT 形容詞 古い #T00 形容動詞(さ変名詞としても使う) 心配だ #T05 形容動詞 幸運だ #F04 副詞 #F06 副詞 #F12 副詞 #F14 副詞 飽くまで #KJ 単漢字 #NN 数詞 何 #RT 連体詞 #CJ 接続詞・感嘆詞 及び
7. さいごに
まあ、こんなもんでしょう。 私の持つ知識の乏しさを考えれば、なかなかうまく書けたかなと思いますね。 ええ思いますとも。 本当は「××を参照」なんて書きたくなかったのだが、仕方がないですね。
これでかんなシリーズは終了です。 感想メール、間違い御指摘メールなどお待ちしています。
→ TOP Page