wime

LinuxのWine上にインストールされたIMEをかんなに見せかけるプログラムです。

ソースコード

4.0.0 2018年8月5日
3.6.0 2018年3月12日
3.5.2 2015年10月18日
3.5.1 2015年10月4日
3.5.0 2013年10月22日

必要なもの

Wineへのパッチ

利用までの手順

  1. wimeのコンパイル&インストール。
  2. IMEをWineにインストール。
  3. レジストリの確認(Readme.atokを参照してください)。
  4. ximやgtk-imを使う場合、Xのリソース(imeToggleKeyなど)、環境変数(XMODIFIERS, GTK_IM_MODULEなど)を設定。
  5. gtkのimmodules.cacheを更新する。
  6. wimeを実行。

共有ライブラリを使うので、wimeインストール後にldconfigを実行してください。

使い方

wime

で起動します。以後cannaserverと同じように振る舞います(その予定です)。

かんなと同時に使うことは出来ません。先にかんなを停止させてください(後述のコマンドラインオプションか環境変数を使うことで同時に起動させることもできます)。

終了は

wimectrl -k

あるいは

cannakill

です。

インストール前に

LD_LIBRARY_PATH=./io:./so:$LD_LIBRARY_PATH ./exe/wime

として動作確認できます。

UTF-16モード

cannaプロトコルの"initialize"を使うときにユーザ名の後ろに"@utf16le"(もしくは"@utf16")か"@utf16be"を付けると、その接続で使う文字コードはかんなで使用している2バイトのEUC-JPではなく指定した文字コード(UTF-16)であるとします。もちろんこれだけでUTF-16が使えるわけではなく、wimeを使用するアプリケーション側もこれに応じた処理が必要になります。

これが使えれば、UTF-16にはあってもEUC-JPに無かったために文字化けしていた文字が扱えるようになります。

下記のサポートプログラムはUTF-16モードを使用しています(UTF-16をさらにUTF-8に変換しています)。

サポートプログラム

im-wime.so GTK+用immodule
wimexim XIMサーバー
wimectrl IMEの設定ダイアログの表示、wimeの終了などを行います。
libwimeqim.so Qt用immodule
ibus-engine-wime IBusエンジン
im-config用定義ファイル

GTK+用immodule

キー入力をWineに丸投げするため、変換操作時のキーバインドはIMEのものになります。

GTKアプリ上の右クリックで出るポップアップメニューで入力メソッドを"Wime"にするか、環境変数GTK_IM_MODULEに"wime"を指定します。

再変換

再変換したい文字列のところにカーソルを移動させてから再変換を行います。 選択部分を再変換することは現在できません。

XIMサーバー

これも同様にキー入力をWineに丸投げします。

環境変数 XMODIFIERS に "@im=wime" を指定してください。

wimectrl

wimeの終了などを行います。

今のところ rオプション(単語登録)はうまく動きません。

いろいろ

作成環境

OS Debian GNU/Linux buster/sid
Wine 3.12
IME ATOK 2015
gcc 8.2.0
クライアント kinput2-3.1, emacs-27.0.50(+yc.el), leafpad-0.8.18.1

ソフトウェアの使用について

wime --- Copyright (C) 2008-2018 ,thomas

このソフトウェアの使用によって発生するいかなる損害についても作者は責任を負いません。 自己責任の下で使用してください。

ライセンスは、Wineにならって LGPL とします。




各ATOKの動作状況

手持ちのATOKが動くかどうか試してみました。Wineのバージョンは3.8で、wimeの独自パッチを当てたものです。

ATOK20xx 08 10 11 12 14 15 17
動作 ×

ATOK2014はインストールが途中で中止されてしまいました。

ATOK2017はximやgtk-immoduleで変換候補ウィンドウが表示されません。

FreeBSDでの確認はしていません(私の環境では64bit版atokがインストールできなかったので)。