Bug 6514 [TSF] MS Natural Input 2002では、フォーカス移動時に勝手にIMEがONになる
初回投稿日時: 2009年02月27日19時28分09秒
最終更新日時: 2009年02月27日20時30分57秒
カテゴリ: Mozilla Core TSF Windows バグ却下
SNS:
Tweet (list)
TSF関連のバグでひとつ忘れていました。
WinXPに標準でインストールされているNatural Input 2002を利用すると、Fx内でフォーカス移動する度にIMEがオンになってしまう、というバグです。
Natural Input 2002の設定画面を見てみると、「起動時の入力モード」という項目があり、デフォルトで「ひらがな」が選択されています。
NI2002ではフォーカス移動時にTSFのドキュメント、もしくはコンテキストごとに「起動した」と判断しているようです。Geckoは、各エディタ毎に個別のドキュメントとコンテキストを持っているかのように振る舞うので、フォーカスを別のエディタに移す度に起動時の入力モードに変更されてしまう、という問題が発生します。
ですが、これはTSF-awareなアプリケーションでは既知の問題のようで、NI2002の仕様、もしくはバグのようです。現に、NI2003では問題無いそうです。以上の理由から、NI2002のこの挙動は仕様通りであるとしてinvalidとしました。
ひとつだけGeckoのバグと言えるのかもしれないのは、Geckoはフォーカスがエディタから移動する際に、そのエディタのためのドキュメントとコンテキストを逐一、破棄しているため、NI2002でオフにしたエディタに再びフォーカスを戻した時にもオンになってしまうという挙動です。
ですが、これを解決しようとすると、一度フォーカスを得たエディタのドキュメントとコンテキストを、そのエディタが破棄されるまで保持し続けなくてはいけません。これを実現しようとすると、非常に多くのオブザーバを(NI2002のためだけに)登録して、ドキュメントとコンテキストを管理しなくてはいけませんが、NI2002自体がこのバグのために使い物にならないのであれば、無駄な実装と言ってしまっても良いと思います。そのため、バグとして登録されても私は今のところ実装に乗り気ではありません。他のテキストサービスで有用な利用が可能なのであれば話は別ですが……
そういう訳で、Fx3.2ではWinXP標準搭載のNatural Input 2002の利用は非推奨です。Natural Input自体、評判悪いようですが、どうしてもこれが使いたい場合、Office 2003に付いているNatural Input 2003をインストールして利用してください。