練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

Google 日本語入力がとっくに TSF から IMM32 に変更してた

コメントなし»

某ブラウザで最後のタブを閉じたときの動作を「タブを閉じる - lastTabClose」に設定していると、最後のタブを閉じた時に数秒間フリーズするという挙動が見られました。

Windows XP で詳細なテキストサービスを有効にした状態でウィンドウを閉じると数秒間フリーズするという問題によく似ていたので、試しに「詳細なテキストサービスをオフにする」にチェックを入れてみたら某ブラウザのフリーズも発生しなくなりました。

某ブラウザ自体のウィンドウを閉じているのではないのですが、内部的に何か特殊な処理をしているのか、同じ影響があるようです。

そもそもメリットがなくデメリットしかない詳細なテキストサービスを有効にしていたのは、Google 日本語入力が要求していたため仕方なくだったのですが、無効にしていてもそちらの動作は問題なし。いくつかのアプリケーションで入力を試してもみましたが変わらず変換できます。

……と思ったら、Google 日本語入力は使用するインターフェースを既に TSF から IMM32 に変更していました。

Google Japan Blog: Google 日本語入力のベータ版をアップデートしました。(0.13.521.0 / 0.13.537.1)

全然知らなかった、なんという情弱。

これでようやくフリーズ地獄から解放され、某ブラウザも快適に使えます。

2ch Google日本語入力 サジェスト15候補目 >>203 より引用。

203 :名無しさん@お腹いっぱい。:2012/03/09(金) 18:45:43.26 ID:+M8+ZtVS0
>>201
imeの開発を難しくしているwindowsの設計に問題があるんだろうね。

たとえばwindowsのimeには2つの仕様がある。imm32とtsf。
imm32はwin95から使われている古い仕様。いろいろ問題がある。
tsfが新しい仕様でmicrosoftもこっちを使ってください、という仕様。

google imeは当初tsfで開発されていた。
まあ新しい仕様で開発しようとしたわけだ。

ところが問題続出で結局imm32にせざるを得なかった。
アプリが要求する仕様もimm32とtsfがあって、
アプリがimm32で、imeがtsfの場合、windowsが両者を変換する
仕組みになっているのだけど、それがいろいろ問題を引き起こす。

tsfを要求するアプリの場合は、imeがimm32でも比較的問題が生じない。
で、結局imeはimm32の方が無難という選択になるわけだ。

同じ問題はatokにもある。

なるほどー。