ウェブ日記
2009年05月02日(土) Scim/anthyに乗り換え
Scim/anthyに乗り換え

Linux (plamo)やFreeBSDを使い始めてから --もう11年になるのか--ずっと日本語入力には kinput2/かんなを使って来たのだけど、 昨晩から今朝にかけてscim/anthyに乗り換えた。

きっかけはplamo linux 4.6でプレインストールされたfirefoxで scim/anthyが付いたことである。 理由は以下の通り。

  • かんなは漢字の変換が賢くなかった。 しかも長年使われているのに ヴァージョンアップやメンテナンスについてほとんど聞かない
  • Firefoxで日本語入力するとき kinput2/かんなでは漢字の変換候補が表示された際、 候補枠にカーソルが載ったままスペースキーを押して変換候補を探すと変換中の漢字が消えてしまい、 firefoxを再起動させるまで日本語入力ができなかった。 (plamo 4.6ではfirefoxでこの日本語入力メソッドは使われないけど) そのような不具合を避けたかった
  • 日本語入力メソッドを統一したかった --emacsではkinput2の代りにegg?--
  • 色々な日本語入力法を試したかった

始めはLinux + scim + anthy等の検索語でぐぐってネットで情報を探していたけど、 linuxディストリビューションがplamo以外で かつgnome等のデスクトップ環境の場合についての 設定法ばかりがヒットした --私はXウィンドウで evilwm という素っ気ないウィンドウマネージャを使っている--。 Plamoは他のlinuxディストリビューションよりも むしろFreeBSDにプログラムやアプリの扱い方が似ていると言えるので、 anthy + freebsdで検索したところ、 例えば川田昌弥氏の 「爆裂無線研究所」ウェブサイト中の 「FreeBSD 5.4 で Anthy + SCIM」 のウェブページを参考に、 以下の文句を~/.xinitrcの「exec...」の行の前に挿入し、 「XMODIFIERS="@im=kinput2"」と 「export XMODIFIERS」を無効にしたところ、 ktermでもscim/anthyが使用可能になった。

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
echo '*inputMethod: SCIM' | xrdb -merge
scim -d &

問題は、このままでは

  1. firefox以外のほとんどのアプリでフォントが変り、 文字が概して小さくなったこと
  2. emacsで(scim/)anthyが使えないこと
  3. scim/anthyのキーバインドがkinput2/かんなのそれに準じていないので近付けたい
  4. scimの変換候補の文字が大き過ぎるので小さくしたいこと
  5. anthyの個人辞書をどうやって豊かにしていくか

等。

1番目については、~/.xinitrcで 「echo '*inputMethod: SCIM' | xrdb -merge」の行を削除かコメントアウトすることで ~/.XdefaultsをXへのログイン時読み込ませることで解決。

2番目については、~/.emacsに以下の文句を追加して、 emacsでctrl + \キーを入力して一応解決 --まだかんなも使える--。 日本語入力メソッドは、 emacsが独立したウィンドウで起動されたときにはanthy.elが、 「-nw」オプションを用いてemacsがkterm等のターミナル上で動くときにはscimが利用される。

;;;anthy
(push "/usr/share/emacs/site-lisp/anthy/" load-path)
(setq emacs-ime "anthy")
; anthy.el をロードする
(load-library "anthy")
; japanese-anthy をデフォルトの日本語入力法に指定
(setq default-input-method "japanese-anthy")

かんながemacsでまだ動く「不具合」については今朝 ~/.emacsと~/.xinitrcでscim/anthy以外の日本語入力メソッドの設定項目を 全てコメントアウトして解決。

3番目については、まず以下の行を復活させ、 半角/全角キーでも(scim/anthyで)変換を開始できるようにした。

(define-key global-map [zenkaku-hankaku] 'toggle-input-method)

scim/anthyでも入力したローマ字を直接片仮名変換できるようにしたい。 これはscim/anthyのパネルから設定画面を起動、 anthyの設定項目を更新して --片仮名変換にデフォルトのf7の他にctrl-nを追加--解決。

他には次候補変換表への移動にctrl-nを、 前候補変換表への移動にctrl-pを宛てる。 これでキーバインドについてはOK。

4番目については、 scimのパネルから、 scimの設定→パネル→GTK設定で文字の大きさを変更。

5番目については、 ネットで情報を漁り、 anthyの個人辞書がかんなのそれとほとんど同じ --ただしanthyの個人辞書の文字コードはUTF-8で、 かんなの個人辞書の1行目が不要な所が違う--ことを知る。 以下のコマンドを実行後、 scimの個人辞書の編集をパネルから行って個人辞書を作成。

lv -Ou8 /var/lib/canna/dic/user/「ユーザ名」/usr1.ctd > ~/.anthy/private_words_default

かんなはもうplamo起動時起動させないので、 /etc/rc.d/init.d下のcanna.rの最初にexit 0を挿入して、 スクリプトを無効にする --かんなを再び使うこともありうるので、 canna.rは削除しない--。

これで全ての問題がほぼ解決、scim/anthyが普段使いになった。


ハッピーパイパー
前の日記次の日記目次 古い日記(2000年9月〜2006年12月)の目次メールホーム