特集

13. Cannaの辞書のお話し その3

目次

  1. ご挨拶
  2. かんにゃの御紹介
  3. Linuxかな漢字変換の基礎講座
  4. 仮想 Q&A
  5. かんな関連のページ
  6. 品詞記号一覧表
  7. さいごに

1. ご挨拶

 こんにちは。『かんな』使ってますか?

 「Cannaの辞書のお話し」もこれで3作目です。 前前作では辞書の保守について書きました。 前作では辞書の変換について書きました。 この3作目ではそれらに書き残したことを書いておこうと思います。 どうぞよろしくお願い致します。 なお内容に関して 「おまえ間違ってるぞ!」 という突っ込みは大感謝いたします。

 この内容に関しては無保証です。 ‥‥一応書いておかないとおっかないですからね。


2. かんにゃの御紹介

 「かんにゃ」というのは、辞書保守のためのGUIツールです。 以下のような特徴があります。

  1. GTK+で書かれています
  2. ユーザー辞書に登録されている単語一覧を眺めることができます
  3. ユーザー辞書に登録されている単語の編集ができます
  4. 実際はaddwordscatdic といったコマンドを呼び出すだけのことしかしていません

    addwordscatdicについては前前作を参照のこと

 かんにゃの製作者は私です。‥‥はいそうです。なんのことはない、 ただ私の作ったプログラムを紹介したいだけです。 しかし使い道はないこともないと思うので、どうか使ってやって下さい。 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ファイルを新しく作成して下さい。
KTerm*VT100*translations: #override \
  Shift<Key>space: begin-conversion(_JAPANESE_CONVERSION) \n\
  <Key>Kanji: begin-conversion(_JAPANESE_CONVERSION)
もしも~/.Xdefaultsファイルが既にあるようならば 上の文章を追加または編集してください。 また~/.Xresourceファイルがある場合にはその中に上の文章を書いて下さい。

4.5 ktermで日本語が文字化けします

回答:まずktermの文字コード設定があっているかどうか確かめましょう。 [Ctrl]キーを押しながらマウスの中ボタンを (二つボタンのマウスの場合は左右の両ボタンを同時に)押してktermの オプション設定ウィンドウを開きます。個のウインドウの下のほうに文字コード設定 のオプションがありますので、EUCとShift JISと両方を試してみて下さい。 これで駄目ならば、もしかするとシェルの問題かも知れません。 もしもbashをお使いならば、~/.inputrcというファイルに
set convert-meta off
set input-meta on
set output-meta on
という3行を追加して下さい。~/.inputrcがなければ作成して下さい。 他のシェルは申し訳ありませんが知りません。 jtcshという日本語が始めから通るtcshもあったと思うのですが。

4.6 X用のアプリケーションで日本語が文字化けします

回答:LANG環境変数が日本語設定になっていないかも知れません。 初期化ファイル(~/.xsessionや~/.xinitrc)の先頭付近に
LANG=ja_JP.eucJP
export LANG
を追加してください。 このとき 少し古めのディストリビューションではLANG=ja_JP.ujisでないと 駄目かも知れません。

4.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. さいごに

 まあ、こんなもんでしょう。 私の持つ知識の乏しさを考えれば、なかなかうまく書けたかなと思いますね。 ええ思いますとも。 本当は「××を参照」なんて書きたくなかったのだが、仕方がないですね。

 これでかんなシリーズは終了です。 感想メール、間違い御指摘メールなどお待ちしています。


Geocities → TOP Page