試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

wimeにATOK2008体験版を入れて動作するかどうかを確認する(動作確認・各種制御・入力メソッド対応など)

wimeにATOK2008体験版を入れて動作するかどうかを確認する(準備とIMEインストール)」の続き。

  1. wimeの起動
  2. 入力システム(インプットメソッド)から実際に日本語入力を行う
    1. SCIM / scim-canna
    2. uim
    3. kinput2
  3. 制御
  4. さ入れ・ら抜き・二重敬語などの処理
  5. 関連: さ入れ・ら抜きなど
  6. 最後に

wimeの起動

初回起動前には、事前に[ホームディレクトリ]/.wime/というディレクトリを作成し、wimeのソースディレクトリに含まれるhinshiファイル*1をこの中にコピーしておく。
起動に関しては、IMEをインストールしたWine環境を環境変数WINEPREFIXが正しく指し示すようにする。

$ WINEPREFIX=~/.wine-wime wime
register window
NewWin:window handle XXXXXXXX
(以下、処理時にメッセージが表示されていく)

起動した(仮想)端末にはメッセージが延々と出るため、端末エミュレータのタブやscreenのウィンドウなどの仮想端末を1つwime用に確保して、他の用途では使用しないようにするのがよさそう。
また、Cannaに見せかけて動作する関係で、Cannaと同時に動かすことは基本的にはできないが
[引用]www.venus.sannet.ne.jp/thomas/wime/ より

クライアント側で使用するソケットを指定できれば、 cannaserver か wime の pオプションを使うことで同時使用可能かもしれません。

とのこと。

入力システム(インプットメソッド)から実際に日本語入力を行う

入力や変換自体はCannaと同様なのだが、Cannaと完全互換というわけではなく、未実装の機能もあるため、入力システム(インプットメソッド)によっては正常に動作しないことがある。

SCIM / scim-canna
正常に動作するように見えるが、日本語のかな(未確定文字列)を入力するときに[ホームディレクトリ]/.cannaの(ローマ字入力/かな入力の)設定を使用するため、かな入力には不向き(「ろ」と「を」が通常通りに入力できず、xmodmapでキーの割り当てを変更しなくてはならない)。
ローマ字入力派はこれで問題なさそう。

uim
かな入力をする上では本命と言えそう*2だが、wime側の未実装関数(RkGetDicList())を使用するため、wimeのバージョン1.8.0の時点では動作しない。これがサポートされれば動作する可能性はある。
(2008/8/5)wimeのバージョン1.8.3からはこの問題は改善され、uimでも使えるようになった。詳しくは「wime 1.8.3の覚え書きとebuild更新」を参照。
以下、エンジンをCannaに変更してからのwimeのメッセージ。

recv_xim:canna packet:major=0x0 minor=0x0 len=256
wm_canna_init:data='3.3:[ユーザ名]', fd=85
NewWin:window handle 00010074
wm_canna_init:context=3 fd=85 user='[ユーザ名]'
recv_xim:awake
recv_xim:canna packet:major=0x22 minor=0x0 len=12
wm_notice_group:mode 0,context 3,group users
wm_notice_group:ignore mode and context
recv_xim:awake
recv_xim:canna packet:major=0x2 minor=0x0 len=0
CloseContext:close context 3
wm_canna_finalize:fd 85 ,status 0
recv_xim:awake
recv_xim:disconnect fd 85
CloseConnection:already closed fd 85
recv_xim:canna packet:major=0x0 minor=0x0 len=256
wm_canna_init:data='3.3:[ユーザ名]', fd=85
NewWin:window handle 00020074
wm_canna_init:context=3 fd=85 user='[ユーザ名]'
recv_xim:awake
recv_xim:canna packet:major=0x22 minor=0x0 len=12
wm_notice_group:mode 0,context 3,group users
wm_notice_group:ignore mode and context
recv_xim:awake
recv_xim:canna packet:major=0x3 minor=0x0 len=0
NewWin:window handle 0001007A
wm_create_context:context number 4,fd 85
recv_xim:awake
recv_xim:canna packet:major=0x6 minor=0x0 len=4
wm_get_dic_list:*** NOT IMPLIMENT ***
wm_get_dic_list:context 4, buffer size 1024
recv_xim:awake

アプリケーション側のメッセージ(uimが出力)

libuim: [fatal] RkGetDicList() failed
libuim: All functionality has been disabled to save user application data.
libuim: [fatal] RkGetDicList() failed
libuim: [fatal] All functionality has been disabled to save user application data.

kinput2
作者(thomas氏)により動作確認されている。[ホームディレクトリ]/.cannaを使用する関係で、やはりかな入力には不向き。

制御

wimectrlコマンドで各種制御を行う。詳細は-hオプション付きで実行して確認できるが、頻繁に使用するのは-kオプションで、wimeを停止する。

