Windows 版 Nightly が TSF ネイティブサポートへ

2014 年 8 月 6 日 (日本時間) の Windows 版 Nightly から、Windows の新しいテキスト入力 API である TSF (Text Services Framework) のサポートがデフォルト設定で有効化されます。

TSF は非常に強力で、単に、従来までの IMM (Input Method Manager) を置き換えだけではなく、タブレット PC での手書き入力や、音声入力も、IME と同様に扱える API 群です。そのような、TSF に対応したテキスト入力を行うソフトウェアは、TIP (Text Input Processor) と呼ばれます。現在、IME と同様にキーボードからの入力を行う日本語 TIP は、Windows XP 以降で標準添付されている MS-IME 、ATOK 2011 以降 (ただし、Windows Vista 以降にインストールしている場合のみ) 、Google 日本語入力 (ただし、Windows 8 以降にインストールしている場合のみ) などがあります。ちなみに、TSF 非対応の古い IMM 向け IME の Japanist 2003 等は、引き続き、Gecko の IMM イベントハンドラにフォールバックされ、変わらず利用可能ですので、これらをご利用中の方も安心してください。

TSF にネイティブ対応し、デフォルトで有効化されているブラウザは、現在のところ、Internet Explorer 11 以降と、Google Chrome のメトロアプリ版のみです。前者はオープンソースなソフトウェアではないため、詳細は不明ですが、後者は、Transitory コンテキストとして実装している模様ですので、もしかすると、Nightly が初の TSF フルサポートの Web ブラウザになるのかもしれません。

TSF は前述のように非常に強力な API で、TIP 側からはフォーカスをもったエディタの内容に自由に、任意のタイミングでアクセスすることができます。このため、TSF 対応アプリと、TIP の組み合わせによっては、その動作や、実行時のパフォーマンスに問題が発生する可能性があります。 Gecko の TSF の初期実装は 2009 年 2 月に Nightly に取り込まれていますが、その当時は、Windows XP の未成熟な TSF や TIP そして、Gecko 側の実装レベルではまともに動作せず、ここから 5 年間、地道な改良を続けて、ほとんどの発見されている重大なバグの修正が完了したことで、一般のテスタの方々にもテストを行って頂くことができるようになりました。つまり、もし、なんらかの新しいバグを発見された場合、おそらくそれは、未発見のバグですので、Bugzilla へ Core 、Widget: Win32 のバグとして報告してください。その際に、バグのタイトルの先頭に、”[TSF] ” を付けておいてもらえると、他のバグとの区別が付きやすいので助かります。また、既に見つかっているバグかどうかを検索する際には、同様に、“[TSF]” がタイトルに含まれているバグを探せば、発見済みの全てのバグを見つけることができます

もし、何らかの重大なバグがあり、Nightly でのテストが困難になるようでしたら、about:config から、intl.tsf.enable を false に変更し、再起動してください。これによって、従来の IMM サポートのみの状態に戻すことができます。ですので、TSF モード固有のバグであるかどうか確認する際にも、この設定を利用して、テストしてみてください。

ただし、前述のように、Windows XP では TSF や、標準で搭載されている TIP の MS-IME に問題が多数存在し、現在も未解決のため、今回も、また、これ以降もおそらく、デフォルト設定で、TSF モードが有効になることはありません。しかし、一部、タブレット PC 等で、需要がある可能性があるため、intl.tsf.force_enable を true にすることで、Windows XP や、Windows Server 2003 でも TSF モードを強制的に有効にすることは可能です。

一般的な日本人のユーザから見た、TSF モードでの分かりやすい変更点は、未確定文字列の表示でしょう。 IMM では、未確定文字列をアプリケーション自身で描画する場合には、その IME 固有の未確定文字列の表示スタイルを取得を行うことが、現実的には不可能でした。ですが、TSF では、このあたりの API も提供され、各 TIP の設定通りの未確定文字列が表示されるようになります。例えば、MS-IME の変換前の未確定文字列の下線は、波線で表示され、ATOK の変換中の文節の背景色は水色で表示され、Google 日本語入力の変換前のみ確定文字列は、点線で表示されます。これにより、今まで以上に自然なユーザ体験を提供することが可能になります。

それでは、Aurora や、リリース版でも TSF モードを有効にできるように、テストと、バグの報告をよろしくお願いします。

1 件のコメント

  1. Pingback from もじら組 on :

    […] *1 : https://todesschaf.org/posts/2014/08/05/http2-draft-14-in-firefox.html *2 : https://bugzilla.mozilla.org/show_bug.cgi?id=1047594 *3 : https://bugzilla.mozilla.org/show_bug.cgi?id=1050063 *4 : https://dev.mozilla.jp/2014/08/nightly_supports_tsf/ […]