(57)【特許請求の範囲】
【請求項１】
ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にする方法であって、コンピュータにより実行するステップとして、
前記スタイラスのタッチ・ダウンを検出するステップと、
前記スタイラスの前記タッチ・ダウンはテキスト・エントリ・フィールドであるか否かを判断するステップと、
前記テキスト・エントリ・フィールドのサイズを判断するステップと、
前記テキスト・エントリ・フィールドの前記サイズが所定のサイズより小さいときであって、あるしきい値より大きな前記テキスト・エントリ・フィールドにおける前記スタイラスの動きの検出に応答して、前記テキスト・エントリ・フィールド周辺に前記所定のサイズになる矩形の囲みを描画するステップとを含む、
方法。
【請求項２】
コンピュータにより実行するステップであって、
前記テキスト・エントリ・フィールドのサイズが前記所定のサイズより小さくないときは、前記矩形の囲みのサイズを抑制させる、
請求項１記載の方法。
【請求項３】
前記所定のサイズはユーザにより設定可能である、
請求項１記載の方法。
【請求項４】
コンピュータにより実行するステップであって、
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップを実行するステップを含む、
請求項１記載の方法。
【請求項５】
コンピュータにより実行するステップであって、
前記矩形の囲み外に前記スタイラスがタッチ・ダウンされたのを検出することに応答して前記矩形の囲みを消去するステップを含む、
請求項１記載の方法。
【請求項６】
コンピュータにより実行するステップであって、
所定のタイムアウト期間において前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップを含む、
請求項１記載の方法。
【請求項７】
コンピュータにより実行するステップであって、
前記矩形の囲み内で開始するストロークを検出することなく前記タイムアウト期間の経過に応答して矩形の囲みを消去するステップを含む、
請求項６記載の方法。
【請求項８】
コンピュータにより実行するステップであって、
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークにもインクを塗るステップを含む、
請求項１記載の方法。
【請求項９】
ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にする方法であって、コンピュータにより実行するステップとして、
テキスト・エントリ・フィールドにおける前記スタイラスの前記タッチ・ダウンを検出するステップと、
前記テキスト・エントリ・フィールドにおける前記スタイラスの動きに応答して、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描くステップと、
前記テキスト・エントリ・フィールドのサイズが所定のサイズより小さいときは、前記矩形の囲みのサイズを前記所定のサイズに設定するステップと、
前記テキスト・エントリ・フィールドのサイズが前記所定のサイズより小さくないときは、前記矩形の囲みのサイズを前記テキスト・エントリ・フィールドのサイズに設定するステップと、
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップとを含む、
方法。
【請求項１０】
コンピュータにより実行するステップであって、
前記矩形の囲み外に前記スタイラスがタッチ・ダウンしたのを検出することに応答して前記矩形の囲みを消去するステップを含む、
請求項９記載の方法。
【請求項１１】
コンピュータにより実行するステップであって、前記矩形の囲み内で開始する前記スタイラスのストロークを検出することなく所定のタイムアウト期間の経過に応答して、矩形の囲みを消去するステップを含む、
請求項９記載の方法。
【請求項１２】
前記所定のサイズはユーザにより設定可能である請求項９記載の方法。
【請求項１３】
ペン・ベース・コンピュータ・システムにおけるスタイラス入力を容易にする方法であって、コンピュータにより実行するステップとして、
前記スタイラスの前記タッチ・ダウンを検出するステップと、
前記タッチ・ダウンがテキスト・エントリ・フィールド内であるか否かを判断するステップと、
前記ペン・ベース・コンピュータ・システムが書き込みモードであるか否かを判断するステップと、
前記ペン・ベース・コンピュータ・システムが書き込みモードでないときに前記テキスト・エントリ・フィールドにおける前記スタイラスの動きを検出することに応答して、前記テキスト・エントリ・フィールドのｘ軸のサイズを判断するステップ、前記テキスト・エントリ・フィールドのｙ軸のサイズを判断するステップ、前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算するステップ、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描くステップ、及び、書き込みモードに前記ペンに基づくコンピュータ・システムを設定するステップを含む、
方法。
【請求項１４】
前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記ステップは、コンピュータにより実行するステップとして、
前記テキスト・エントリ・フィールドの前記ｘ軸のサイズが所定のサイズより小さいときは、前記矩形の囲みにおける前記ｘ軸のサイズを前記所定のｘ軸のサイズに等しく設定するステップと、
前記テキスト・エントリ・フィールドのｙ軸のサイズが前記所定のサイズより小さいときは、前記矩形の囲みの前記ｙ軸のサイズを前記所定のｙ軸のサイズに等しく設定するステップとを含む、
請求項１３記載の方法。
【請求項１５】
前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記ステップは、コンピュータにより実行するステップとして、
前記テキスト・エントリ・フィールドの前記ｘ軸のサイズが所定のサイズより小さくないときは、前記矩形の囲みにおけるｘ軸のサイズを前記テキスト・エントリ・フィールドのｘ軸のサイズに等しく設定するステップを含む、
請求項１４記載の方法。
【請求項１６】
前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記ステップは、コンピュータにより実行するステップとして、
前記テキスト・エントリ・フィールドの前記ｙ軸のサイズが所定のサイズより小さくないときは、前記矩形の囲みにおけるｙ軸のサイズを前記テキスト・エントリ・フィールドのｙ軸のサイズに等しく設定するステップを含む、
請求項１４記載の方法。
【請求項１７】
コンピュータにより実行するステップであって、
前記テキスト・エントリ・フィールドの前記ｘ軸のサイズ及び前記ｙ軸のサイズが前記所定の前記ｘ軸のサイズ及び前記ｙ軸のサイズより大きいときは、前記矩形の囲みにおけるｘ軸のサイズを抑制させるステップを含む、
請求項１３記載の方法。
【請求項１８】
コンピュータにより実行するステップであって、
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップを含む、
請求項１３記載の方法。
【請求項１９】
前記所定の前記ｘ軸のサイズ及び前記ｙ軸のサイズはそれぞれユーザにより設定可能である、
請求項１４記載の方法。
【請求項２０】
ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にするシステムであって、
前記スタイラスの前記タッチ・ダウンを検出する手段と、
前記スタイラスの前記タッチ・ダウンがテキスト・エントリ・フィールド内であるか否かを判断する手段と、
前記テキスト・エントリ・フィールドのサイズを判断する手段と、
前記テキスト・エントリ・フィールドの前記サイズが所定のサイズより小さいときであって、あるしきい値より大きな前記テキスト・エントリ・フィールドにおける前記スタイラスの動きの検出に応答して、前記テキスト・エントリ・フィールド周辺に前記所定のサイズになる矩形の囲みを描画する手段とを含む、
システム。
【請求項２１】
前記テキスト・エントリ・フィールドが前記所定のサイズより小さくないときは、前記矩形の囲みのサイズを前記テキスト・エントリ・フィールドのサイズに設定する手段を含む、
請求項２０記載のシステム。
【請求項２２】
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段を含む、
請求項２０記載のシステム。
【請求項２３】
前記矩形の囲み外に前記スタイラスがタッチ・ダウンしたのを検出することに応答して前記矩形の囲みを消去する手段を含む、
請求項２０記載のシステム。
【請求項２４】
所定のタイムアウト期間において前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段を含む、
請求項２０記載のシステム。
【請求項２５】
前記矩形の囲み内で開始するストロークを検出することなく前記タイムアウト期間の経過に応答して矩形の囲みを消去する手段を含む、
請求項２４記載のシステム。
【請求項２６】
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークもインクを塗る手段を含む、
請求項２０記載のシステム。
【請求項２７】
ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にするシステムであって、
テキスト・エントリ・フィールドにおける前記スタイラスの前記タッチ・ダウンを検出する手段と、
前記テキスト・エントリ・フィールドにおける前記スタイラスの動きに応答して、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描く手段と、
前記テキスト・エントリ・フィールドのサイズがユーザにより設定可能な所定のサイズより小さいときは、前記矩形の囲みのサイズを前記所定のサイズに設定する手段と、
前記テキスト・エントリ・フィールドのサイズが前記ユーザにより設定可能な所定のサイズより小さくないときは、前記矩形の囲みのサイズを前記テキスト・エントリ・フィールドのサイズに設定する手段と、
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段とを備えたコンピュータを含む、
システム。
【請求項２８】
前記矩形の囲み外に前記スタイラスがタッチ・ダウンしたのを検出することに応答して前記矩形の囲みを消去する手段を含む、
請求項２７記載のシステム。
【請求項２９】
前記矩形の囲み内で開始する前記スタイラスのストロークを検出することなく所定のタイムアウト期間の経過に応答して、矩形の囲みを消去する手段を含む、請求項２７記載のシステム。
【請求項３０】
ペン・ベース・コンピュータ・システムにおけるスタイラス入力を容易にするシステムであって、
前記スタイラスの前記タッチ・ダウンを検出する手段と、
前記タッチ・ダウンがテキスト・エントリ・フィールド内であるか否かを判断する手段と、
前記ペンに基づくコンピュータ・システムが書き込みモードであるか否かを判断する手段と、
前記ペンに基づくコンピュータ・システムが書き込みモードでないときに前記テキスト・エントリ・フィールドにおける前記スタイラスの動きを検出することに応答して、前記テキスト・エントリ・フィールドのｘ軸のサイズを判断し、前記テキスト・エントリ・フィールドのｙ軸のサイズを判断し、前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算し、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描画し、かつ、前記ペンに基づくコンピュータ・システムを書き込みモードに設定する手段とを含む、
システム。
【請求項３１】
前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記手段は、
前記テキスト・エントリ・フィールドの前記ｘ軸のサイズがユーザにより設定可能な所定のｘ軸のサイズより小さいときは、前記矩形の囲みにおけるｘ軸のサイズを前記所定のｘ軸のサイズに等しく設定する手段と、
前記テキスト・エントリ・フィールドの前記ｙ軸のサイズがユーザにより設定可能な所定のｙ軸のサイズより小さいときは、前記矩形の囲みのｙ軸のサイズを前記所定のｙ軸のサイズに等しく設定する手段とを含む、
請求項３０記載のシステム。
【請求項３２】
前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記手段は、
前記テキスト・エントリ・フィールドの前記ｘ軸のサイズがユーザにより設定可能な所定のｘ軸のサイズより小さくないときは、前記矩形の囲みにおけるｘ軸のサイズを前記テキスト・エントリ・フィールドのｘ軸のサイズに等しく設定する手段を含む、
請求項３０記載のシステム。
【請求項３３】
前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記手段は、
前記テキスト・エントリ・フィールドの前記ｙ軸のサイズが所定のｙ軸のサイズより小さくないときは、前記矩形の囲みにおけるｙ軸のサイズを前記テキスト・エントリ・フィールドのｙ軸のサイズに等しく設定する手段を含む、
請求項３０記載のシステム。
【請求項３４】
前記テキスト・エントリ・フィールドの前記ｘ軸のサイズ及び前記ｙ軸のサイズの両者が前記所定の前記ｘ軸のサイズ及び前記ｙ軸のサイズより大きいときは、
前記矩形の囲みのサイズを抑制させる手段を含む、
請求項３０記載のシステム。
【請求項３５】
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段を含む、
請求項３０記載のシステム。
【請求項３６】
ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にする方法であって、コンピュータにより実行するステップとして、
テキスト・エントリ・フィールドにおける前記スタイラスのタッチ・ダウンを検出するステップと、
前記テキスト・エントリ・フィールドの前記サイズが所定のサイズより小さいときであって、あるしきい値より大きな前記テキスト・エントリ・フィールドにおける前記スタイラスの動きの検出に応答して、前記テキスト・エントリ・フィールド周辺に前記所定のサイズになる矩形の囲みを描画するステップとを含む、
方法。
【請求項３７】
コンピュータにより実行するステップであって、
前記テキスト・エントリ・フィールドのサイズが前記所定のサイズより小さくないときは、前記テキスト・エントリ・フィールドにおける前記スタイラスの動きの検出に応答して、前記矩形の囲みのサイズを抑制させる
請求項３６記載の方法。
【請求項３８】
ペン・ベース・コンピュータ・システムにおけるスタイラス入力を容易にするシステムであって、コンピュータにより実行するステップとして、
前記スタイラスの前記タッチ・ダウンを検出する手段と、
もし前記タッチ・ダウンがテキスト・エントリ・フィールドにおけるものであった場合に、
前記テキスト・エントリ・フィールドのｘ軸のサイズを判断するステップと、
前記テキスト・エントリ・フィールドのｙ軸のサイズを判断するステップと、
前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算するステップと、
もしｘ軸のサイズ又はｙ軸のサイズの何れか一方が所定のサイズよりも小さい場合には、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描画するステップとを含む、
方法
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、データ処理システムに関する。本発明は、スタイラスを用いてテキスト及びジェスチャ・コマンドとして解釈される手書き文字及びシンボルをユーザが入力するマルチタスク・ペン・コンピュータ・システムにおいて特色あるアプリケーションを有するものである。
【０００２】
【従来の技術】
ペン・コンピュータは入力装置としてスタイラス及びセンサを使用している種類のコンピュータである。オペレーティング・システムに対する付属要素として機能するペン・ソフトウェア・サブシステムは、マウス入力コマンド、手書きのキャラクタ（テキスト）、又はジェスチャとして知られている手書きシンボルとしてスタイラス入力を認識するためにペン入力を処理する。
【０００３】
ＯＳ／２オペレーティング・システムのペン・サブシステムは、ユーザにグラフィカル・ユーザ・インターフェイス（ＧＵＩ）ウィンドウに直接、複数のキャラクタを書き込み、次いでこれらをジェスチャ及び手書き認識エンジンに送出して認識できるようにする。デフォールトによって、システムは、ウィンドウがエディット・フィールド又はテキスト・エントリ・ウィンドウのように、テキスを受け付けるものでない限り、手書き形状をジェスチャとして処理する。ペン・オペレーティング・システムの鍵となる要件は、大部分がスタイラス、及びペン・サブシステムが提供する豊富な機能のプログラミング・インターフェイスの存在を意識することなく、ユーザが実行する全てのアプリケーションへのペン入力を容易にさせることである。使用が容易であり、かつ良好なヒューマン・インターフェイスを実現するために、ペン・サブシステムは、ペンが意識又は認識し、かつペンの機能性の利点を備えたアプリケーションのように、ユーザ・インターフェイスの観点からは、これらペンが意識しない又はペンが認識しないアプリケーションを見て感ずる（look and feel）ようにさせる義務がある。
【０００４】
ペン・ベース・コンピュータのユーザが直面する問題は、アプリケーションが多数かつ種々のパラメータを入力することをユーザに要請するウィンドウをしばしば表示することである。人間工学的に好ましいのは、ユーザに多数のウィンドウをナビゲートさせることを要求することなく、アプリケーションが可能な限り多くの情報を質問することを指令し、従っていくつかの入力フィールドがメイン・アプリケーション・ウィンドウにペイントされることである。ユーザがキー・ボード又はマウスを介して入力するものとすると、フィールドのサイズは、キャラクタ・フォントの美しさ及び読み易さによってのみ指令される。しかし、スタイラスを用いるときは、これら多数の小さなウィンドウが手書き入力を最良とするのを困難にする。
【０００５】
キー・ボード及びマウス・アプリケーションと異なり、ペン・ベース・アプリケーションを設計するときに、使い易いことと人間工学的に良いことは、グラフィカル・ユーザ・インターフェイスが通常、ペン及び紙を模倣することを指令することである。これは、ユーザが目標入力フィールドに直接手書きテキストを入力してもよいことを意味する。あるペン・アプリケーションの開発者はより大きなウィンドウに対して手書き入力を容易にするようにしてはいるが、既存の多くのアプリケーションはそのようになっていない。従って、ペン・オペレーティング・システムの主要な目的は、キー・ボード及びマウスに特に書かれた既存のアプリケーションにペン入力を可能にさせることである。
【０００６】
ユーザを規制しないようにするために、ユーザは目標の入力ウィンドウ外に書き込みできるものでなければならない。これは、ユーザが妨げられず、かつそれ自身の自然なスタイルにより書き込めることが高度に望まれる。しかし、ユーザがエントリ・フィールドに一旦書き込み始めると、これがディスプレイ上のどこに書き込まれているのかわらず、特定の当該エントリ・フィールドに全ての手書き入力を導くモードが入力される。これは、ユーザが簡単に他のエントリ・フィールドに移行するのを防止する。手書きを次のフィールドに導くためには、ユーザが現在の書き込みモードを終結させる必要がある。これには、ユーザが（１）書き込みを３秒間停止させるか、又は（２）スタイラスをディジタル化センサの近傍領域から持ち上げることが必要である。これらの操作は厄介過ぎるようには思えないが、ユーザ・インターフェイスにおける弱点である。
【０００７】
既存のペン・オペレーティング・システムでは、ユーザに手書きを拡張できるエントリ・フィールド周辺において一定量の領域が得られる。例えば、許容領域は12.7mmフィールドの上下に拡張可能である。このフィールド外から開始するストロークは、現在のストローク収集モードを無視するか又は終結させるものである。どこに書き込み境界があるのかについての表示は存在しない。ユーザは、システムが許容書き込み領域に対するインクを止めるので、境界の大まかな認識を得ている。しかし、ユーザはストロークを見ることができない割り付け領域に入り込むことになってしまうので、人間工学的な面は不良である。更に、ペイントされない領域外のストロークは、ユーザがキャラクタの実際の形状及びサイズを確認しないままにする。従って、これは手書きの認識精度に影響を与える原因となる。
【０００８】
これらオペレーションについての更なる情報は、米国特許第5,252,951号に記載されており、ここでは引用により関連される。
【０００９】
更に、IBM  Technical Disclosure Bulletin、Vol.38 No.09、第461頁〜第462頁、1995年9月にも「ペン・ベース・コンピュータ用のデータ解釈技術（Data Interpretation Techniques for a Pen-based Computer)」と題して開示されており、ここでは引用により関連される。
【００１０】
更に、米国特許第5,404,458号にも「グループの信号をアンカー・ポイントと比較することによりディスプレイ上に指示している装置の動きの停止確認（Recognizing the Cessation of Motion of a Pointing Device on a Display By Comparing a Group of Signals to an Anchor Point）」と題して開示されており、ここでは引用により関連される。
【００１１】
【発明が解決しようとする課題】
従って、本発明の目的は、ユーザが目標の入力フィールド外に書き込めるようにして、ユーザを拘束しないようにすることである。
【００１２】
本発明の更なる目的は、可視的なプロンプトを提供して全てのストロークが開始しなければならない領域を指示させることにより、ユーザを支援することである。
【００１３】
本発明の更なる目的は、ユーザの自然な書き込みを妨げないように、各ストロークのタッチ・ダウン又は第１ポイントのみを拘束すると共に、ユーザに可視的なプロンプトの境界を越えてストロークを拡張可能にさせることである。
【００１４】
本発明の更なる目的は、ユーザに他のフィールドに直ちに書き込みを開始可能にさせることである。
【００１５】
【課題を解決するための手段】
以上の目的及び他の目的は、簡単に述べると、ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にする方法及びシステムを提供する本発明により達成される。このシステムは、スタイラスのタッチ・ダウンを検出して、スタイラスのタッチ・ダウンがテキスト・エントリ・フィールド内にあるか否かを判断する。テキスト・エントリ・フィールドにおいてあるしきい値より大きなスタイラスの動きを検出すると、このシステムは前記テキスト・エントリ・フィールド周辺に矩形の囲み(include rectangle)を描画する。
【００１６】
このシステムは、テキスト・エントリ・フィールドのサイズに基づき矩形の囲みのサイズを設定する。前記テキスト・エントリ・フィールドのｘ軸サイズが所定のｘ軸サイズより小さければ、このシステムは前記矩形の囲みにおけるｘ軸のサイズを前記所定のｘ軸サイズにほぼ等しく設定する。前記テキスト・エントリ・フィールドのｘ軸か又はｙ軸のサイズがそれぞれの所定のｘ軸か又はｙ軸のサイズより小さくなければ、このシステムは前記矩形の囲みのｙ軸のサイズを前記所定のｙ軸サイズにほぼ等しく設定する。前記テキスト・エントリ・フィールドの前記ｘ軸サイズか又はｙ軸サイズが前記所定のｘ軸サイズ又はｙ軸サイズよりそれぞれ小さければ、このシステムは前記矩形の囲みの対応する軸サイズを所定のサイズより小さくない前記テキスト・エントリ・フィールドのサイズにほぼ等しく設定する。前記テキスト・エントリ・フィールドの前記ｘ軸サイズ及びｙ軸サイズの両者が前記所定のｘ軸サイズ又はｙ軸サイズより大きければ、このシステムは前記矩形の囲みを抑制する。前記所定のｘ軸サイズ及びｙ軸サイズはユーザによる設定可能である。
【００１７】
このシステムは、前記テキスト・エントリ・フィールドに対する入力として所定のタイムアウトまでに前記矩形の囲み内で開始するスタイラスのストロークを解釈し、かつ完全にインクを塗る。このシステムは、スタイラスが前記矩形の囲み外にタッチ・ダウンするのを検出するか、又はこのシステムがスタイラス・タッチ・ダウンを検出することなく、所定のタイムアウトに達すれば、前記矩形の囲みを消去する。
【００１８】
【発明の実施の形態】
ここで図面を参照すると、まず図１のハードウエア・ブロック図において、本発明のシステム及び方法を実施することができるパーソナル・コンピュータ・システムが符号１０により概要的に表されている。パーソナル・コンピュータ・システム１０はプロセッサ１１を含み、プロセッサ１１は中央処理装置（ＣＰＵ）１３及びランダム・アクセス・メモリ１５を含む。パーソナル・コンピュータ・システム１０は、好ましくは更に、ハードウエア・ディスク記憶装置１７及びフロッピー・ディスク装置１９を含む。フロッピー・ディスク装置１９はディスケット２１を受け入れるようにされ、このディスケット２１上には本発明のソフトウェア実施を含む、プログラム用のソフトウェアが記録されてもよい。パーソナル・コンピュータ・システム１０は、更に、ユーザ・インターフェイス・ハードウエア装置を含み、このユーザ・インターフェイス・ハードウエア装置にはディスプレイ２３、キーボード２５、マウス２７及びペン又はスタイラス２９が含まれる。パーソナル・コンピュータ・システム１０は、好ましくは、プリンタ３１を含む。
【００１９】
図２を参照すると、ペンに基づく本発明のシステムにおける主要なソフトウェア・システム要素による高レベル・ブロック図が示されている。図２の下端には、ペン２９、マウス２７及びキー・ボード２５からの出力信号が複数のデバイス・ドライバ３３に接続されており、複数のデバイス・ドライバ３３はこれらの装置にロー・レベルのＩ／Ｏのサポートとなるモジュールである。デバイス・ドライバ３３はシステム・キュー３５にイベント（事象）を設定する。これらのイベントはペン・エックステンション３９にペン・イベント及びマウス・イベントを転送するプレゼンテーション・マネジャ３７により逐次的に処理される。
【００２０】
典型的なシステムにはペン認識（Pen-aware）アプリケーション４１及びペン無認識（Pen-unaware） アプリケーション４３の両者が含まれる。ペン認識アプリケーション４１はペン入力を認識して処理する基本機能を有する。ペン非認識アプリケーション４３はキー・ボード入力及び／又はマウス入力を認識して処理する基本機能のみを有するアプリケーションである。従って、ペン・エクステンション３９はペンの各イベントをペン認識アプリケーション４１に直接転送する。しかし、ペン非認識アプリケーション４３はペン機能を用いることができないので、システムは互換性モジュール４５を備えている。
【００２１】
互換性モジュール４５はペン無認識アプリケーションに代わるペン認識アプリケーションとして動作する。例えば、ユーザがペン認識アプリケーションに手書きキャラクタ・イベントを入力すると、ペン・エクステンション３９はこれらのイベントを互換性モジュール４５に転送し、続いて互換性モジュール４５は全てのペン・ストロークをジェスチャ及び手書き認識エンジン４７に転送する。ジェスチャ及び手書き認識エンジン４７はペン・ストローク・イベントを処理して、その認識結果を互換性モジュール４５に戻す。
【００２２】
認識イベントがジェスチャであれば、互換性モジュール４５は、この認識イベントを認識イベント送出サブシステム４９に転送し、認識イベント送出サブシステム４９はユーザ用に設定されているプロファイル５１をアクセスして特定のジェスチャに応答してペン非認識アプリケーションにおいてどのような動作を実行すべきかを判断する。オプションとして、いくつかのツール５３を呼び出してペン非認識アプリケーション４３上で何らかの動作を実行させてもよい。互換性モジュール４５に戻された認識結果が手書きであると認識されたときは、その結果のテキスト・ストリングが適当なペン非認識アプリケーション４３に直接転送される。
【００２３】
ここで図３を参照すると、コンピュータのディスプレイが符号６０により概要的に表されている。ディスプレイ６０は、「名称」フィールド６３を含む複数のテキスト・エントリ・フィールドが密に詰め込まれているＧＵＩウィンドウ６１を表示している。名称フィールド６３上にはスタイラス又はペン（図示なし）が配置され、その存在がペン・ポインタ形状６５により表されている。ペン・ポインタ形状６５は、名称フィールド６３が手書き入力を受け付けることをユーザに知らせるために表示されている。
【００２４】
図４には、名称フィールド６３に書き込まれる手書きエントリ「ＺＥＴＴＳ」６５が示されている。点線により名称フィールド６３周辺に矩形の囲み６７が描かれる。矩形の囲み６７は、近傍の「要約フィールド６９」及び「照会」フィールド７１が部分的だが伸延している。これは、ユーザに要約フィールド６９又は照会フィールド７１への書き込みを開始するのに十分な余地を残していることが判る。更に、ここでは図３のペン・ポインタ形状６５をもはや見ることができない。書き込みモードが開始されると、ポインタのフリッカがユーザの気を散らすので、システムはペン・ポインタ形状６５を除去する。
【００２５】
図５において、ユーザは照会フィールド７１に移行して「ＤＥＦＥＣＴ（欠陥）１４４５９７」７５の書き込みをしている。手書き入力の第１ストロークは図４の名称フィールド６３の矩形の囲み６７外から開始するので、図５では矩形の囲み６７が手書きと共に除去されて、新しい収集モードが照会フィールド７１周辺に矩形の囲み７３を描くことにより開始されている。認識されたテキストはまだ名称フィールド６３ｃに表示されていないので、テキストは認識を行っている最中であることが理解される。本発明では、手書きの認識が低い優先度で実行されるので、その処理はペン・サブシステムが最高の優先度のタスクとみなす、並行する手書き入力と干渉することはない。
【００２６】
図６は名称フィールド６３及び照会フィールド７１へのスタイラス入力の認識結果を示す。更に、ユーザは「リリース」フィールド７７に既に書き込み始めている。本発明の好ましい実施例において、リリース・フィールド７７周辺の矩形の囲み８１に対する描画をトリガするためにシステムに要求されるのは、ストローク７９により指示される僅かな量の動きのみである。
【００２７】
図７はユーザがスタイラスをタッチ・ダウンさせたことをペン・サブシステムが検出したときに呼び出されるロジックの詳細を示す。判断ブロック７００において、システムは既に書き込みモードに設定されているか否かを調べるためにチェックを行う。ノーのときは、ブロック７０５において、タッチ・メッセージをアプリケーションに送出してタッチ・ダウンのイベントを知らせ、かつこのイベントがどのように取り扱うべきかを指定できるようにする。アプリケーションは、このメッセージを取り扱っている間に、通常のペン・プログラミング・インターフェイスを呼び出すことにより、矩形の囲みのサイズを指定することが許可される。メッセージの送出から戻ると、判断ブロック７１５においてスタイラス先端の下のウィンドウをテキストのみの認識に制約すべきか、判断ブロック７２５においてジェスチャか若しくはテキスト認識に制約すべきか、又は判断ブロック７３５においてジェスチャのみの認識に制約すべきか否かを調べる一連のテストを行う。ペン・サブシステムは種々の基準を用いてペン無認識アプリケーションのためにこれを判断する。しかし、認識アプリケーションは、タッチ・ダウン・メッセージの処理中にどの形式の認識を用いるのかについても指定したことになる。
【００２８】
処理７１０、７２０、及び７３０において、システムは、認識についてテキストのみのモード、ジェスチャ／テキストのモード、及びジェスチャのみのモードのみをそれぞれ設定する。認識モードがテキストを含むときは、判断ブロック７３０において、アプリケーションは矩形の囲みのサイズを指定できたか否かを調べるためにテストを行う。イエスのときは、ブロック７４０において、後で用いるために矩形の囲みのサイズをセーブする。場合によっては、タッチ・ダウン・ウィンドウにおける全ての認識をディスエーブルしてもよく、その場合には、ブロック７５５において、システムが単純にタッチ・ダウンのイベントをマウス・ボタンのイベントとして取り扱う。そうでないときは、ブロック７５０において、
システムはストローク・カウントをクリアすることにより、入力されるストロークに対して準備をし、ブロック７７０において、タッチ・ダウン座標を第１ストロークの第１ポイントとしてセーブし、かつブロック７８５において書き込みのタイム・アウトをリセットさせる。次いで、ブロック７８０においてルーチンは更なるスタイラス入力を待機する。
【００２９】
ここで図８を参照すると、スタイラスがディジタル化センサと接触している間に、スタイラスの移動を検出する度に一つのルーチンが呼び出される。スタイラスの動きは初期タッチ・ダウン・ポイントから測定されてユーザが書き始めたか否かを判断する。動きが十分でないとき、典型なものとして0.254mmより小さいときは、ブロック８３０においてルーチンが戻る。それ以外のときは、動きが十分な長さのものであって、ユーザがスタイラスにより書く意図があるとみなし、ブロック８１０において概要的に示すように、矩形の囲みが処理される。次いで、ブロック８２０においてシステムは書き込みモードに進み、ユーザが書き込みを停止するまで、入力される全てのストロークを処理する。
【００３０】
図９を参照すると、矩形の囲みを処理する際に、判断ブロック９１０において、システムはまず、目標アプリケーションがペン無認識か否かを調べ、それが認識しているのであれば、矩形の囲みのサイズを指定したか否かを調べる。アプリケーションが矩形の囲みを抑制するためにゼロの矩形の囲みサイズを指定したのであれば、判断ブロック９１０におけるテストはノーとなり、矩形の囲みが表示されないことに注意すべきである。次に、判断ブロック９２０において、システムは、テストのために現在の認識モードを実行可能にするか否かを調べるテストを実行する。この矩形の囲みは、ユーザがテキストを書き込みをするときにのみ描画される。テキストが可能でないのであれば、ルーチンはブロック９９０において戻る。テキストが可能であれば、判断ブロック９３０において、システムは、アプリケーションは矩形の囲みのサイズを指定したか否かについて調べるチェックを行う。イエスであれば、ブロック９７０において、境界チェックのルーチンを介してサイズを転送して矩形を可視状態に保持されるのを確保し、かつブロック９８０において、矩形の囲みの境界ボックスを描く。ブロック９３０において、アプリケーションがサイズを指定していないときは、ブロック９４０において、目標ウィンドウのサイズを調べ、かつ判断ブロック９５０において、システムは、目標ウィンドウが矩形の囲みのサイズより小さいか否かを判断するチェックを行う。このウィンドウの方が両軸において大きいときは、ウィンドウにテキストを書き込む十分な余地が存在し、ブロック９９０においてルーチンは戻る。ノーのときは、ブロック９６０において、矩形の囲みのサイズ及び位置を計算し、ブロック９７０においてその結果の矩形により境界のチェックを行い、かつブロック９８０において矩形の囲みの境界ボックスを描く。
【００３１】
矩形の囲みは、矩形の反対側の隅に位置する２つのデカルト座標（xLeft, yBottom）及び（xRight, yTop）により定義される。ただし、（xLeft, yBottom）はこの矩形の原点でもある。矩形の囲みのサイズは手書き文字のサイズにおける個人差を考慮してユーザにより設定可能である。矩形の囲みのサイズはインチにより指定され、かつシステムのブート時、及びユーザが矩形の囲みのサイズを変更する任意の時点において。設定はインチからディスプレイのペル(pel)に変換される。デフォールト・サイズは幅が101.6 ｍｍ（4.0インチ）、高さが12.7ｍｍ（0.5インチ）である。矩形のサイズをペルの代わりにインチを使用して指定すると、矩形の囲みは、サイズの表示形式に無関係に、同一サイズとなることが保証される。
【００３２】
図１７を参照すると、ブロック１７００において、矩形の囲みの幅及び高さを調べ、かつブロック１７１０において、ディスプレイのペルに変換する。ペン・エクステンションは、インチからペルに、またペルからインチに正確に変換するプログラミング・インターフェイスを有する。ブロック１７２０において結果がセーブされ、かつブロック１７３０においてシステムは戻る。
【００３３】
図１０を参照すると、判断ブロック１０００において、矩形の囲みのサイズ及び位置を計算する際に、まずデフォールト（省略）条件が101.6ｍｍの幅に対して目標エントリ・フィールドのｘ軸をチェックする。目標エントリ・フィールドの幅が矩形の囲みより狭いときは、ブロック１０１０において矩形の囲みの左境界を目標エントリ・フィールドの左境界の左へ１０ペルずらして配置し、かつブロック１０３０において、矩形の囲みの幅（ペル）−１０ペルに等しい距離だけ右境界を右へずらして配置させる。
【００３４】
矩形の囲みの左境界を更に左へ１０ペルずらして配置すると、ウィンドウのフレーム上に重ねる（スーパーインポーズ）ことができなくなるので、矩形の囲みを見るのを容易にする。更に、これはユーザが第１キャラクタの左に第１キャラクタの第２ストロークを配置することを許容する。「Ｔ」の交差は、第２ストロークが第１ストロークの左へ発生する良い例である。矩形の囲みが「Ｔ」のダウン・ストロークに過度に接近して描かれたときは、クロスバーのタッチダウン・ポイントが矩形の囲み外に置かれてストローク収集の終了が早過ぎたものにする。
【００３５】
判断ブロック１０００において、目標エントリ・フィールドのｘ軸が矩形の囲みの幅より広いときは、ブロック１０２０及び１０４０において、矩形の囲みを更に右側及び左側の両方で６ペルそれぞれ拡大させ、矩形の垂直線が目標エントリ・フィールドのフレーム上に来て不鮮明にしないように保持させる。判断ブロック１０５０において、目標エントリ・フィールドの高さを矩形の囲みの高さと比較する。ブロック１０５５において、ｘ軸処理と同じように、上部境界を１０ペル上昇させ、かつブロック１０８０において、底部境界を矩形の囲みの高さ−１０ペルに等しい量により下げる。目標ウィンドウの高さが矩形の囲みの高さより高いときは、ブロック１０６０及び１０８５において上部境界及び底部境界を１０ペル外方向へそれぞれ調整する。次いで、ブロック１０９０において、ルーチンは戻る。
【００３６】
図１１は矩形の囲みがディスプレイの可視領域内に留まるのを保証する境界チェック・ルーチンを説明している。判断ブロック１１００及び１１２０において、システムはｘ又はｙにおける負値についてチェックする。ブロック１１１０及び１１３０において、負値であればこれをゼロにリセットする。次いで、矩形の囲みは、判断ブロック１１４０において右境界が、又は判断ブロック１１６０において上部境界がディスプレイの最大範囲より大きいか否かを調べるためにチェックされる。イエスならば、ブロック１１５０及び１１７０において、これらの値をそれぞれの最大値にリセットする。
【００３７】
矩形の囲みを処理する際の最終ステップは、ディスプレイ上に実際の描画であり、これを図１２に示す。ペン・エクステンションが目標アプリケーションに関連して動作していることを理解しなければならず、従ってディスプレイ・イメージの描画操作又はディスプレイ・イメージの変更がアプリケーションそのものと干渉しないことを保証しなければならない。好ましいＯＳ／２（商標）オペレーティング・システムはアプリケーション・ウィンドウの全てのペイント・オペレーション及び属性を管理し、かつ制御するプレゼンテーション・スペース（ＰＳ）を採用している。処理１２００及び１２１０では、後にリストア（復元）することができるように、ＰＳにおける現在位置及び線の種類をキューにする。ブロック１２３０において現在位置を矩形の囲みの原点に設定し、ブロック１２２０において線の種類を点線に変更し、かつブロック１２４０においてＸＯＲラスタ・オペレーションを用いて矩形を描いて後に下層のイメージを完全にリストアできるようにする。次いで、ブロック１２５０及び１２６０において位置及び線の種類をそれぞれ復元し、ブロック１２７０において描画に用いるＰＳの取り扱いを記録する。続いて、ブロック１２８０において、書き込みモードの完了の際に矩形の囲みの消去を予定するためにシステム・フラグをセットする。
【００３８】
この時点で、ユーザは第１キャラクタの第１ストロークを描き続ける。図１３を参照する。ユーザが最終的に持ち上げると、判断ブロック１３００において、システムは、当該システムが書き込みモードであるか否かを調べるためにチェックをする。イエスのときは、ブロック１３１０において、ストローク・カウントを増加させ、ブロック１３２０においてストロークの収集値に現在のストロークを加算し、かつブロック１３３０においてシステムは典型的には３秒間の書き込みタイムアウトにより監視を開始する。スタイラス入力が３秒間ないときは、ユーザ入力の完了を信号出力させる。
【００３９】
図１４を参照する。書き込みタイムアウトが発生した場合に、判断ブロック１４００においてシステムが書き込みモードにあれば、ブロック１４１０において、書き込みの終了を処理して、ブロック１４２０において書き込みモードを抜け出す。
【００４０】
図１５は書き込みロジックのフローの終了を示している。ブロック１５００において、システムはディスプレイの全てのストロークをインクなしにする。次いで、ブロック１５１０において、矩形の囲みを消去し、かつブロック１５２０において収集した全てのストロークを認識エンジンに送出する。判断ブロック１５３０において、認識結果がジェスチャであるときは、ブロック１５４０において、このジェスチャを実行する。判断ブロック１５５０において、結果がテキストであるときは、ブロック１５６０において、最も一般的な結果、キャラクタがキー・ボードにより発生したかのように見せる形式により、テキスト・ストリングをアプリケーションに送出する。認識結果がヌルであったときは、ブロック１５７０において単純にルーチンが戻り、それ以上のアクションはない。
【００４１】
図１６を参照すると、矩形の囲みの削除及び消去は同一のステップを取ってこれに描画する。ブロック１６００において、まず、描画するために使用するＰＳの取り扱いを調べる。次いで、ブロック１６１０において、ＰＳにおける現在位置１６１０を調べる、最後に、ブロック１６２０において、線の種類を再び調べする。ブロック１６３０において点線の種類をセットし、かつブロック１６４０において描画位置をセットした後、ブロック１６５０においてＸＯＲオペレーションを使用して矩形の囲みを再び描いて、今度は下層のイメージを効果的に復元する。ブロック１６６０及び１６７０において、ＰＳ位置及び線の種類を再び復元し、かつブロック１６８０においてシステム・フラグ「矩形の囲みを描画した」を偽（false）に変更する。
【００４２】
図７を再び参照する。持ち上げた後に、ユーザが再びタッチ・ダウンして書き込みを続けると、判断ブロック７００において、動作による書き込みモードについてのテストは真であるかについてテストし、判断ブロック７６５においてタッチ・ダウン・ポイントを調べてタッチ・ダウン・ポイントが矩形の囲み外に発生したか否かを調べる。これが矩形の囲み外に発生したときは、ブロック７５５において書き込みモードを終了させ、再び第１ストロークの第１ポイントとしてタッチ・ダウンを取り扱うためにルーチンに再び入る。判断ブロック７６５において、各ストロークのタッチ・ダウンが矩形の囲み内に留まっている限り、ブロック７７０において、新しいストロークを収集し続ける。新しい各ストロークが開始すると、ブロック７８６において、書き込みタイムアウトをリセットする。
【００４３】
以上から、本発明は矩形の囲みを目標エントリ・フィールド即ちウィンドウ周辺の可視的なインジケータとして提供することが分かる。矩形の囲み外から開始するどのようなペン・ストロークもストロークの現在収集に含まれることはなく、実際には現在モードを終結して新しいモードによるストローク収集を開始する。しかし、ユーザは矩形の囲み外に手書きを自由に拡張でき、かつその領域外でストロークを終了させることさえもできる。矩形の囲み外に対する全ての書き込みは、完全にインクが入れられる。
【００４４】
テキスト入力に対して目標ウィンドウが実行可能にされるときにのみ、矩形の囲みが設けられる。これはＸＯＲオペレーションにおける目標領域周辺の点線ボックスとして描かれるので、描画を後に残すことなく除去することができ、従ってボックスはフィールドを取り囲むテキストを不鮮明にすることはない。矩形の囲みのサイズは、異なるサイズの手書きを考慮に入れるためにユーザにより設定が可能である。しかし、デフォールト・サイズは高さが12.7mm×幅が101.6ｍｍである。目標領域のｘ軸又はｙ軸が既にそのサイズであるか、又はそれを超えているのであれば、その軸は拡大されない。両軸がデフオールト・サイズより大きいときは、矩形の囲みを抑制する。
【００４５】
矩形の囲みがイネーブルされ、ユーザがウィンドウに直接書き込む意図を持っていると判断されたならば、矩形の囲みは直ちに表示される。ペン・ソフトウェアは、ペンの動きを監視することにより、マウス・オペレーション（即ち、ナビゲーション及びテキスト・マーキング）を手書き入力から区別することができる。ユーザは、300ミリ秒内にタッチ・ダウンして、1625.6/1.000ミリメートル移動することにより、手書きの開始を信号出力し、矩形の囲みを直ちに表示させる。これは、ユーザが書き込みの意図がないときに矩形の囲みを表示することは、ＣＰＵの動作の無駄を大きくし、かつ負荷も膨大になるので、重要な機能である。ユーザが見ているものは、第１ストロークが1/254mmに到達した後に、スタイラスに従って膨張する目標ウィンドウである。
【００４６】
矩形の囲みを描画することにより、ユーザが矩形の囲みを移動させる際にペンの先端によるインクの描画を妨げたり、又は遅延させることはできないので、矩形の囲みを提供する際に、パフォーマンスが重要な意味を持つ。
【００４７】
矩形の囲みのサイズは、ユーザの適切な書き込み領域とウィンドウにおける他のエントリ・フィールドを阻止することとの間における妥協によるものである。これは、ユーザが書き込み入力をフィールドからフィールドへ速やかに移動可能にすることを意図している。そのメニューにおける次のフィールドが隣接するテキスト・フィールドの矩形の囲みにより覆われるのであれば、ユーザはそのフィールドに書き込むことにより新しいモードを開始できなくなる。ユーザはモードを終了させるように終了近傍へ強制されるか、又は矩形の囲みにより覆われていない他のテキスト・フィールドに移動させられることになる。
【００４８】
ユーザが矩形の囲み外にタッチすれば直ちに、矩形の囲み及びインクを塗ったストロークが消去され（非描画にされ）、収集されたストロークが手書き認識エンジンに送出されて処理される。もし、タッチ・ダウンと関連して、ユーザが再び書き込みを開始するのであれば、矩形の囲みが描画されてシステムが再び手書きモードになる。このような挙動はペン認識アプリケーション及びペン非認識アプリケーションに適用されることに注意すべきである。しかし、ペン認識アプリケーションはシステム機能の呼び出しにより矩形の囲み寸法（高さと幅）を指定することができる。
【００４９】
ペンに基づくシステムのマルチタスク特性を与えると、入力が認識により高い優先度により動作する際にユーザが更に入力を自由に書き込み続けられる期間は、一連のウィンドウから収集した手書きの認識結果を保留していてもよい。認識結果は、利用可能になると、これらがキーボードにより発生されたかのように
キャラクタ・メッセージの形式により目標ウィンドウに転送される。これらのキャラクタの表示は、ユーザが非干渉形式によりウィンドウへの書き込みによりインターリーブされる。
【００５０】
まとめとして、本発明の構成に関して以下の項を開示する。
【００５１】
（１）  ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にする方法であって、コンピュータにより実行するステップであって、前記スタイラスのタッチ・ダウンを検出するステップとして、前記スタイラスの前記タッチ・ダウンはテキスト・エントリ・フィールドであるか否かを判断するステップと、前記テキスト・エントリ・フィールドにおける前記スタイラスの動きを検出するステップと、あるしきい値より大きな前記テキスト・エントリ・フィールドにおける前記スタイラスの動きの検出に応答して、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描画するステップとを含む、方法。
（２）  コンピュータにより実行するステップであって、前記テキスト・エントリ・フィールドのサイズを判断するステップと、前記テキスト・エントリ・フィールドの前記サイズが所定のサイズより小さいときは、前記矩形の囲みのサイズをほぼ前記所定のサイズに設定するステップとを含む、（１）記載の方法。
（３）  コンピュータにより実行するステップであって、前記テキスト・エントリ・フィールドのサイズが前記所定のサイズより小さくないときは、前記矩形の囲みのサイズをほぼ前記テキスト・エントリ・フィールドのサイズにするステップを含む、（１）記載の方法。
（４）  前記所定のサイズはユーザにより設定可能である、（２）記載の方法。
（５）  コンピュータにより実行するステップであって、前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップを実行するステップを含む、（２）記載の方法。
（６）  コンピュータにより実行するステップであって、前記矩形の囲み外に前記スタイラスがタッチ・ダウンされたのを検出することに応答して前記矩形の囲みを消去するステップを含む、（１）記載の方法。
（７）  コンピュータにより実行するステップであって、所定のタイムアウト期間において前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップを含む、（１）記載の方法。
（８）  コンピュータにより実行するステップであって、前記矩形の囲み内で開始するストロークを検出することなく前記タイムアウト期間の経過に応答して矩形の囲みを消去するステップを含む（７）記載の方法。
（９）  コンピュータにより実行するステップであって、前記矩形の囲み内で開始する前記スタイラスのどのようなストロークにもインクを塗るステップを含む、（１）記載の方法。
（１０）  ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にする方法であって、コンピュータにより実行するステップとして、テキスト・エントリ・フィールドにおける前記スタイラスの前記タッチ・ダウンを検出するステップと、前記テキスト・エントリ・フィールドにおける前記スタイラスの動きに応答して、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描くステップと、前記テキスト・エントリ・フィールドのサイズが所定のサイズより小さいときは、前記矩形の囲みのサイズを前記所定のサイズにほぼ設定するステップと、前記テキスト・エントリ・フィールドのサイズが前記所定のサイズより小さくないときは、前記矩形の囲みのサイズを前記テキスト・エントリ・フィールドのサイズにほぼ設定するステップと、
前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップとを含む方法。
（１１）  コンピュータにより実行するステップであって、前記矩形の囲み外に前記スタイラスがタッチ・ダウンしたのを検出することに応答して前記矩形の囲みを消去するステップを含む、（１０）記載の方法。
（１２）  コンピュータにより実行するステップであって、前記矩形の囲み内で開始する前記スタイラスのストロークを検出することなく所定のタイムアウト期間の経過に応答して、矩形の囲みを消去するステップを含む、（１０）記載の方法。
（１３）  前記所定のサイズはユーザにより設定可能である、（１０）記載の方法。
（１４）  ペン・ベース・コンピュータ・システムにおけるスタイラス入力を容易にする方法であって、コンピュータにより実行するステップとして、前記スタイラスの前記タッチ・ダウンを検出するステップと、前記タッチ・ダウンがテキスト・エントリ・フィールド内であるか否かを判断するステップ、前記ペン・ベース・コンピュータ・システムが書き込みモードであるか否かを判断するステップと、前記ペン・ベース・コンピュータ・システムが書き込みモードでないときに前記テキスト・エントリ・フィールドにおける前記スタイラスの動きを検出することに応答して、前記テキスト・エントリ・フィールドのｘ軸のサイズを判断するステップと、前記テキスト・エントリ・フィールドのｙ軸のサイズを判断するステップと、前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算するステップ、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描くステップ、及び、書き込みモードに前記ペンに基づくコンピュータ・システムを設定するステップとを含む、方法。
（１５）  前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記ステップは、コンピュータにより実行するステップとして、前記テキスト・エントリ・フィールドの前記ｘ軸のサイズが所定のサイズより小さいときは、前記矩形の囲みにおける前記ｘ軸のサイズを前記所定のｘ軸のサイズにほぼ等しく設定するステップと、前記テキスト・エントリ・フィールドのｙ軸のサイズが前記所定のサイズより小さいときは、前記矩形の囲みの前記ｙ軸のサイズを前記所定のｙ軸のサイズにほぼ等しく設定するステップとを含む、（１４）記載の方法。
（１６）  前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記ステップは、コンピュータにより実行するステップとして、前記テキスト・エントリ・フィールドの前記ｘ軸のサイズが所定のサイズより小さくないときは、前記矩形の囲みにおけるｘ軸のサイズを前記テキスト・エントリ・フィールドのｘ軸のサイズにほぼ等しく設定するステップを含む、（１５）記載の方法。
（１７）  前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記ステップは、コンピュータにより実行するステップとして、前記テキスト・エントリ・フィールドの前記ｙ軸のサイズが所定のサイズより小さくないときは、前記矩形の囲みにおけるｙ軸のサイズを前記テキスト・エントリ・フィールドのｙ軸のサイズにほぼ等しく設定するステップを含む、（１５）記載の方法。
（１８）  コンピュータにより実行するステップであって、前記テキスト・エントリ・フィールドの前記ｘ軸のサイズ及び前記ｙ軸のサイズが前記所定の前記ｘ軸のサイズ及び前記ｙ軸のサイズより大きいときは、前記矩形の囲みにおけるｘ軸のサイズを抑制させるステップを含む（１４）記載の方法。
（１９）  コンピュータにより実行するステップであって、前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈するステップを含む（１４）記載の方法。
（２０）  前記所定の前記ｘ軸のサイズ及び前記ｙ軸のサイズはそれぞれユーザにより設定可能である、（１５）記載の方法。
（２１）  ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にするシステムであって、前記スタイラスの前記タッチ・ダウンを検出する手段と、前記スタイラスの前記タッチ・ダウンがテキスト・エントリ・フィールド内であるか否かを判断する手段と、前記テキスト・エントリ・フィールドにおける前記スタイラスの動きを検出する手段と、あるしきい値より大きな前記テキスト・エントリ・フィールドにおける前記スタイラスの動きの検出に応答して、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描画する手段とを含む、システム。
（２２）  前記テキスト・エントリ・フィールドのサイズを判断する手段と、前記テキスト・エントリ・フィールドの前記サイズが所定のサイズより小さいときは、前記矩形の囲みのサイズをほぼ前記所定のサイズに設定する手段とを含む、（２１）記載のシステム。
（２３）  前記テキスト・エントリ・フィールドが前記所定のサイズより小さくないときは、前記矩形の囲みのサイズをほぼ前記テキスト・エントリ・フィールドのサイズに設定する手段を含む、（２１）記載のシステム。
（２４）  前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段を含む、（２１）記載のシステム。
（２５）  前記矩形の囲み外に前記スタイラスがタッチ・ダウンしたのを検出することに応答して前記矩形の囲みを消去する手段を含む、（２１）記載のシステム。
（２６）  所定のタイムアウト期間において前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段を含む、（２１）記載のシステム。
（２７）  前記矩形の囲み内で開始するストロークを検出することなく前記タイムアウト期間の経過に応答して矩形の囲みを消去する手段を含む、（２６）記載のシステム。
（２８）  前記矩形の囲み内で開始する前記スタイラスのどのようなストロークもインクを塗る手段を含む、（２１）記載のシステム。
（２９）  ペン・ベース・コンピュータ・システムにおけるテキスト・エントリ・フィールドへのスタイラス入力を容易にするシステムであって、テキスト・エントリ・フィールドにおける前記スタイラスの前記タッチ・ダウンを検出する手段と、前記テキスト・エントリ・フィールドにおける前記スタイラスの動きに応答して、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描く手段と、前記テキスト・エントリ・フィールドのサイズがユーザにより設定可能な所定のサイズより小さいときは、前記矩形の囲みのサイズを前記所定のサイズにほぼ設定する手段と、前記テキスト・エントリ・フィールドのサイズが前記ユーザにより設定可能な所定のサイズより小さくないときは、前記矩形の囲みのサイズを前記テキスト・エントリ・フィールドのサイズにほぼ設定する手段と、前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段とを備えたコンピュータを含む、システム。
（３０）  前記矩形の囲み外に前記スタイラスがタッチ・ダウンしたのを検出することに応答して前記矩形の囲みを消去する手段を含む、（２９）記載のシステム。
（３１）  前記矩形の囲み内で開始する前記スタイラスのストロークを検出することなく所定のタイムアウト期間の経過に応答して、矩形の囲みを消去する手段を含む、（２９）記載のシステム。
（３２）  ペン・ベース・コンピュータ・システムにおけるスタイラス入力を容易にするシステムであって、前記スタイラスの前記タッチ・ダウンを検出する手段と、前記タッチ・ダウンがテキスト・エントリ・フィールド内であるか否かを判断する手段と、前記ペンに基づくコンピュータ・システムが書き込みモードであるか否かを判断する手段と、前記ペンに基づくコンピュータ・システムが書き込みモードでないときに前記テキスト・エントリ・フィールドにおける前記スタイラスの動きを検出することに応答して、前記テキスト・エントリ・フィールドのｘ軸のサイズを判断し、前記テキスト・エントリ・フィールドのｙ軸のサイズを判断し、前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算し、前記テキスト・エントリ・フィールド周辺に矩形の囲みを描画し、かつ、前記ペンに基づくコンピュータ・システムを書き込みモードに設定する手段とを含む、システム。
（３３）  前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記手段は、前記テキスト・エントリ・フィールドの前記ｘ軸のサイズがユーザにより設定可能な所定のｘ軸のサイズより小さいときは、前記矩形の囲みにおけるｘ軸のサイズを前記所定のｘ軸のサイズにほぼ等しく設定する手段と、前記テキスト・エントリ・フィールドの前記ｙ軸のサイズがユーザにより設定可能な所定のｙ軸のサイズより小さいときは、前記矩形の囲みのｙ軸のサイズを前記所定のｙ軸のサイズにほぼ等しく設定する手段とを含む、（３２）記載の方法。
（３４）  前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記手段は、前記テキスト・エントリ・フィールドの前記ｘ軸のサイズがユーザにより設定可能な所定のｘ軸のサイズより小さくないときは、前記矩形の囲みにおけるｘ軸のサイズを前記テキスト・エントリ・フィールドのｘ軸のサイズにほぼ等しく設定する手段を含む、（３２）記載のシステム。
（３５）  前記ｘ軸のサイズ及び前記ｙ軸のサイズに基づき矩形の囲みのサイズを計算する前記手段は、前記テキスト・エントリ・フィールドの前記ｙ軸のサイズが所定のｙ軸のサイズより小さくないときは、前記矩形の囲みにおけるｙ軸のサイズを前記テキスト・エントリ・フィールドのｙ軸のサイズにほぼ等しく設定する手段を含む、（３２）記載のシステム。
（３６）  前記テキスト・エントリ・フィールドの前記ｘ軸のサイズ及び前記ｙ軸のサイズの両者が前記所定の前記ｘ軸のサイズ及び前記ｙ軸のサイズより大きいときは、前記矩形の囲みのサイズを抑制させる手段を含む、（３２）記載のシステム。
（３７）  前記矩形の囲み内で開始する前記スタイラスのどのようなストロークも前記テキスト・エントリ・フィールドに対する入力として解釈する手段を含む、（３２）記載のシステム。
【図面の簡単な説明】
【図１】本発明によるコンピュータ・システムのハードウエア・ブロック図である。
【図２】本発明の主要なソフトウェア構成要素のアーキテクチャ・ブロック図である。
【図３】密に配置した多数のテキスト・エントリ・フィールドを有するウィンドウの絵図であり、ユーザ・インターフェイス・レベルにより本発明の好ましい実施例を示す図である。
【図４】密に配置した多数のテキスト・エントリ・フィールドを有するウィンドウの絵図であり、ユーザ・インターフェイス・レベルにより本発明の好ましい実施例を示す図である。
【図５】密に配置した多数のテキスト・エントリ・フィールドを有するウィンドウの絵図であり、ユーザ・インターフェイス・レベルにより本発明の好ましい実施例を示す図である。
【図６】密に配置した多数のテキスト・エントリ・フィールドを有するウィンドウの絵図であり、ユーザ・インターフェイス・レベルにより本発明の好ましい実施例を示す図である。
【図７】本発明のスタイラス・タッチ・ダウンのフローチャートである。
【図８】本発明によるペンの動きルーチンのフローチャートである。
【図９】本発明の矩形の囲み境界ボックスを処理するルーチンのフローチャートである。
【図１０】本発明の矩形の囲み境界ボックス・サイズ及び位置を計算するルーチンのフローチャートである。
【図１１】本発明の境界チェックを実行するルーチンのフローチャートである。
【図１２】本発明の境界ボックスの囲みを描くルーチンのフローチャートである。
【図１３】本発明のスタイラスを持ち上げるルーチンのフローチャートである。
【図１４】本発明の書き込みタイムアウト・ルーチンのフローチャートである。
【図１５】本発明の書き込み終了処理ルーチンのフローチャートである。
【図１６】本発明の境界ボックスの囲みを消去するルーチンのフローチャートである。
【図１７】本発明の矩形の囲みのサイズを初期化するルーチンのフローチャートである。
【符号の説明】
１０    パーソナル・コンピュータ・システム
１１    プロセッサ
１３    ＣＰＵ
１５    ランダム・アクセス・メモリ
２９    ペン
【図１】
0004132129.tif 000002
【図２】
0004132129.tif 000003
【図３】
0004132129.tif 000004
【図４】
0004132129.tif 000005
【図５】
0004132129.tif 000006
【図６】
0004132129.tif 000007
【図７】
0004132129.tif 000008
【図８】
0004132129.tif 000009
【図９】
0004132129.tif 000010
【図１０】
0004132129.tif 000011
【図１１】
0004132129.tif 000012
【図１２】
0004132129.tif 000013
【図１３】
0004132129.tif 000014
【図１４】
0004132129.tif 000015
【図１５】
0004132129.tif 000016
【図１６】
0004132129.tif 000017
【図１７】
0004132129.tif 000018