とぴやまのブログ(アーカイブ)

元はてなダイアリー

IME再変換拡張+IME前後参照変換機能

前後参照変換機能の調査で分かったことですが、IME再変換機能においても、IMEに対して前後の文章を渡すことで、文脈にあった再変換処理を行う機能があるようです。

reconv IME 再変換拡張 というWZ用マクロでこのことを知りました。M.Shibataさん、マクロを公開してくださってありがとうございます。

再変換をしたい単語にカーソルを置いて、再変換を実行することで、自然な文節区切りで再変換するようになります。但し、再変換したい文字列を選択していない状態に限ります。

1点、付け加えますと、ATOKではこのマクロは正しく動作しません。
2回目の (uMsg, wParam) = (WM_IME_REQUEST, IMR_RECONVERTSTRING) に対して、ImmSetCompositionString(SCS_QUERYRECONVERTSTRING) を行って、その後で RECONVERTSTRING 構造体のメンバ変数を変更していますが、その処理を、 (uMsg, wParam) = (WM_IME_REQUEST, IMR_CONFIRMRECONVERTSTRING) をトリガーにして行うようにしたところ、ATOKでも動作するようになりました。

この改造を実装し、前エントリである、IMEの前後参照変換機能 も合わせて内蔵したマクロを作成しました。IME再変換拡張(改造版) ver 00.01 IME再変換拡張(改造版) ver 00.02 (2007/09/11:修正)