$ wimectrl -k

これを使用せずにwimeを停止*3した場合、次回から

$ WINEPREFIX=~/.wine-wime wime
register window
NewWin:window handle XXXXXXXX
ImInit: アドレスは既に使用中です

のようになって(本物のCannaも含めて)起動できなくなるため

$ rm /tmp/.iroha_unix/IROHA* -f

を実行してソケットを削除しておく。
オプションなし(もしくは-sオプション付き)でwimectrlを実行したときには

設定ダイアログが出て、-dオプション付きで実行すると

このように、ユーザ辞書の設定が出る。
なお、このwimectrlは、Wine環境にATOKをインストール・かつレジストリファイルを読み込ませた上でwimeを起動した状態でないと正常に動作しない。また、設定ダイアログの表示中は何故か変換ができないようだ。

さ入れ・ら抜き・二重敬語などの処理

ATOK2008には、間違ったものとして扱われることの多い日本語の語法についての指摘を行う「校正支援」機能がある。
wimeで使用したとき

このように、初期状態では、変換候補として「《さ入れ表現》」のような文字列が直後にくっついてしまう仕様になっている。
これが問題であれば、設定ダイアログから指摘の機能を無効にする。

この方法では全ての校正支援を無効にするが、種類ごとに個別に無効にしていくこともできるようになっている。

関連: さ入れ・ら抜きなど

以下、参考として、「さ入れ表現」と「ら抜き表現」について調べたことをまとめているが、この件についてここで何かを主張したり議論したりすることを目的としたものではない。誤解を生むようなことがあった場合、以下の記述を削除する可能性がある。
ら抜き表現は確実に可能の意味になるという合理的な面があることもあり、それほど間違いとは言われなくなっているようにも感じる。

  • ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E4%B9%B1%E3%82%8C#.E3.82.89.E6.8A.9C.E3.81.8D.E8.A8.80.E8.91.89 - 概要や色々な背景など
  • www.umechando.com/view/08.htm - ら抜きを誤ったものとして特別扱いする前提に関して・これは下の「ANo.2が特に印象に残った」と書いているリンク先にも通じる
  • www.tackns.net/word/ranuki.html - 可能の意味にしかならない点を進歩としている
  • detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1213253322?fr=rcmd_chie_detail - 定着したことや、ら抜きが正当なものとして使われている地方についても

一方、さ入れ表現は誤りという見方が多く、「させていただく」の言い方(言う側の意図に反して、受け取る側が「覚えのない許可」のように感じて不快?)とともに評判が悪いように見えるが、今後どうなっていくかが気になる。もしかすると、「さ入れは誤り」というのは先入観に過ぎないのかもしれない。

Wikipediaの記事などでは、日本語の「乱れ」として扱われていたりするのだが、このようになる背景として、自然言語が変化し続けるものであるということ以外にも、やはり、成人の母国語話者(=日本人)ですら使いこなせない日本語(特に敬語とそれに関した文化)の複雑/難解さもあるのではないかという気がした。
ただ、さ入れもら抜きも(それ自体が正当かどうかには関係なく)使用する場面によっては避けたほうが好ましいというのが現状ではある。そういった意味では、こういったものを指摘する機能というのは、それなりに有用なのかも...

最後に

商用の日本語入力システムとしての性能の違いを実感させられるものの、個人的にはxmodmapを使用せずにかな入力ができることのほうが優先順位が高いことと、Anthyの入力履歴に基づいた予測(補完に近い感覚)機能でキー入力を省略するのが気に入っていることなどから、SCIM(もしくはuim)とAnthyを当分は使い続ける考え。
wimeは、「Windowsからの乗り換えで、既に持っている製品版のATOKを活かしたい」という人にはおすすめできそう。ただ、現時点では、そういった層にとって、導入の敷居が高くなってしまっていないかというのが気になる。
(2008/8/18)体験版の試用期間が切れたので、その状態をメモしておく。
wimeを開始すると

というダイアログが出て、変換が行えなくなった。

使用したバージョン:

*1:IMEの品詞コードとかんなの品詞コードの対応が書かれたファイルでATOK向け。「WINEPREFIX=~/.wine-wime hinshi-list」でコードと品詞名を一覧したものが生成されるが、かんなのコードの部分は書かれていない

*2:とは言え、uimのバージョン1.5.1の時点では本物のCannaを使用しても(「ろ」と「を」は通常通り出るものの)「ー」はShiftキー付きでないと出なかったりしているので、現状ではどのみちxmodmapでキー割り当てをいじらなくてはならない...

*3:wimeの動作している仮想端末上でCtrl+Cするか、「killall wime」などを実行

*4:「以前は正しい表現だった」という類の話では、二重敬語のところにも例がある