mentaikoさんへの返信


mentaiko.syoyu.net
気づいたことを2つほど書いておきます。

まず1つは変換時の状態遷移を考慮しなければ、必要のないキーは意外と少ない気がするということです。例えばShift+方向キーは変換前入力中(波線や破線が下に出る状態)は必要ありませんが、文節選択中の拡大縮小にはShift+左右が必要ですし、変換候補表示中にはShift+上下のページ送りが必要です。

もちろん状態遷移をもっと正確に把握できればやりようはあると思うのですが、IME.ahkIME_GetConverting関数を使うのは、これ以上更新が行われるとは考えにくいIME.ahkに対する依存度を上げる行為です。あくまで個人的な見解ですがリスクが高いと言わざるを得ません。

もう1つは通常のIMEによる変換を前提とするのであれば変換前の文字数をカウントする意図がわからないということです。ひらがなの出力ごとに変換確定を入れて変換前入力中の状態を経由しない方式だと、範囲選択→BS→Ctrl+Zと入力された場合に改行や折返しが絡むとややこしいことになりそうな気がします。それなら連続ひらがな変換でいいかなという印象です。

mentaikoさんはすでにご存知かもしれませんがたすきには小書きフラグという考え方があります。かなが入力された場合フラグを立てSpaceが入力されれば折るというごく単純なコードです。それでも動作は怪しいくらいなので、フラグ管理は慎重に行われる必要がありそうです。

消極的なことばかり言ってすみません。また気づいたことがあればどんどん指摘していただけるとありがたいです。昨日のアップデートもmentaikoさんのエントリに刺激された部分が大きいです。
jigendaddy.hatenablog.com