このページの本文へ

前へ 1 2 次へ

塩田紳二のWindows 8 IN-N-OUT 第32回

Windows 8でIMEに求められる新しい要素とはなにか?

2013年01月17日 17時02分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 8はWindows 7との互換性があるものの、新しいWindows 8スタイル環境では、原則として従来のデスクトップアプリケーションは動作しない(例外はInternet Explorerとエクスプローラー)。しかしかな漢字変換入力の機能は、Windows 8スタイル環境でも必要だ。Windows 8スタイル環境とデスクトップの両方で同一のプログラムを使うためには、マイクロソフトの要求仕様に合わせて開発する必要がある。

2月に発売予定の、Windows 8スタイルに対応した「ATOK 2013」

 今回は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スタイル環境が加わったという背景があるわけだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン