Windows 8はWindows 7との互換性があるものの、新しいWindows 8スタイル環境では、原則として従来のデスクトップアプリケーションは動作しない(例外はInternet Explorerとエクスプローラー)。しかしかな漢字変換入力の機能は、Windows 8スタイル環境でも必要だ。Windows 8スタイル環境とデスクトップの両方で同一のプログラムを使うためには、マイクロソフトの要求仕様に合わせて開発する必要がある。
今回はWindows 8とIMEの関係について説明しよう。
Windows XP時代に導入されたTSF
Windows 8スタイル環境とデスクトップ環境の両方で使えるかな漢字変換入力プログラムを開発するには、まず「TSF」(Text Service Framework)というAPIセットに対応しなければならない。またWindows 8スタイルが要求する条件や、セキュリティー要求などにも対応する必要がある。
かな漢字変換機能を実現するプログラムは、「IME」(Input Method Editor)と呼ばれることが一般的だ。Windows 95から導入された、「Input Method Manager」※1という文字入力の仕組みで定義された用語だ。かな漢字などの文字変換エンジンと、入力や変換、訂正などのユーザーインターフェースを含む部分を総称してIMEと呼ばれている。
※1 モジュール名からIMM32 APIなどと呼ばれることもある。本稿ではIMMと略す。
一方TSFでは、同様のプログラムを「TIP」(Text Input Processor)と呼ぶ。IMEとTIPの機能は同じようなものだが、厳密に言うなら上部の機構が違い、プログラムとしてはまったく異なるものだ。TSFでは、入力方式は選択された言語における「キーボードレイアウト」として管理され、TIPはこの「キーボードレイアウトを実現するプログラム」という位置づけになる。とはいえ、わかりやすさを優先して、この記事ではIMEで通すことにする。
TSFは、Windows XPから存在するテキスト入力の仕組みだ(厳密にはOffice XPで搭載された)。IMMは日本語入力のために作られたもので、IMEを組み込むための機構と、アプリケーション側に対してIMEを制御するためのAPIなどを提供する。アプリケーションには、IMEのオン/オフや読み仮名の取得、アプリケーション内での未確定文字列や変換後文字列の挿入表示などのために、IME側を制御する機能を持つものがある。一方でIMEをまったく考慮せず、関連のAPIを呼び出さないアプリケーションもある。
TSFはキーボード以外からの文字入力だけでなく、例えば音声認識や手書き文字認識なども扱い、さらにアプリケーションに対して、入力方式の制御といった機能を提供する。TSFはこうしたキーボード以外の入力なども考慮した、「テキスト」を扱うための仕組みとして設計されているのだ。
ただし従来からの経緯により、IMM対応のアプリケーションはかなり多いものの、TSF対応のアプリケーションは、マイクロソフト製を除くとそれほど多くない。というのも、Windows XPでIMM対応のアプリケーションに対して、TSF対応のIMEを利用できるようにした「CUAS」という仕組みが、障害を引き起こすことが多かったからだ。
Windows XP時代からのユーザーなら、「言語バーをオフにしろ」とか「『詳細なテキストサービス』をオフにしろ」という話や、「詳細なテキストサービスのサポートをプログラムのすべてに拡張する」設定をオフにするといったチップスを思い出す人もいるだろう。この「詳細なテキストサービス」(英語表記ではAdvanced Text Service)というがTSFのことで、「詳細なテキストサービスのサポートをプログラムのすべてに拡張する」という設定は、CUASのオン/オフだったのだ。
Windows Vistaになると、従来のIMEのためにIMMは残されたものの、TSFやCUASが改良されたことで、TSF対応のIME(TIP)でもIMM対応アプリケーションが正しく動くようになった。そのためIME側のTSF対応も進み、例えばATOKは「ATOK 2011」から、TSF対応のIMEとして動作できるようになった。
ちなみにCUASとは、「Cicero Unaware Application Support」の略で、CiceroとはTSFの開発時のコードネームである。Cicero自体は正式名称を得てTSF(Text Services Framework)」と呼ばれるようになったが、CUASはいまだにCiceroのままである。Ciceroとは「キケロ」のことだ。キケロはローマ時代の文筆家、哲学者で、特に「散文の名手」として認識されている人である。マイクロソフトのサポート文書にもそのまま登場し、Ciceroがキーワードとして扱われている。
このようにWindowsとIMEの関係は、IMMからTSFへの移行という問題があった。そこへ新たに、Windows 8スタイル環境が加わったという背景があるわけだ。
この連載の記事
-
第34回
PC
Windows 8の狙いは、UIの変化よりもAPIの変化が本質 -
第33回
PC
Windows 8が動作しなくなった? 新しくなった修復機能 -
第31回
PC
Windows 8の無線LANをコマンドラインで細かく制御 -
第30回
PC
Windows 8をマウスで使いやすくするレジストリの小技 -
第29回
PC
周辺機器・アプリがWindows 8/RTで動くか確認する方法 -
第28回
PC
Windows 8のキーボードショートカットを全公開 -
第27回
PC
Windows 8が使いにくい? マウスを変えると印象も変わる -
第26回
PC
実はNFCに対応しているWindows 8 ただしアプリは不足 -
第25回
PC
実は扱いがまったく異なるWindows 8でのタッチパネル -
第24回
PC
Surfaceから見えるWindows RTの実像と、将来PCへの影響 - この連載の一覧へ