(57)【要約】【課題】文字入力に関するＯＳ側の定義によらずに、簡単な方法でアプリケーションウィンドウに文字を入力できるようにする。【解決手段】文字入力システム２は、ＯＳ１からの呼び出しに応じて、その時点でアクティブな状態にあるアプリケーションウィンドウのウィンドウハンドルを取得し、文字入力用のＧＵＩウィンドウを立ち上げ、以後、ＧＵＩウィンドウに対する操作に応じて入力対象の文字列を設定する。さらに確定操作を受け付けると、その時点で設定されている文字列を、貼り付け処理のためにクリップボード４に保存する情報として出力する。さらに、呼び出し時に取得したウィンドウハンドルのアプリケーションウィンドウへの貼り付けキーイベントを送信する。この送信を受け付けたアプリケーションシステム３は、クリップボード４から文字列を取得し、実行中のアプリケーションウィンドウのカーソルの位置に貼り付ける。【選択図】図１
2010217961.tif 000002
【特許請求の範囲】
【請求項１】
オペレーションシステムと、オペレーションシステムの管理下で動作するアプリケーションシステムと、貼り付け対象の情報を一時保存するためのメモリシステムとが設けられたコンピュータに、アクティブ状態のアプリケーションウィンドウへの文字入力処理を実行する機能を設定するためのプログラムであって、
前記オペレーションシステムからの呼び出しに応じて、アクティブな状態にあるアプリケーションウィンドウの識別情報をオペレーションシステムから取得する識別情報取得手段、
文字入力に関する操作を前記オペレーションシステムを介して受け付けて、その操作に応じた文字列を設定する文字列設定手段、
前記文字列設定手段により設定された文字列を前記アプリケーションウィンドウに入力する旨の操作を前記オペレーションシステムを介して受け付けたとき、当該文字列を前記メモリシステムに保存するために選択した情報としてオペレーションシステムに出力する文字列出力手段、および
前記文字列が出力されたことに応じて、前記識別情報取得手段が取得した識別情報のアプリケーションウィンドウに貼り付け操作のキーイベント情報を送る旨の要求を前記オペレーションシステムに出力するキーイベント発生要求手段、として前記コンピュータを機能させる、ことを特徴とする文字入力用のプログラム。
【請求項２】
前記文字列設定手段には、複数種の言語の中の１つを選択する操作を前記オペレーションシステムを介して受け付けて、当該操作により選択された言語を入力対象の言語として認識する認識手段と、文字または文字要素を入力する操作を前記オペレーションシステムを介して受け付けて、受け付けた入力情報により前記入力対象として認識した言語の辞書ファイルを検索することにより、前記入力操作に応じた変換候補の文字列を抽出し、表示する変換候補抽出手段と、表示された変換候補を選択する操作を前記オペレーションシステムを介して受け付けたとき、その操作により選択された変換候補の文字列を前記メモリシステム内に保存する文字列として確定する文字列確定手段とが設けられている、請求項１に記載された文字入力用のプログラム。
【請求項３】
前記文字列設定手段には、認識手段により認識された入力対象の言語について、当該言語用の文字または文字要素が割り付けられたキーボードの画像を含むＧＵＩウィンドウを表示するＧＵＩ表示手段がさらに含まれており、
前記変換候補抽出手段は、ＧＵＩ表示手段が表示したウィンドウ内のキーを選択する操作を前記オペレーションシステムを介して受け付けて、操作されたキーに対応する文字または文字要素を認識し、その認識結果に基づき前記入力対象の言語の辞書ファイルに対する検索処理を実行する請求項２に記載された文字入力用のプログラム。
【請求項４】
オペレーションシステムと、オペレーションシステムの管理下で動作する所定数のアプリケーションシステムと、貼り付け対象の情報を一時保存するためのメモリシステムと、アクティブ状態のアプリケーションウィンドウへの文字入力処理を実行する文字入力システムとが設けられた情報処理装置であって、
前記文字入力システムは、
前記オペレーションシステムからの呼び出しに応じて、この呼び出し時にアクティブな状態にあったアプリケーションウィンドウの識別情報をオペレーションシステムから取得する識別情報取得手段と、
文字入力に関する操作を前記オペレーションシステムを介して受け付けて、その操作に応じた文字列を設定する文字列設定手段と、
前記文字列設定手段により設定された文字列を前記アプリケーションウィンドウに入力する旨の操作を前記オペレーションシステムを介して受け付けたとき、当該文字列を前記メモリシステムに保存するために選択した情報として前記オペレーションシステムに出力する文字列出力手段と、
前記文字列が出力されたことに応じて、前記識別情報取得手段が取得した識別情報のアプリケーションウィンドウに貼り付け操作のキーイベント情報を送る旨の要求を前記オペレーションシステムに出力するキーイベント発生要求手段とを、具備する、
ことを特徴とする情報処理装置。
【請求項５】
前記文字入力システムには、複数種の言語について、それぞれ専用の辞書ファイルが設けられており、
前記文字列設定手段には、複数種の言語の中の１つを選択する操作を前記オペレーションシステムを介して受け付けて、当該操作により選択された言語を入力対象の言語として認識する認識手段と、文字または文字要素を入力する操作を前記オペレーションシステムを介して受け付けて、受け付けた入力情報により前記入力対象として認識した言語の辞書ファイルを検索することにより、前記入力操作に応じた変換候補の文字列を抽出し、表示する変換候補抽出手段と、表示された変換候補を選択する操作を前記オペレーションシステムを介して受け付けたとき、その操作により選択された変換候補の文字列を前記メモリシステム内に保存する文字列として確定する文字列確定手段とが設けられている、
請求項４に記載された情報処理装置。
【請求項６】
前記文字列設定手段には、認識手段により認識された入力対象の言語について、当該言語用の文字または文字要素が割り付けられたキーボードの画像を含むＧＵＩウィンドウを表示するＧＵＩ表示手段がさらに含まれており、
前記変換候補抽出手段は、ＧＵＩ表示手段が表示したウィンドウ内のキーを選択する操作を前記オペレーションシステムを介して受け付けて、前記操作されたキーに対応する文字または文字要素を認識し、その認識結果に基づき前記入力対象の言語の辞書ファイルに対する検索処理を実行する、請求項５に記載された情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーションシステムが導入されたコンピュータに文字入力システムとしての機能を設定するプログラム、およびこのプログラムによる文字入力システムが設定された情報処理装置に関する。
【背景技術】
【０００２】
オペレーションシステム（以下、「ＯＳ」と略す場合もある。）が導入されているコンピュータには、「クリップボード」と呼ばれるメモリシステムを介して情報の転送を行う機能（コピーアンドペースト機能）が設けられている。この機能は、たとえば、あるアプリケーションウィンドウで編集中のデータを、同じウィンドウ内の別の場所に移動させたりコピーする場合に利用されるほか、あるアプリケーションウィンドウ内の情報を別のアプリケーションウィンドウに転送する目的で使用される場合もある。
【０００３】
またこの種のコンピュータでは、アプリケーションウィンドウにアルファベットや数字以外の文字を入力する必要が生じた場合には、ＩＭＥ（Input  Method  Editor ）と呼ばれる文字入力システムを起動する。ＯＳには、このＩＭＥを、入力対象のアプリケーションと一体になって動作するように制御する機能が設けられている。
【０００４】
たとえば、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）が導入されたコンピュータでは、図６に示すように、ＯＳ内のＩＭＦ（Input Method Framework）と呼ばれる機能により、ＩＭＥおよびアプリケーションシステムを制御する。この制御の仕組みについて、図６中の符号を引用して説明すると、文字入力に関してユーザが行った操作（文字キーの操作、変換操作、確定操作など）に応じて、ＩＭＦ１０１からＩＭＥ２００にキーイベント情報が渡される。ＩＭＥ２００は、このキーイベント情報により操作内容を認識して、操作に応じた処理（文字列の組立、変換候補の抽出、変換後文字列の確定など）を実行し、その処理により設定した文字列をＩＭＦ１０１に出力する。
【０００５】
一方で、アプリケーションシステム３００からＩＭＦ１０１には、当該システムが実行するアプリケーションウィンドウ内のカーソルの位置などの情報が供給される。ＩＭＲ１０１は、この位置情報に基づき表示位置を指定して、ＩＭＥ２００から供給された文字列をアプリケーションシステム３００に出力する。アプリケーションシステム３００では、アプリケーションウィンドウ内の指定された位置に供給された文字列を表示する。
【０００６】
上記一連の処理により、ユーザの操作に応じた文字列がアクティブ状態のアプリケーションウィンドウに表示されることになる。
【０００７】
日本語入力用のＩＭＥでは、一般に、ローマ字表記のアルファベット文字列の入力を受け付けて、これをかな文字列に変換した後、さらに変換操作に応じてかな漢字変換を実行する。一方、他の言語用のＩＭＥには、キーボードに文字の一部（韓国語の字母など。以下、これを「文字要素」という。）を割り付けて、キーボードの操作に応じて文字列を組み立てるものがある（たとえば特許文献１を参照。）。
【０００８】
また、文字入力操作を容易にする目的で、モニタ画面にキーボード画像を表示し、この画像中のキーをマウスでクリックすることによって、変換前の文字列を入力するようにしたシステムも開発されている（たとえば特許文献２を参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第３７９６６５１号公報
【特許文献２】特開２００２−１１７０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の特許文献１，２に記載されたものを含む従来のＩＭＥは、ＩＭＦの定義に従って動作することを条件とするため、ＩＭＦに関する専門知識を持つ者でなければ、ＩＭＥを開発するのは困難である。またコンピュータに導入されるすべてのアプリケーションシステムに対してＩＭＥの動作が保障されるように設計する必要があるため、新規のＩＭＥを開発するには多大な労力がかかり、またプログラムが複雑になる。
【００１１】
本発明は上記の問題点に着目し、文字入力に関するＯＳ側の定義によらずに、簡単な方法でアプリケーションウィンドウに文字を入力できるようにすることを、課題とする。
【課題を解決するための手段】
【００１２】
本発明による文字入力用のプログラムは、オペレーションシステムと、オペレーションシステムの管理下で動作するアプリケーションシステムと、貼り付け対象の情報を一時保存するためのメモリシステム（具体的には「クリップボード」のことである。）とが設けられたコンピュータに導入されて、このコンピュータにアクティブ状態のアプリケーションウィンドウへの文字入力処理を実行する機能を設定するためのものである。このプログラムは、以下の識別情報取得手段、文字列設定手段、文字列出力手段、およびキーイベント発生要求手段としてコンピュータを動作させる。
【００１３】
識別情報取得手段は、オペレーションシステムからの呼び出しに応じて、アクティブな状態にあるアプリケーションウィンドウの識別情報をオペレーションシステムから取得する。
【００１４】
文字列設定手段は、文字入力に関する操作をオペレーションシステムを介して受け付けて、その操作に応じた文字列を設定する。文字列出力手段は、文字列設定手段により設定された文字列をアプリケーションウィンドウに入力する旨の操作をオペレーションシステムを介して受け付けたとき、当該文字列をメモリシステムに保存するために選択した情報としてオペレーションシステムに出力する。
【００１５】
キーイベント発生要求手段は、文字列が出力されたことに応じて、識別情報取得手段が取得した識別情報のアプリケーションウィンドウに貼り付け操作のキーイベント情報を送る旨の要求をオペレーションシステムに出力する。
【００１６】
上記構成のプログラムによれば、文字入力に関する操作に応じて所定の文字列から他の文字種に変換する処理や、複数の文字要素を組み立てる処理などを実行して、アプリケーションウィンドウに入力するための文字列を設定した後、この文字列を入力する旨の操作に応じて当該文字列をオペレーションシステムに出力する。従来の文字入力システムでは、この出力がアプリケーションシステムに転送されるように、ＯＳの定義情報に従った方法で情報の送信を行っているが、本発明では、貼り付け処理のためにメモリシステム内に保存される情報として文字列を出力する。よって、ＯＳ側では、出力された文字列を通常のコピー操作に応じて出力された情報と同様に取り扱って、メモリシステム内に一時保存する。
【００１７】
さらに上記の文字列の出力に応じてキーイベント発生要求手段から送信した要求により、オペレーションシステムからの呼び出し時にアクティブな状態にあったアプリケーションウィンドウに貼り付け操作のキーイベント情報が送られる。この送信対象のアプリケーションウィンドウを実行するアプリケーションシステムは、ＯＳにメモリシステムに保存されている文字列の送信を要求し、送信された文字列を上記のアプリケーションウィンドウ内のカーソルが置かれている位置に貼り付ける。これにより、文字入力システムで生成された文字列がアプリケーションウィンドウに入力された状態となる。
【００１８】
また上記の方法では、ＯＳからの呼び出し時にアクティブな状態にあるアプリケーションウィンドウの識別情報を取得し、この識別情報のアプリケーションウィンドウに上記のキーイベント情報が送信されるように制御することにより、入力対象のアプリケーションウィンドウを再びアクティブ状態にして文字列を入力するので、従来のＩＭＥと同様の文字入力処理を支障なく実行することができる。
【００１９】
上記の文字列出力手段による処理は、貼り付け対象の情報を選択してメモリシステムに転送する処理（コピー）を利用したものであり、キーイベント要求発生手段による処理は、メモリシステムに保存された情報を文字入力位置に貼り付ける処理（ペースト）を利用したものである。このように、本発明では、一般的なコピーアンドペースト機能を利用することによって、ＯＳが定めたＩＭＥの定義情報に従った処理を行わなくとも、アプリケーションシステムへの文字入力を行うことができる。また、オペレーションシステムの基本の機能を利用しているので、ＯＳの管理下で動作する全てのアプリケーションに適用することが可能である。
【００２０】
好ましい実施態様のプログラムでは、複数種の言語についてそれぞれ専用に設定された辞書ファイルがコンピュータ内に導入されていることを前提として、文字列設定手段に、複数種の言語の中の１つを選択する操作をオペレーションシステムを介して受け付けて、当該操作により選択された言語を入力対象の言語として認識する認識手段と、文字または文字要素を入力する操作をオペレーションシステムを介して受け付けて、受け付けた入力情報により前記入力対象として認識した言語の辞書ファイルを検索することにより、入力操作に応じた変換候補の文字列を抽出し、表示する変換候補抽出手段と、表示された変換候補を選択する操作をオペレーションシステムを介して受け付けたとき、その操作により選択された変換候補の文字列をメモリシステム内に保存する文字列として確定する文字列確定手段とが設けられる。
【００２１】
上記のプログラムによれば、入力対象の言語の選択を切り替える操作に応じて、選択された言語による文字列を入力することができる。またいずれの言語の文字列を入力する場合にも、文字または文字要素を入力する操作に応じて表示された変換候補の中の１つを選択することにより、文字入力作業を途中で終了して、アプリケーションシステムに入力する文字列を確定することができる。よって、１つの文字入力システムによって、ユーザの所望の言語を効率良く入力することが可能になる。
【００２２】
より好ましい態様のプログラムでは、文字列設定手段に、認識手段により認識された入力対象の言語について、当該言語用の文字または文字要素が割り付けられたキーボードの画像を含むＧＵＩウィンドウを表示するＧＵＩ表示手段がさらに含まれる。また変換候補抽出手段は、ＧＵＩ表示手段が表示したウィンドウ内のキーを選択する操作をオペレーションシステムを介して受け付けて、操作されたキーに対応する文字または文字要素を認識し、その認識結果に基づき入力対象の言語の辞書ファイルに対する検索処理を実行する。
【００２３】
上記の態様によれば、ユーザが言語を選択する操作を行うと、その操作により選択された言語の文字または文字要素が割り付けられたキーボードの画像を含むＧＵＩウィンドウが表示され、このウィンドウ内でのキー操作により文字または文字要素を入力しながら、その入力により設定された文字列を確認することが可能になる。よって文字や文字要素の入力がより一層容易になる。
【００２４】
さらに本発明では、オペレーションシステムと、オペレーションシステムの管理下で動作する所定数のアプリケーションシステムと、貼り付け対象の情報を一時保存するためのメモリシステムと、上記のプログラムによる文字入力システムとが導入された情報提供装置を提供することができる。
【発明の効果】
【００２５】
本発明によれば、入力対象の文字列をメモリ領域内に保存した後に、呼び出し時にアクティブな状態にあったアプリケーションシステムに貼り付け操作のキーイベント情報を送信することによって、オペレーションシステムが文字入力に関して定義した処理を実行しなくともアプリケーションウィンドウに文字列を入力することができる。よって、文字入力に関するオペレーションシステムの定義情報を考慮せずに文字入力システムを開発することが可能になり、またプログラムの構成を簡単にすることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明による文字入力システムが組み込まれたコンピュータシステムの構成を示す図である。
【図２】文字入力システムが立ち上げるＧＵＩウィンドウの構成例を示す図である。
【図３】日本語入力モードにおける文字入力の例を示す図である。
【図４】韓国語入力モードにおける文字入力の例を示す図である。
【図５】日本語入力システムによる処理の手順を示すフローチャートである。
【図６】従来の文字入力システムが組み込まれたコンピュータシステムの構成を示す図である。
【発明を実施するための形態】
【００２７】
図１は、本発明を適用した文字入力システムが導入されたコンピュータシステムの例を示す、このコンピュータシステムには、オペレーションシステム（ＯＳ）１、このＯＳ１の管理下で動作する文字入力システム２および複数のアプリケーションシステム３（図１では１つのみ示す。）、クリップボード４などが設けられる。
【００２８】
さらにこの実施例のコンピュータシステムには、日本語、簡体字表記の中国語、繁体字表記の中国語、韓国語の４種類の言語について、それぞれ専用の辞書ファイルＤ１，Ｄ２，Ｄ３，Ｄ４が設けられる。文字入力システム２には、これらの辞書ファイルＤ１〜Ｄ４を用いて４種類の言語による文字列を設定する機能や、設定した文字列を、アプリケーションシステム３が実行中のアプリケーションウィンドウに入力する機能が設けられる。
【００２９】
上記のコンピュータシステムは、キーボード、マウス、モニタ装置（いずれも図示を省略。）などが接続されたパーソナルコンピュータに組み込まれる。ＯＳ１としては、具体的には、Ｗｉｎｄｏｗｓ（登録商標）の所定のバージョンのものが採用される。なお、図１では、図示の便宜上、各辞書ファイルＤ１〜Ｄ４を文字入力システム２のブロックの外に配置しているが、これらの辞書ファイルＤ１〜Ｄ４も文字入力システム２に含まれるものである。
【００３０】
上記の文字入力システム２は、ＯＳ１が動作している間、常駐状態に設定され、「ホットキー」と呼ばれる操作（Ａｌｔキーまたはコントロールキーをその他の特定のキーと共に押下する操作）に応じて呼び出され、図２に示すようなＧＵＩウィンドウ２０を立ち上げる。
【００３１】
このＧＵＩウィンドウ２０には、キーボード画像による操作部２１が設けられると共に、その上方に２つの表示領域２２，２３が設けられる。１番上の表示領域２２には、入力対象の文字列が表示されるので、以下、この領域２２を「文字列表示エリア２２」という。ＧＵＩウィンドウ２０の中央に配置された領域２３には、候補の文字列が一覧表示されるので、以下、この領域２３を「候補表示エリア２３」という。
【００３２】
操作部２１には、複数の文字キー２４が配列されるほか、変換キー２５、確定キー２６、バックスペースキー２７、および言語選択用の４つの選択キー２８が設けられる。
【００３３】
ホットキー操作により立ち上げられた直後のＧＵＩウィンドウ２０は、あらかじめ登録された標準言語を入力するように設定される。この実施例では、日本語を標準言語としており、操作部２１には、平仮名が割り当てられた文字キー２４が配列されている。この状態下で日本語以外の言語の選択ボタン２８を操作すると、選択された言語による入力モードに切り替えられ、操作部２１の文字キー２４の配列も、選択された言語に対応するものに更新される。
【００３４】
具体的には、簡体字表記の中国語が選択された場合には、ピンインが割り当てられた文字キー２４が配列され、繁体字表記の中国語が選択された場合には、注音符号が割り当てられた文字キー２４が配列される。また韓国語が選択された場合には、ハングルの字母が割り当てられた文字キー２４が配列される。
【００３５】
日本語の入力モードでは、文字キー２４をクリックする操作に応じて平仮名文字列を組み立てると共に、日本語用の辞書ファイルＤ１を用いて、平仮名文字列を仮名漢字文字列に変換することができる。他の言語の入力モードでも、それぞれ文字キーの入力を受け付けながら、その言語用の辞書ファイルを参照し、言語の特性に応じた文字列の組み立て処理や変換処理を実行する。
【００３６】
さらにこの実施例では、文字列の入力をより容易にするために、各言語の入力モードにそれぞれ予測変換機能を設けている。
【００３７】
図３および図４は、ワードプロセッサ用のアプリケーションシステムが作成中の文書に文字入力を行う場合を例に、予測変換機能を用いた処理を示す。各図とも、上段に作成中の文書を示すアプリケーションウィンドウ３０の変化を示し、下段にＧＵＩウィンドウ２０の変化を示す。各図の（イ）に示すように、立ち上げ直後のアプリケーションウィンドウ３０では、実質的に表示されているのはカーソル３１のみである。
【００３８】
図３の例のＧＵＩウィンドウ２０には日本語入力モードが設定されている。図中の（Ａ）は、文字キー２４が２つ操作された時点のＧＵＩウィンドウ２０の表示状態を示すもので、丸印を付した文字キー２４が操作されたキーであり、これらのキーの近傍に配置された丸付き数字は操作順序を示す（図４も同じ）。また、図中の２９はマウスカーソルである。
【００３９】
この実施例では、文字キー２４を操作する都度、操作されたキーに割り付けられた文字（この例では「こ」と「ん」）が文字列表示エリア２２に表示され、表示された文字列を「読み」の先頭とする単語が候補表示エリア２３に一覧表示される。
【００４０】
ここで、図３（Ｂ）に示すように、候補表示エリア２３内に表示された候補のうちの１つを選択する操作（クリック操作により行われる。）が行われると、文字列表示エリア２２の文字列は、選択された候補による文字列に置き換えられる（図３（Ｃ））。さらに、この状態下で確定キー２６が操作されると、文字列表示エリア２２に表示されている文字列（この例では「こんにちは」）がアプリケーションウィンドウ３０に転送され、図３（ロ）に示すように、カーソル３１の前に挿入される。これにより、ＧＵＩウィンドウ２０での操作がアプリケーションウィンドウ３０に反映された状態となる。
【００４１】
つぎに、図４の例では、韓国語の入力モードが設定されている。この図の（Ａ）も、文字キー２４が２つ操作された時点のＧＵＩウィンドウ２０を示すもので、操作された文字キー２４に割り付けられている字母が操作の順に文字列表示エリア２２に表示される。また、これらの字母を含む文字が先頭に配置されている単語が、候補表示エリア２３に一覧表示されている。
【００４２】
この場合にも、表示された候補のうちの１つを選択する操作が行われると、文字列表示エリア２２内の文字列が選択された候補の文字列に置き換えられる（図４（Ｂ）（Ｃ））。さらにこの状態下で確定キー２６が操作されると、文字列表示エリア２２に表示されている文字列がアプリケーションウィンドウ３０に転送され、図４（ロ）に示すように、カーソル３１の前に挿入される。
【００４３】
簡体字表記や繁体時表記の中国語文字列を入力する場合にも、図３，４の例と同様に、文字キー２４をクリック操作することにより文字列を組み立てながら、候補表示エリア２３に候補の文字列を表示する。また、表示された候補の文字列の選択に応じて、文字列表示エリア２２の表示を選択された候補の文字列に変更する点や、確定操作に応じて文字列表示エリア２２内の文字列をアプリケーションウィンドウ３０に転送する点についても、同様である。
【００４４】
さらに、いずれの言語を入力する場合にも、変換操作や候補選択操作を繰り返して、複数の文節または複数の文を表す文字列を生成した後に、確定操作を行うことができる。
【００４５】
ここで図１に戻って、上記のＧＵＩウィンドウ２０による文字入力処理の仕組みについて説明する。
まず、操作部２１や候補表示エリア２３におけるクリック操作を受け付けるには、ＯＳ１から文字入力システム２に、マウス操作のイベント情報を供給し、文字入力システム２がそのイベント情報の内容を認識する。すなわち、文字入力システム２では、ＯＳ１を介して文字入力に関する各種操作を受け付けて、その操作に応じた処理（文字または文字要素の組み立て、候補の抽出、候補の選択）を実行することにより、入力対象の文字列を設定する。
【００４６】
またＯＳ１から確定操作を示すイベント情報が与えられると、その時点で設定されている文字列（文字列表示エリア２２に表示されている文字列）を出力するが、この出力は、クリップボード４に対して行われる。図１では、文字入力システム２からクリップボード４に直接文字列が出力されるように記載しているが、実際には、アプリケーションウィンドウ３０に入力する対象の文字列を、貼り付け処理のためにクリップボード４に保存する情報として、文字入力システム２からＯＳ１に送信し、ＯＳ１が当該文字列をクリップボード４に保存する。
【００４７】
また、文字入力システム２では、ホットキー操作によりＧＵＩウィンドウ２０を立ち上げる際に、ホットキー操作の際にアクティブな状態にあったアプリケーションウィンドウ３０の識別情報（ウィンドウハンドル）をＯＳ１から取得する。そして、このウィンドウハンドルにより、出力された文字列の貼り付け対象となるアプリケーションウィンドウを指定して、擬似的な貼り付け操作を示すキーイベント情報（以下、「貼り付けキーイベント」という。）を送信する。
【００４８】
上記の貼り付けキーイベントの送信も、正確にはＯＳ１に対して行われ、ＯＳ１からウィンドウハンドルに対応するアプリケーションウィンドウ３０を実行するシステム３に渡される。プログラムレベルで説明すると、ホットキー操作に応じて取得したウィンドウハンドルを引数とするＳｅｎｄＩｎｐｕｔ関数を実行することになる。
【００４９】
また、アプリケーションシステム３がクリップボード４から文字列を取得する処理も、正確には、アプリケーションシステム３からＯＳ１にクリップボード４内の情報の転送を要求し、この要求に応じてＯＳ１から転送された文字列を受け付けることにより行われる。
【００５０】
上記によれば、人がＧＵＩウィンドウ２０の文字列表示エリア２２に表示された文字列を選択してコピー操作（Ctrl＋Ｃ）を行った後に、入力対象のアプリケーションウィンドウ３０をアクティブにして貼り付け操作（Ctrl＋Ｖ）を実行した場合と同様の動作が、自動的に実行されることになる。このような処理により、ＯＳ１が定義するＩＭＥの動作を実行しなくとも、基本的なカットアンドペーストの機能を用いてアプリケーションウィンドウ３０への文字入力を実行することができる。
【００５１】
図５は、文字入力システム２により実行される一連の手順を示す。以下、このフローチャートに基づき、文字入力システム２が実行する処理を整理して説明する。
【００５２】
まず、ＯＳ１の起動に続いて起動すると、ホットキーの登録内容や標準言語などの設定情報を読み込む処理（初期設定）を実行する（ＳＴ１）。以後は、ホットキー操作が行われるまで、非アクティブ状態で待機することになる。
【００５３】
ホットキー操作が行われると（ＳＴ２が「ＹＥＳ」）、ＯＳ１に、現在アクティブ状態にあるアプリケーションウィンドウ３０のウィンドウハンドルの送信を要求し、この要求に応じて送信されたウィンドウハンドルを取得する（ＳＴ３）。さらにＧＵＩウィンドウ２０を表示し（ＳＴ４）、以後は、マウス操作を受け付けたＯＳ１からのイベント情報によりユーザが実行した操作内容を認識し、その操作に応じた処理を実行する。
【００５４】
以下、ＧＵＩウィンドウ２０の立ち上げ後に通常実行される処理を優先して説明する。
まず、立ち上げられたＧＵＩウィンドウ２０内の文字キー２４が操作された場合（ＳＴ５，６が「ＮＯ」、ＳＴ７が「ＹＥＳ」）には、図３（Ａ）および図４（Ａ）に示したように、操作されたキーに対応する文字により入力対象の文字列を組み立てる（ＳＴ１２）。また、現在の入力モードに対応する辞書ファイルを検索して、組み立てられた文字列に対応する候補の文字列を抽出し、抽出された文字列により候補表示エリア２３内の表示を更新する（ＳＴ１３）。
【００５５】
つぎに、所定の時点で候補表示エリア２３内の候補を選択する操作が行われた場合（ＳＴ８が「ＹＥＳ」）には、図３（Ｃ）および図４（Ｃ）に示したように、選択された候補の文字列により文字列表示エリア２２内の表示を更新する（ＳＴ１３）。
【００５６】
なお、図５には明示していないが、文字列の組み立て後に変換キー２５の操作が行われた場合にも、辞書ファイルを検索し、候補表示エリア２３に所定数の候補を表示する。また、表示された候補の中の１つが選択された場合には、その候補の文字列により文字列表示エリア２２内の表示を更新する。
【００５７】
上記の各種操作により入力対象の文字列が設定された後に確定キー２６が操作された場合（ＳＴ９が「ＹＥＳ」）には、その入力対象の文字列をクリップボード４に保存する対象の情報としてＯＳ１に出力する（ＳＴ１０）。さらにＳＴ３で取得したウィンドウハンドル宛の貼り付けキーイベントを出力する（ＳＴ１１）。
【００５８】
つぎに、選択キー２８による言語の切替操作が行われた場合（ＳＴ５が「ＹＥＳ」）には、使用する辞書ファイルを選択された言語に対応するものに切り替えるとともに、操作部２１の文字キー２４のキーボード画像を変更する（ＳＴ１５）。
【００５９】
また、ＧＵＩウィンドウ２０の各エリア２２，２３に何も表示されていない状態下でホットキー操作が行われた場合（ＳＴ６が「ＹＥＳ」）には、ＧＵＩウィンドウ２０を非表示状態に設定する（ＳＴ１６）。ただし、この後も再びホットキー操作があれば、ＳＴ２が「ＹＥＳ」となり、以下、上記の説明と同様の手順を実行することができる。
【００６０】
なお、ＳＴ１０で入力対象の文字列を出力する際には、この文字列をＵｎｉｃｏｄｅ形式で表したデータとＳＪＩＳコード形式で表したデータとの２種類を出力する。この出力を受けたＯＳ１は、双方のデータをクリップボード４に保存する。また続いて出力された貼り付けキーイベントに応じて動作したアプリケーションシステム３も、２種類のデータを取り込んで、自システムで処理できる方のデータを選択する。なお、このとき貼り付け対象のアプリケーションウィンドウ３０において、入力対象の言語に応じたフォントが選択されている場合には、選択されたフォントによる文字列を貼り付けることができる。
【００６１】
アプリケーションシステム３で上記の貼り付け処理が実行される間は、ＯＳ１からの貼り付けイベントの送信により、一時的に、貼り付け対象のアプリケーションウィンドウ３０がアクティブ状態になり、ＧＵＩウィンドウ２０は非アクティブ状態となる。しかし、貼り付け処理が終了すると、再び、ＧＵＩウィンドウ２０がアクティブ状態に復帰し、以後も、引き続き、操作に応じて入力対象の文字列を設定し、出力することができる。すなわち、ＧＵＩウィンドウ２０が立ち上げられる直前にアクティブな状態であったアプリケーションウィンドウ３０を再びアクティブ状態にして文字列を入力し、その後、再びＧＵＩウィンドウ２０をアクティブ状態に復帰させることにより、アプリケーションウィンドウ３０のアクティブ状態を維持したまま動作する従来のＩＭＥと同様の処理を実行することができる。
【００６２】
さらに、文字入力処理の間に入力対象の言語を切り替える操作が行われた場合にも、その操作に応じて辞書ファイルや操作部２１の表示を変更することができる（ＳＴ５，１５）。
【００６３】
上記の如く、この実施例の文字入力システム２によれば、ユーザは、４種類の言語を自由に選択して入力を行うことができる。また入力作業の途中で、言語を切り替える必要が生じた場合にも、表示中のＧＵＩウィンドウ２０内の選択ボタン２８を操作することにより、容易に入力モードを切り替えることができる。また、いずれの言語を入力する場合にも、予測変換機能を利用して効率の良い入力を行うことができるので、利便性が大幅に向上する。
【００６４】
なお、上記の実施例では、ホットキー操作によりＧＵＩウィンドウ２０を立ち上げるようにしたが、これに代えて、ＯＳ１のタスクバーに呼び出し用のアイコンを設け、このアイコンの操作に応じてＧＵＩウィンドウ２０を立ち上げるようにしてもよい。
【００６５】
また、上記の実施例では、キーボード画像を含むＧＵＩウィンドウ２０によって、文字入力作業を支援するようにしたが、これに限らず、実際のキーボードからの操作に応じて入力対象の文字列を設定するようにしてもよい。
【符号の説明】
【００６６】
１    オペレーションシステム（ＯＳ）
２    文字入力システム
３    アプリケーションシステム
４    クリップボード
２０  ＧＵＩアプリケーション
２１  操作部
２２  文字列表示エリア
２３  候補表示エリア
２４  文字キー
２６  確定キー
３０  アプリケーションウィンドウ
Ｄ１，Ｄ２，Ｄ３，Ｄ４  辞書ファイル
【図１】
2010217961.tif 000003
【図２】
2010217961.tif 000004
【図３】
2010217961.tif 000005
【図４】
2010217961.tif 000006
【図５】
2010217961.tif 000007
【図６】
2010217961.tif 000008