このページの本文へ

前へ 1 2 次へ

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

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

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

文● 塩田紳二

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

Windows 8スタイル環境でIMEを動かすには?

 Windows 8スタイル環境は、デスクトップ環境にはない制限や要求事項がある。マイクロソフトは、Windows 8スタイル環境でのテキスト入力サービスはTSFのみとして、CUASによるIMMのサポートは行なわないことにした。そのためWindows 8スタイル環境で動作するWindowsストアアプリは、IMEの存在をまったく気にしないアプリか、TSFに対応したアプリのどちらかになる。

 一方でデスクトップ環境では、アプリケーションに対しては互換性のためIMMの機能がCUASを通して提供される。だが将来的には、IMEはTSF対応のみが許され、新規のアプリケーションはTSF対応が強制されることになるだろう。

 Windows 8スタイル環境でIMEを動作させるには、TSF以外にもいくつか対応すべきことがある。例えば言語バーの問題だ。Windows 8では標準の場合、タスクバーの通知領域でIMEの状態を表示して、言語バーを表示しない。タスクバーには、IMEを区別するアイコン(ブランドアイコン)と、入力状態を区別するアイコン(モードアイコン)の2つが並ぶ。

Windows 8では言語バーは使われず、通知領域を使う。右端が選択したIMEを示すブランドアイコン。その左隣がIMEの状態表示のためのモードアイコン

 ブランドアイコンの役目は、現在選択されているIME(正式には言語/キーボードレイアウトの組)を示し、クリックで表示するメニューから、他の言語/レイアウトへの切り替えられるようにするものだ。モードアイコンがIMEの状態を表示する。なおWindows 8では、デスクトップ、Windows 8スタイルのどちらでも「Windowsロゴキー+スペース」で、言語/レイアウトを切り替えられる。このときには、通知領域と同じアイコンと言語/レイアウトの名前が表示される。

 Windows 8にはなぜ言語バーがないのかというと、Windows 8スタイル環境には、言語バーのように「常に表示される小さなフローティングウインドウが置けない」からだ。「置けない」というよりも、マイクロソフトはこういうものを“置かない”環境として、Windows 8スタイルを設計したのだ。MS-IMEでは、カレット(テキストカーソル)の横にモードアイコンが表示されるだけだ。

MS-IMEによるモードの表示。Windows 8スタイル環境でMS-IMEのモードを切り替えると、小さなモードアイコンのみがカレットのそばに表示される(赤枠内)

 IMEをWindows 8スタイルでも使えるようにするには、TSFだけでなくWindows 8スタイルにも対応する必要がある。例えば、前述のタスクバーアイコンの対応などである。そのほかにも、Windows 8スタイル環境はセキュリティー要求が厳しく、ファイルへのアクセスが限定される。そのため辞書ファイルをC:¥Program FilesフォルダやC:¥Windowsフォルダ以外に置く場合には、ファイルのアクセス権などを制御する必要がある。さらに、実行中のインターネットアクセスなどにも制限がある。

 さらに、変換候補などの表示は、Windows 8スタイル環境が持つ「簡易非表示UIサーフェス」に対応する必要があると、マイクロソフトの技術文書にある。「簡易非表示UIサーフェス」とは、ユーザーが「簡単に(簡易)オフ(非表示)にできるウインドウ(サーフェース)」という意味で、ユーザーがこのウインドウ外をタッチしたり、アプリがフォーカスを失った場合などに消されるウインドウの振る舞いを意味する。英語の「Light dismiss」を「簡易非表示」と訳したらしい。

 なお英文のドキュメントでは、この振る舞いを「Light dismiss model」と呼んでいるようだ。専用のウインドウがあるというよりも、「ポップアップウインドウの振る舞いをAPIで指定して、イベントに対応しろ」ということだと思われる。このときの動作はIMEにまかされているようだが、候補ウインドウが出ているときにそのウインドウを消すと、文字をそのときの状態で確定させるようだ。

Windows 8スタイル環境では、候補はすぐに消せる小さな「サーフェース」上に配置される(左はATOK 2013、右はMS-IME)。サーフェース外をタッチすると候補は消え、文字列は確定状態となる

 もうひとつ必要になるのは、タッチキーボードへの対応だ。タブレットのようにキーボードを持たないハードウェアが想定されるWindows 8では、タッチキーボードでIMEが正しく動作する必要がある。例えば、IMEが入力候補を表示する場合、タッチキーを覆い隠さないように候補を出す必要がある。そのためには、タッチキーの位置やサイズなどを、IME側がAPIを通して把握する必要がある。

Windows 8スタイル環境では、タッチキーボードの位置を検出して重ならないように候補を表示する必要がある。MS-IMEは縦に並んだ候補を上下に出して、キーボードを避ける

ATOK 2013は、通常はタッチキーボードの真上に候補を横に並べるが、入力領域と重なりそうな場合には、候補表示を上に逃がす

 ATOKが対応したことで、Windows 8も環境整備という点では落ち着きつつある。しかし、アプリケーションのTSF対応はまだこれからだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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