(57)【要約】【課題】フリーフォーム電子文書での改善された手書き認識／変換を実現する。【解決手段】電子インクを検出し、検出したインクを、筆跡または描画に対応するものとして分類し、検出したインクを筆跡または描画として分類（ステップ３１０）したことに応答して、それぞれ手書きガイド（ステップ３２０）または描画ガイド（ステップ３３５）を表示することにより、フリーフォーム文書エディタ用のライティングガイドを表示する。ライティングガイドは、検出したインクの分類に関するフィードバックを供給することができ、追加のインクを検出したときにサイズ変更することができる（ステップ３３０、３４５）。手書きガイドは、ライティングエリア、ライティングガイド部分、ブリットガイド、インデントマーカ、文字ノッチ、ジェスチャガイド、または犠牲ガイドを有し、電子文書のアウトラインオブジェクト内に意味のある構造を作成する。【選択図】　　　　図３
2004062891.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行される、フリーフォーム文書エディタ用のライティングガイドを表示するための方法であって、
インクストロークを含む電子インクを検出するステップと、
検出した前記インクを、筆跡と描画の一方に対応するものとして分類するステップと、
検出した前記インクを筆跡として分類したことに応答して手書きライティングガイドを表示するステップと
を備えたことを特徴とする方法。
【請求項２】
前記分類するステップは、
検出した前記インクが筆跡を含むか、それとも描画を含むかを示すしきい値アスペクト比を設定するステップと、
検出した前記インクの長さ及び高さを判定するステップと、
判定した前記長さ及び高さに基づいて、検出した前記インクについてのインクアスペクト比を計算するステップと、
前記インクアスペクト比が前記しきい値アスペクト比よりも大きいかどうかを判定するステップと、
前記インクアスペクト比が前記しきい値アスペクト比よりも大きいという判定に応答して、検出した前記インクを筆跡として分類するステップと
を備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記検出するステップで、検出した前記インクを筆跡または描画として分類する前に、検出する所定のインクストローク数に対応する最小ストロークしきい値を設定するステップと、
検出した前記インクについての検出したインクストローク数を求めるステップと、
検出した前記インクストローク数が前記最小ストロークしきい値よりも大きいかどうかを判定するステップとをさらに備え、
前記分類するステップは、検出した前記インクストローク数が前記最小ストロークしきい値よりも大きいという判定に応答して実施される
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記最小ストロークしきい値は、検出した前記インクを筆跡として分類する所定のインクストローク数と、検出した前記インクを描画として分類する、異なる所定のインクストローク数とを有することを特徴とする請求項３に記載の方法。
【請求項５】
前記手書きライティングガイドは、ユーザが前記電子インクを入力するライティングエリアを有することを特徴とする請求項１に記載の方法。
【請求項６】
前記表示するステップは、検出したインクを包含する境界矩形に基づいて、前記ライティングエリアの寸法を判定するステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記寸法を判定するステップは、検出した前記インクを包含する前記境界矩形に基づいて、前記ライティングエリアの右端、左端、上端、及びベースラインの寸法を求めるステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記寸法を判定するステップは、前記上端及びベースラインの寸法の一方に所定の間隔を追加することによって前記ライティングエリアを増やすステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記寸法を判定するステップは、
検出した前記インクの行上の分布を表すヒストグラムを作成するステップと、前記ヒストグラムに基づいて、前記ライティングエリアの前記ベースライン寸法を計算するステップと
を含むことを特徴とする請求項６に記載の方法。
【請求項１０】
前記作成するステップは、
前記行を複数のセグメントに分割するステップと、
各セグメント内の検出したインク量を測定するステップと、
各セグメント内の検出したインク量に基づいて、前記ヒストグラムを作成するステップと
を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記計算するステップは、
セグメントを前記ライティングエリアから除去するインク量に対応するインク除去しきい値を設定するステップと、
セグメント内の検出したインク量が前記インク除去しきい値よりも少ないかどうかを判定するステップと、
前記セグメント内の検出したインク量が前記インク除去しきい値よりも少ないと判定したことに応答して、前記ライティングエリアから前記セグメントを除去し、前記ライティングエリアの前記ベースライン寸法を確定するステップとを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記寸法を判定するステップは、
検出した前記インクの一部をテキストに変換するステップと、
前記変換するステップのインク−テキスト変換に基づいて、前記ライティングエリアのベースライン寸法を計算するステップと
を含むことを特徴とする請求項６に記載の方法。
【請求項１３】
前記ライティングエリアの寸法をサイズ変更するために、前記ライティングエリア外部のインク量に対応するサイズ変更しきい値を設定するステップと、
前記ライティングエリア外部のインク量を検出するステップと、
前記ライティングエリア外部のインク量が前記サイズ変更しきい値より多いかどうかを判定するステップと、
前記ライティングエリア外部のインク量が前記サイズ変更しきい値よりも多いという判定に応答して、前記ライティングエリアの寸法をサイズ変更するステップと
をさらに備えたことを特徴とする請求項６に記載の方法。
【請求項１４】
前記ライティングエリアの寸法をサイズ変更するために、前記ライティングエリア外部のインク量に対応するサイズ変更しきい値を設定するステップと、
前記ライティングエリア内部及び外部に複数のセグメントを確定するステップと、
各セグメント内のインク量を検出するステップと、
前記ライティングエリア外部のセグメント内のインク量が前記サイズ変更しきい値よりも多いかどうかを判定するステップと、
前記ライティングエリア外部のインク量が前記サイズ変更しきい値よりも多いという判定に応答して、前記ライティングエリアの寸法を増やすステップと
をさらに備えたことを特徴とする請求項６に記載の方法。
【請求項１５】
コンピュータで実行される、フリーフォーム文書エディタ用のライティングガイドを表示するための方法であって、
電子インクを検出するステップと、
検出した前記インクを、筆跡と描画の一方に対応するものとして分類するステップと、
検出した前記インクを筆跡として分類したことに応答して、ユーザが前記電子インクを入力するライティングエリアを有する手書きライティングガイドを表示するステップと
を備えたことを特徴とする方法。
【請求項１６】
前記表示するステップは、構造化アウトラインの相異なるレベルに対応する第１のレベル領域と第２のレベル領域とに前記ライティングエリアを分割する次レベルのインデント標識をさらに有する前記手書きライティングガイドを表示するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記表示するステップは、前記構造化アウトラインのブリットアウトラインに対応するブリット領域をさらに有する前記手書きライティングガイドを表示するステップを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記ブリットアウトラインを表示するために、前記ブリット領域を活動化するステップをさらに備えたことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記表示するステップは、言語の個々の文字についての文字ボックスに前記ライティングエリアを分割する文字ノッチをさらに有する前記手書きライティングガイドを表示するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項２０】
前記手書きライティングガイドは、ジェスチャ手書きライティングガイドを含むことを特徴とする請求項１５に記載の方法。
【請求項２１】
前記手書きライティングガイドは、犠牲手書きライティングガイドを含むことを特徴とする請求項１５に記載の方法。
【請求項２２】
前記手書きライティングガイドは、ネストされた見出し手書きライティングガイドを含むことを特徴とする請求項１５に記載の方法。
【請求項２３】
コンピュータで実行される、フリーフォーム文書エディタ用のライティングガイドを表示するための方法であって、
電子インクを検出するステップと、
検出した前記インクを、筆跡と描画の一方に対応するものとして分類するステップと、
検出した前記インクを描画として分類したことに応答して、描画ガイドを表示するステップと
を備えたことを特徴とする方法。
【請求項２４】
前記表示するステップは、
検出した前記インクを包含する元の境界矩形の寸法を判定するステップと、
前記元の境界矩形の寸法に基づいて前記描画ガイドの寸法を確定するステップと
を含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記元の境界矩形の外部のインクを検出するステップと、前記元の境界矩形の外部で検出した前記インクを包含する新しい境界矩形の寸法を判定するステップと、
前記新しい境界矩形の寸法に基づいて前記描画ガイドの寸法を再確定するステップと
をさらに備えたことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記表示するステップは、前記元の境界矩形周囲のホットゾーンの寸法を判定するステップをさらに含み、
前記確定するステップは、前記境界矩形及びホットゾーンの寸法に基づいて前記描画ガイドの寸法を確定するステップを含む
ことを特徴とする請求項２４に記載の方法。
【請求項２７】
前記検出したインクを筆跡として分類することに応答して、手書きライティングガイドを表示するステップをさらに備えたことを特徴とする請求項２４に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フリーフォーム文書エディタを使用して電子文書を作成する、フリーフォーム文書エディタ用のライティングガイドを表示するための方法に関する。詳細には、本発明は、フリーフォーム文書エディタの形でユーザインタフェースを提供するフリーフォーム文書エディタ用のライティングガイドを表示するための方法に関する。
【０００２】
【従来の技術】
情報を記録及び伝達する最も単純な方法の１つは、ペンなどの筆記用具を用いて１枚の紙の上に情報を書き込む伝統的な方法である。１枚の紙の上に手で情報を書き込むことは、安価であり、ほとんど準備せずに迅速かつ容易に行うことができる。この伝統的な情報はまた、筆者が一般に任意のフォーマットでページ上の任意の場所に書き込むことができるという点で柔軟性もある。手書き作業に伴う制約の１つは、操作するのが容易ではなく、他のコンテキストに転送するのが容易ではないことである。言い換えれば、１枚の手書き原稿を変更または転送することは通常、別の媒体上にその原稿をリライトすることを必要とする。
【０００３】
パーソナルコンピュータが広く使用されるようになったことに伴い、テキスト情報はしばしば、パーソナルコンピュータ上で動作するワードプロセッシングソフトウェアを使用して記録される。このような、情報を記録する電子的な方法の利点は、情報を容易に格納することができ、他のリモートコンピューティング装置や電子媒体に転送できることである。このような電気的に記録されたテキストはまた、様々な異なる方式で容易に補正、修正、及び操作することもできる。
【０００４】
典型的なコンピュータシステム、特に、Ｍｉｃｒｏｓｏｆｔ　ＷＩＮＤＯＷＳ（登録商標）などのグラフィカルユーザインタフェース（ＧＵＩ）システムを使用するコンピュータシステムは、１つまたは複数の別個の入力装置からユーザ入力を受諾するように最適化されている。一般的な入力装置には、テキストを入力するためのキーボードや、ユーザインタフェースを制御するための、１つまたは複数のボタンを備えるマウスなどのポインティングデバイスが含まれる。キーボード／マウスインタフェースにより、テキスト、スプレッドシート、データベースフィールド、図面、及び写真を含む電子文書の作成及び修正が容易になる。
【０００５】
従来のＧＵＩシステムに伴う制約の１つは、ユーザがパーソナルコンピュータに入力しているテキストを、一般にユーザはキーボードを使用してタイプしなければならないことである。キーボードを使用してテキストを入力することは、手書きよりも、低速で煩わしいことがある。近年、パーソナルコンピュータのサイズを縮小する上で進歩してきたが、それらは依然として、伝統的なペンと紙ほどには持ち運びが容易ではなく、利用も容易ではない。さらに、伝統的なペンと紙は、文書を編集し、余白にメモを記録し、図形や輪郭を描く上でのかなりの柔軟性をユーザにもたらす。ある場合、ユーザは、キーボード／マウスインタフェースに制限されずに自由にメモを取ることができるために、画面上で文書を検討するよりも、ペンを使用して文書にマークを付けることを望むことがある。
【０００６】
伝統的なキーボード／マウスインタフェースの欠点に対処するため、筆跡を記録することができる電子タブレットを作成する様々な試みが行われてきた。電子タブレットは通常、フリーフォーム文書を作成するためのフリーフォーム文書エディタを備える。フリーフォーム文書エディタは、ユーザがフリーフォームでノートを取ることを可能にする有用なツールと考えられている。電子タブレットは通常、画面と、ペンに類似のハンドヘルド装置も備える。ユーザは、伝統的なペンや紙と同様に、ハンドヘルド装置を用いて電子タブレットの画面上に書き込むことができる。電子タブレットは、ハンドヘルド装置を用いてユーザの筆跡のストローク（ひと筆；ｓｔｒｏｋｅ）を「読み取る」ことができ、「電子インク」を用いて、その筆跡を画面上に電子形式で再作成することができる。この電子タブレットの手法は、パーソナルコンピュータやハンドヘルドコンピューティング装置を含む様々な方式で利用することができる。
【０００７】
近年、電子インクのより精巧な作成及び操作を実現する別のコンピュータシステムが開発されてきた。このアプリケーション（例えば、Ｐａｌｍ（商標）オペレーティングシステム／ＰｏｃｋｅｔＰＣ（商標）オペレーティングシステムに関連するドローイングアプリケーション）は、図面の取込み及び格納が可能である。この図面は、図面を構成するのに使用するインクストロークに関連する他のプロパティを含む。例えば、線幅や色をインクと共に格納することができる。このシステムの１つの目標は、１枚の紙に付着する物理的インクのルックアンドフィールを再現することである。しかし、紙上の物理的インクは、座標と、それを接続する線分の電子的集合によって取り込まれない、著しい量の情報を有する可能性がある。この情報の一部は、アウトライン構造及び書込みのタイプ（筆跡または描画など）を含む可能性がある。
【０００８】
電子タブレットや電子インクの進歩にも関わらず、依然としてそのような電子手書き装置の性能に伴ういくつかの制限が存在する。例えば、従来のフリーフォーム文書エディタは、ユーザがタブレット上にインクストロークを入力するときに文書構造を認識することができない。筆跡の各行は、別々にテキストに変換され、画面の左マージンに沿って整列される。したがって、ユーザがインクストロークに関して与える、意図するフォーマットは、テキストへの変換時に失われる。
【０００９】
従来のフリーフォーム文書エディタに伴う別の問題は、インクからテキストへのブラインド変換である。例えば、インクをテキストに変換し、画面内の入力インクストロークの厳密な位置に配置することができる。しかしこの方法は、電子文書全体にわたってテキストを結びつけずに、単に電子テキストを提供するに過ぎない。したがって、電子テキストをこのようにして変換したとき、ユーザは、電子テキストを修正及び編集することができない。加えて、ワードプロセッサアプリケーションプログラムなどの他のアプリケーションプログラムに、テキストを常にエクスポートすることができるわけではない。
【００１０】
従来のフリーフォーム文書エディタに伴う別の問題は、ユーザが入力したインクのタイプに関するフィードバックが欠けていることである。インクのタイプには筆跡及び描画が含まれる。エディタが筆跡を描画と誤って分類してしまう可能性がある。しかしエディタは、ユーザに対してその分類を示すことができない。したがって、インクがテキストに変換されなかったことをユーザが気付くまで、ユーザはエラーに気付かない。その時までには、多数のインクの行が誤って分類されてしまい、フォーマットを訂正するためにユーザが余分の作業をさせられる可能性がある。
【００１１】
尚、出願人が知っている先行技術として、記載すべき先行技術文献情報は特に見あたらない。
【００１２】
【発明が解決しようとする課題】
したがって、フリーフォーム電子文書での手書き認識／変換の改善が当技術分野で求められている。さらに、フリーフォーム文書エディタの、手書きインクストロークの分類に関するフィードバックを提供することも求められている。加えて、ユーザのインク入力をガイドして、テキスト認識精度を向上させることも当技術分野で求められている。手書きのため、及び他のアプリケーションプログラムが使用可能なテキストにフォーマットを変換するための構造化フォーマットをユーザが入力できるようにすることも求められている。
【００１３】
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、フリーフォーム電子文書での改善された手書き認識／変換を実現する、フリーフォーム文書エディタ用のライティングガイドを表示するための方法を提供することにある。
【００１４】
【課題を解決するための手段】
本発明は、フリーフォーム文書エディタに対するユーザインタフェースとしてライティングガイドを提供することができる。ライティングガイドは、ユーザが入力したインクストロークのエディタの分類をユーザに通知することができ、フリーフォーム文書エディタのアウトラインオブジェクト内に、構造化されたノートをユーザが作成することを可能にする。加えて、このライティングガイドは、テキストに変換することができ、他のアプリケーションにおける高い精度での使用も意図される、意味のある電子文書構造を構築する際に、ユーザをガイドすることができる。
【００１５】
このライティングガイドは、アウトラインオブジェクト内に行を作成し、それを拡張するユーザインタフェースを提供することができる。このライティングガイドは、ユーザと文書エディタのどちらにも視覚的フィードバックを提供することができ、そのフィードバックにより、インクがそれ自体の筆跡の行であること、またはインクが既存の筆跡の行に添付されていることが確認される。加えて、このライティングガイドは、より制御された方式でユーザが書き込むのを助けることができる。例えば、ライティングガイドに従うことにより、任意の角度で書き込むのではなく一直線に書き込むことができる。したがって、ユーザは高い認識度を有する筆跡を作成することができる。
【００１６】
本発明は、描画ライティングガイド及び手書きライティングガイドという２つの主なタイプのライティングガイドを提供することができる（以後、それぞれ描画ガイド、手書きガイドと呼ぶ）。ライティングガイドは、ユーザがタブレット上に電子インクストロークの入力を開始したときに、文書エディタページ上に出現することができる。インクストロークが手書き文字を含むとライティングガイドモジュールが判定した場合、手書きガイドを表示することができる。ユーザが引き続き書き込み、さらに多くの構造を作成するとき、様々な形の手書きガイドにより、ユーザがアウトラインオブジェクト内により複雑な構造を作成することが可能となる。例えば、ライティングガイド、ライティングガイド部分、ブリット（ｂｕｌｌｅｔ）ライティングガイド、インデントマーカ、及びその他のライティングガイドが、アウトラインオブジェクト内のより複雑で意味のある構造を予想通りに作成する方法をユーザに示すことができる。アウトラインオブジェクトが増加するとき、ライティングガイドは、各パラグラフのサイズ及び形状を示すことができ、インデントレベル及び複数行のパラグラフを示すようにサイズを変更することができる。
【００１７】
インクストロークが描画を含むとライティングガイドモジュールが判定した場合、描画ガイドを表示することができる。描画ガイドにより、複数のインクストロークを描画としてまとめることができる。描画ガイドは、その分類をユーザに示すことができ、インクストロークをテキストに変換しないように文書エディタに通知することができる。
【００１８】
本発明の上記その他の態様、目的、及び特徴は、添付の図面と共に、例示的実施形態の以下の詳細な説明を読み、添付の図面を参照することによって明らかとなるであろう。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００２０】
本発明は、フリーフォーム文書エディタに対するユーザインタフェースとしてライティングガイドを提供することができ、手書きの電子インクから電子文書を作成することを可能にする。ライティングガイドは、エディタがインクストロークを筆跡として分類したか、それとも図面として分類したかをユーザに示すことができる。筆跡の場合、本発明は手書きガイドをユーザに提示することができる。手書きガイドは、電子文書のフォーマット構造についての詳細な構造情報を提供することができる。例えば、手書きガイドは、入力筆跡についてのブリット及びインデントレベルを示すことができる。加えて、手書きガイドは、複数の行を１パラグラフとしてフォーマットするか、それとも個々の行としてフォーマットするかを指示することができる。図面として分類したインクストロークのグループに対して、描画ガイドを提示することができる。描画ガイドにより、インクストロークをグループとしてフォーマット及び操作することができる。
【００２１】
概してコンピューティング環境内で動作するソフトウェアモジュールの状況で、例示的実施形態を説明する。ソフトウェアモジュールによって実行されるプロセス及びオペレーションには、クライアントまたはサーバによる信号の操作、及びローカル／リモートメモリ記憶装置のうち１つまたは複数に常駐するデータ構造内でのその信号の保守が含まれる。このようなデータ構造により、メモリ記憶装置内に格納されるデータの収集時に物理的編成が課され、このようなデータ構造は、特定の電気的要素または磁気的要素を表す。この記号表現は、コンピュータプログラミング及びコンピュータ構築の分野の技術者が他の当業者に教示及び発見を効果的に伝えるために使用する手段である。
【００２２】
本発明はまた、本明細書で説明し、添付のフローチャートに図示する機能を実施するコンピュータプログラムも含む。しかし、本発明をコンピュータプログラミングで実施する多数の異なる方法が存在することは明らかであり、何らかの１組のコンピュータプログラム命令に本発明が限定されると解釈すべきではない。さらに、熟練したプログラマは、フローチャートと、本願の本文中の関連する記述とに基づいて、そのようなコンピュータプログラムを書き、開示の発明を実施することができよう。したがって、特定の１組のプログラムコード命令の開示は、本発明を作成し、使用する方法を十分に理解するのには不要であると考えられる。特許請求の範囲に記載された本発明のコンピュータプログラムの機能を、プログラムフローを示す図を参照しながら以下でより詳細に説明する。
【００２３】
これから各図面を参照して、本発明の態様及び例示的動作環境を説明する。各図面では、同様の符号は同様の要素を表す。
【００２４】
例示的動作環境
図１に本発明を実施するための例示的動作環境を示す。この例示的動作環境は、従来型パーソナルコンピュータ１２０の形の汎用コンピューティング装置を含む。一般に、パーソナルコンピュータ１２０は、プロセッサ１２１と、システムメモリ１２２と、システムメモリ１２２を含む様々なシステム構成要素をプロセッサ１２１に結合するシステムバス１２３とを含む。システムバス１２３は、様々なバスアーキテクチャのうちのいずれかを用いたメモリバスまたはメモリコントローラ、周辺バス、及びローカルバスを含むいくつかのタイプのバス構造のうちのいずれでもよい。システムメモリは、読取り専用メモリ（ＲＯＭ）１２４及びランダムアクセスメモリ（ＲＡＭ）１２５を含む。スタートアップ時などにパーソナルコンピュータ１２０内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１２６が、ＲＯＭ　１２４内に格納される。
【００２５】
パーソナルコンピュータ１２０は、ハードディスク（図示せず）を読み書きするためのハードディスクドライブ１２７と、リムーバブル磁気ディスク１２９を読み書きするための磁気ディスクドライブ１２８と、ＣＤ（ｃｏｍｐａｃｔ　ｄｉｓｃ　［ｄｉｓｋ］）−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ　ｖｅｒｓａｔｉｌｅ　ｄｉｓｋ）、または他の光媒体などのリムーバブル光ディスク１３１を読み書きするための光ディスクドライブ１３０とをさらに含む。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、及び光ディスクドライブ１３０は、それぞれハードディスクドライブインタフェース１３２、磁気ディスクドライブインタフェース１３３、及び光ディスクドライブインタフェース１３４によってシステムバス１２３に接続される。本明細書で説明する例示的環境では、ハードディスク１２７、リムーバブル磁気ディスク１２９、及びリムーバブル光ディスク１３１を利用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ＲＡＭ、ＲＯＭなど、コンピュータでアクセス可能な、データを格納することのできる他のタイプのコンピュータ可読媒体もこの例示的動作環境で使用できることを当業者は理解されよう。各ドライブと、それに関連するコンピュータ可読媒体は、パーソナルコンピュータ１２０に対して、コンピュータ実行可能命令、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶を提供する。
【００２６】
オペレーティングシステム１３５、文書エディタ１３６、インクプロセッサ１３８、及び電子文書１３９を含むいくつかのプログラムモジュールを、ハードディスク１２７、磁気ディスク１２９、光ディスク１３１、ＲＯＭ　１２４、またはＲＡＭ　１２５上に格納することができる。プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、サブルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明の態様は、インクプロセッサ１３８と共に動作して電子文書１３９を編集することができる文書エディタ１３６の形態で実施することができる。文書エディタ１３６は一般に、電子文書を作成及び編集するコンピュータ実行可能命令を含む。インクプロセッサ１３８は一般に文書エディタ１３６からアクセス可能であるが、文書エディタ１３６の一部分として実装することもできる。
【００２７】
ユーザは、キーボード１４０やポインティングデバイス１４２などの入力装置を介して、パーソナルコンピュータ１２０にコマンド及び情報を入力することができる。ポインティングデバイスには、マウス、トラックボール、ならびに電子タブレットと一緒に使用することができるスタイラスまたは電子ペンを含めることができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらの入力装置や他の入力装置はしばしば、システムバス１２３に結合されるシリアルポートインタフェース１４６を介してプロセッサ１２２に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）などの他のインタフェースで接続することもできる。ディスプレイ装置１４７も、ビデオアダプタ１４８などのインタフェースを介してシステムバス１２３に接続することができる。モニタに加えて、パーソナルコンピュータは通常、スピーカやプリンタなどの他の周辺出力装置（図示せず）を含む。
【００２８】
パーソナルコンピュータ１２０は、１つまたは複数のリモートコンピュータ１４９への論理接続を使用するネットワーク環境内で動作することができる。リモートコンピュータ１４９は、別のパーソナルコンピュータ、サーバ、クライアント、ルータ、ネットワークＰＣ（ｐｅｒｓｏｎａｌ　ｃｏｍｐｕｔｅｒ）、ピア装置、または他の共通ネットワークノードでよい。リモートコンピュータ１４９は一般に、パーソナルコンピュータ１２０に関して上記で説明した要素のうちの多数またはすべてを含むが、図１にはメモリ記憶装置１５０だけを示してある。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１５１及び広域ネットワーク（ＷＡＮ）１５２を含む。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、及びインターネットで一般的なものである。
【００２９】
ＬＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ１２０はしばしば、ネットワークインタフェース／アダプタ１５３を介してローカルエリアネットワーク１５１に接続される。ＷＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ１２０は一般に、インターネットなどのＷＡＮ　１５２を介して通信を確立するためのモデム１５４または他の手段を含む。モデム１５４は内蔵でも外付けでもよく、シリアルポートインタフェース１４６を介してシステムバス１２３に接続される。ネットワーク環境では、パーソナルコンピュータ１２０に関して示したプログラムモジュールまたはその一部を、リモートメモリ記憶装置１５０内に格納することができる。ここで示したネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【００３０】
さらに、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベース／プログラマブル家庭用電化製品、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成として本発明を実施できることを当業者は理解されよう。本発明はまた、通信ネットワークを介してリンクされるリモートプロセッサによってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置とリモートメモリ記憶装置のどちらにも位置することができる。
【００３１】
図２は、例示的フリーフォーム文書エディタと、それに関係する入力装置の主な機能構成要素を示すブロック図である。具体的には、図２は、フリーフォーム文書エディタの状況で、本発明の例示的実施形態を操作する際に使用する、典型的なハードウェア／ソフトウェアコンポーネントを示す。従来型入力装置は、キーボード２６０及びポインティングデバイス２６５（例えば、マウス、ペン、またはスタイラス、ならびにタブレット）によって表される。ユーザは、ポインタ装置及び／または他の入力装置を使用してコンピュータ１２０にコマンド及び情報を入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、及びスキャナを含めることができる。モニタ２７０などの従来型出力装置を使用して、コンピュータ１２０からの情報を表示することができる。他の出力装置（図示せず）には、プリンタまたはスピーカを含めることができる。
【００３２】
図２に示す他のハードウェア構成要素には、電子タブレット２５０と、それに付随するスタイラス２５５が含まれる。タブレット２５０及びスタイラス２５５は、電子インクと呼ばれる、データに変換することができる手書きストロークを入力するのに使用される。電子インクは、電子文書２２０に組み込むことができ、かつ電子タブレット２５０、モニタ２７０、またはその両方に表示することができる。電子タブレット２５０及びモニタ２７０を別個に示すが、本発明の例示的実施形態では、それらを単一の構成要素として一体化することができる。ジョイントタブレット／モニタ構成要素は情報を表示することができ、スタイラス２５５から入力を受け取ることができる。
【００３３】
代表的アーキテクチャ２００では、ハードウェア構成要素のすべてが、インク処理ソフトウェアモジュール２２５に結合される。インク処理モジュール２２５は、電子タブレット２５０からデータを受け取り、そのデータを電子インクとしてレンダリングするように動作可能である。本発明の一実施形態では、インク処理モジュール２２５は、手書きストロークを電子インクとしてレンダリングするための様々なタスクを実行するソフトウェアモジュールの集合でよい。例えば、スタイラス／インクモジュール２２８は、一連の手書きストロークについてのスタイラスの位置及び角度を記述するデータを受け取ることができる。スタイラス／インクモジュール２２８は、そのデータを解釈して電子インクをレンダリングすることができる。ジェスチャ認識器２３０やテキスト認識モジュール２３５などの他のソフトウェアモジュールを、ある手書きストロークを識別し、それに特定の意味を割り当てるように設計することができる。例えば、クロスアウトなどのあるジェスチャを認識して、他の編集プロセスと関連付けることができる。インク処理モジュール２２５はまた、以前にテキストとしてレンダリングした電子インクを除去する消去機能モジュール２４０も含むことができる。
【００３４】
インク処理モジュールは当技術分野で周知であり、電子タブレットが機能するのに必要であるが、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ　Ｃｏｒｐｏｒａｔｉｏｎにより、手書き処理技術の利点を利用する新規な文書編集モジュールが開発された。この例示的な文書編集モジュール（すなわち文書エディタ）は、電子手書き技術の機能を活用して、より効果的かつ効率的にノートを取ることを可能にするフリーフォーム文書エディタである。具体的には、文書編集モジュール２０５により電子インクの操作が容易になり、その結果ユーザは、ずっと容易かつ高度に電子文書２２０を作成及び修正することができる。例示的実施形態では、文書編集モジュール２０５は、モニタ２７０にレンダリングされた電子インクを制御及び編集するソフトウェアモジュールの集合を含む。例えば、解析モジュール２１０を使用して、ユーザが編集のために選択した手書きストロークを識別することができる。どのストロークを編集すべきかをユーザが識別する際の助けとなるように、選択したストロークを強調表示またはシェーディングすることができる。分類器モジュール２１５は、ある手書きストロークを単語または描画の一部として識別することができ、それに応じて文書オブジェクトを指定することができる。レイアウトモジュール２１６やスペース挿入モジュール２１７などのソフトウェアモジュールは、電子インクをどのようにレンダリングし、移動するかを制御するように設計することができる。ライティングガイドモジュール２２７は、本発明の例示的実施形態に従ってタブレット２５０上にライティングガイドを提供することができる。
【００３５】
本発明の例示的実施形態は、タブレット２５０上にライティングガイドを提供することに最も直接的に関係する。様々な実施形態の機能は、ライティングガイドモジュール２２７によって実施することができ、または文書編集モジュール２０５のオペレーションに完全に統合することができる。図１及び２は、本発明の例示的実施形態が使用されることを本発明者等が企図する環境の全体的な概観を示す。
【００３６】
例示的実施形態
図３は、本発明の例示的実施形態に従ってライティングガイドを表示する方法３００を示すフローチャートである。ステップ３０５では、ユーザがタブレット２５０上にライティングストロークを作成することによって電子インクを与えたかどうかを、ライティングガイドモジュール２２７が判定する。電子インクが与えられなかった場合、ライティングガイドモジュール２２７は、電子インクを検出するまでステップ３０５を繰り返す。ライティングガイドモジュール２２７がステップ３０５でインクを検出した場合、この方法はステップ３１０に分岐する。
【００３７】
ステップ３１０では、ライティングガイドモジュール２２７は、検出したインクを描画または筆跡のどちらかとして分類する。その分類に基づいて、ライティングガイドモジュール２２７はステップ３１５で、検出したインクが筆跡を含むかどうかを判定する。検出したインクが筆跡を含む場合、この方法はステップ３２０に分岐する。ステップ３２０では、ライティングガイドモジュール２２７は、タブレット２５０上に手書きライティングガイド（以下「手書きガイド」と呼ぶ）を表示する。ステップ３２５では、ライティングガイドモジュール２２７は、手書きガイド内に与えられた追加のインクを連続的に検出する。追加のインクを検出したとき、この方法はステップ３３０に進み、ステップ３３０でライティングガイドモジュール２２７は、手書きガイドの寸法を連続的に再計算し、検出したインクのサイズに合わせる。次いでこの方法はステップ３２５に戻り、手書きガイド内の追加のインクを引き続き検出する。ライティングガイドモジュール２２７が手書きガイド内で追加のインクを検出しなかったとき、この方法はステップ３５０に分岐する。ステップ３５０では、ライティングガイドモジュール２２７は手書きガイドを非活動化し、手書きガイドをタブレット２５０から除去する。本発明の代替実施形態では、ユーザは以下の例示的方法のいずれかによって手書きガイドを非活動化することができる。その例示的方法とは、（１）任意のタイプの別のライティングガイドの活動化、（２）１秒またはその他の所定の時間よりも長い間描画ガイドから離れること、及び（３）ツールバーまたはその他のメニューを介してモードを切り換えることである。したがって、ユーザによるこれらのアクションのいずれも、手書きガイドを非活動化して手書きガイドをタブレット２５０から除去することにより、ライティングガイドモジュール２２７にステップ３５０を実行させることができる。
【００３８】
ステップ３１５に戻ると、検出したインクが描画を含むとライティングガイドモジュール２２７が判定した場合、この方法はステップ３３５に分岐する。ステップ３３５では、ライティングガイドモジュール２２７は、タブレット２５０上に描画ライティングガイド（以下「描画ガイド」と呼ぶ）を表示する。ステップ３４０では、ライティングガイドモジュール２２７は描画ガイドを監視し、描画ガイド内のインク入力を連続的に検出する。したがって、ライティングガイドモジュール２２７がライティングガイド内にインクを検出したとき、この方法は、ステップ３４５で描画ガイドの寸法を連続的に再計算し、検出したインクのサイズに合わせる。次いでこの方法はステップ３４０に戻り、描画ガイド内のインクを引き続き検出する。ライティングガイドモジュール２２７が描画ガイド内で追加のインクを検出しなかったとき、この方法はステップ３５０に分岐する。ステップ３５０では、ライティングガイドモジュール２２７は描画ガイドを非活動化し、描画ガイドをタブレット２５０から除去する。本発明の代替実施形態では、ユーザは、以下の例示的方法のいずれかによって手書きガイドを非活動化することができる。その例示的方法とは、（１）任意のタイプの別のライティングガイドの活動化、（２）１秒またはその他の所定の時間よりも長い間描画ガイドから離れること、及び（３）ツールバーまたはその他のメニューを介してモードを切り換えることである。したがって、ユーザによるこれらのアクションのいずれも、手書きガイドを非活動化して手書きガイドをタブレット２５０から除去することにより、ライティングガイドモジュール２２７にステップ３５０を実行させることができる。
【００３９】
例示的実施形態では、ユーザがスタイラス２５５を用いてタブレット２５０上に書込みを開始したときに、ライティングガイドを自動的に提示することができる。代替の例示的実施形態では、初めにメニューからライティングガイドオプションを選択することによってライティングガイドを提示することもできる。この選択は、マウス、キーボード、またはスタイラスを用いて行うことができる。別の例示的実施形態では、ライティングガイドモジュール２２７は、新しいライティングガイドを挿入ための方法として、タブレット２５０の空き部分上でのジェスチャタップを認識することができる。例えばユーザは、タブレット２５５の空き部分上でスタイラス２５５をタップすることができる。次いで、ライティングガイドモジュール２２７は、ジェスチャタップを認識することができ、その位置にライティングガイドを挿入することができる。
【００４０】
図４に、本発明の例示的実施形態に従ってタブレット２５０上に表示された手書きガイド４００を示す。手書きガイド４００は、ライティングエリア４０２を有する。図示するように、ユーザは、スタイラス２５５を用いてライティングエリア４０２内に筆跡４０３を作成することができる。手書きガイド４００は、使用可能な機能を拡張するためのその他の要素を含む。例えば、手書きガイド４００は、アウトラインオブジェクトの境界を画定するためのアウトラインオブジェクトハンドル４０４、４０６を有する。手書きガイド４００はまた、アウトラインオブジェクト内の個々のオブジェクト要素を識別するための要素ノードハンドル４０８も含む。例えば、個々のオブジェクト要素は、アウトラインオブジェクト内の個々のパラグラフを含むことができる。要素ノードハンドル４０８により、アウトラインオブジェクト内の個々のオブジェクト要素を移動または選択することが可能となる。手書きガイド４００はまた、個々のオブジェクト要素のマージを可能にするマージハンドル４１０も含む。個々のオブジェクト要素をマージするために、ユーザはスタイラス２５５またはマウスを用いてマージハンドル４１０をクリックダウンし、次いで他のオブジェクト要素の上にライティングガイド４００をドラッグすることができる。
【００４１】
アウトラインオブジェクトハンドル４０６は、以下の例示的実施形態に従って動作することができる。３行の筆跡／テキストを有するアウトラインをユーザが作成した場合、第３行の下に、右下アウトラインオブジェクトハンドル４０６が設けられる。ハンドルは第３行の下にあるが、ユーザが新しいパラグラフを作成することができる場合、その最後の行の下のさらに２つの行が使用可能である。例示的実施形態では、使用可能なこの２つの追加の行は、ユーザがそこに書込みをするまで現実のものではない。この２つの追加の行は、例示的ライティングガイド部分２００４ａ（図２０）を通じてアクセスすることができる。ユーザが２つの新しいパラグラフライティングガイド部分２００４ａのどちらかの上でスタイラス２５５を停止させる場合、アウトラインオブジェクトハンドル４０６がその行の下に移動し、そのライティングガイド部分への書込みにより新しいパラグラフが既存のアウトラインオブジェクトに追加されることを示す。例示的実施形態では、ユーザがその行に筆跡を入力せずにスタイラス２５５を移動する場合であっても、オブジェクトハンドル４０６は、その拡張された位置にとどまる。
【００４２】
ライティングガイドモジュール２２７は、デフォルトでアウトラインオブジェクト内の単一行パラグラフとすることができる。したがって、筆跡の新しい各行を別々のパラグラフとしてフォーマットすることができる。複数の行にわたる長い文の場合、ライティングガイド４００は、必要な追加のスペースを収容するように自動的に延びることができる。例えば、ライティングエリア４０６の右端の近くにユーザが筆跡を書き込むとき、ライティングエリア４０６は、次の行まで延びるように伸長することができる。次いで、次の行に書き込まれたものは何でも、前の行と同じパラグラフの一部となる。例示的実施形態では、ライティングエリア４０６の右端の近くに境界を確定することができる。筆跡を境界エリアに書き込むことにより、ライティングエリアを次の行まで拡張することができる。例えば、境界エリアは、３つ分のライティングガイド高さに等しくすることができる。
【００４３】
代替実施形態では、ユーザが右側の境界の端を超えて書込みを続ける場合、ライティングガイドの右側の境界を拡張することができる。この場合、ライティングガイドは広くなる。次行に、拡張ライティングエリアを提供することもできる。加えて、次行の拡張ライティングエリアは、元の長さを維持することができ、またはユーザによって拡張された行と同様に拡張することができる。
【００４４】
加えて、複数のパラグラフを手動で単一パラグラフにマージすることができる。例えば、ユーザが境界エリアに筆跡を書き込まずに次行を開始した場合、次行は別々のパラグラフを含む。ユーザが行を同じパラグラフの一部とすることを意図する場合であっても、別々のパラグラフが存在する。この例示的実施形態では、ユーザは２つの別々のパラグラフを１つのパラグラフにマージすることができる。各行（各オブジェクト要素）は、別々のオブジェクト要素を示すようにマージハンドル４１０を有することができる。したがってユーザは、１つのマージハンドル４１０を他のパラグラフの上にドラッグすることによってパラグラフまたは行をマージすることができる。
【００４５】
ユーザはまた、隣接するパラグラフを選択し、ドロップダウンメニューからマージパラグラフオプションを選択することによってパラグラフをマージすることもできる。ユーザは、マウス、キーボード、またはスタイラスを使用してこの選択を行うことができる。代替実施形態では、ライティングガイドモジュール２２７は、手書きガイドの左側にとどまるクリッカブルユーザインタフェースアイコンを提示することができる。ユーザはアイコンをクリックして、２つの行を１つのパラグラフにマージすることができ、またはパラグラフを複数のパラグラフに分割することができる。
【００４６】
例示的実施形態では、ユーザがページの左側境界の十分近くで新しいアウトラインオブジェクトを開始し、それによってアウトラインハンドル４０４、ノードハンドル４０８、または以下で論じるその他の様々なライティングガイドを閲覧画面上に表示することができない場合、閲覧画面の左側に向けてアウトラインオブジェクトを拡張することができる。水平ページスクロールバーが画面外エリアを示すことができる。
【００４７】
図５は、本発明の例示的実施形態に従って、検出したインクを描画または筆跡として分類する、図３のステップ３１０で参照した方法を示すフローチャートである。ステップ５０５では、アスペクト比のしきい値を確定することができる。例示的実施形態では、ユーザがアスペクト比のしきい値を設定する。あるいは、デフォルトアスペクト比設定を使用することもできる。アスペクト比は、検出したすべてのインクの長さと高さの比を示し、検出したインクが描画を含むか、それとも筆跡を含むかに関する目安を与えることができる。例えば、筆跡は通常、ユーザが行に沿って書くときに、高いアスペクト比を有するインクを含む。高いアスペクト比は、高さと比べたときに長さの方が長いことに対応する。一方、描画は通常、インクがより一様に分布するので低いアスペクト比を有する。このような一様の分布により、通常は長さと高さが相対的に同様のサイズとなる。
【００４８】
ステップ５１０では、検出したインクを筆跡または描画として分類するために、最小ストローク数を確定することができる。最小のストローク数を設定することにより、十分なインクを検出して正確な分類を得ることが保証される。例示的実施形態では、筆跡に対する最小のストローク数は３とすることができ、描画に対しては５とすることができる。その他の最小のストローク数も本発明の範囲内にある。代替の例示的実施形態では、検出したインクを筆跡または描画として分類するために、最小のインク量を確定することができる。
【００４９】
ステップ５１５では、ライティングガイドモジュール２２７は、インクを筆跡として分類するための最小ストローク数をユーザが入力しているかどうかを判定することができる。ユーザが入力していない場合、この方法はステップ５２０に分岐し、さらに多くのインクストロークを検出する。筆跡に対する最小のストローク数をユーザが入力している場合、この方法はステップ５２５及び５３０に分岐する。ステップ５２５及び５３０では、ライティングガイドモジュール２２７は、検出したインクの長さ及び高さをそれぞれ求める。代替実施形態では、ステップ５１５で、インクを筆跡として分類するための最小のインク量をユーザが入力しているかどうかを判定することができる。
【００５０】
ステップ５３５では、ライティングガイドモジュール２２７は、ステップ５２５及び５３０でそれぞれ求めた長さ及び高さに基づいて、検出したインクについてのアスペクト比を計算する。ステップ５４０では、ライティングガイドモジュール２２７は、計算したアスペクト比がステップ５０５で設定したアスペクト比のしきい値よりも大きいかどうかを判定する。そうである場合、ステップ５４５で、ライティングガイドモジュール２２７は、検出したインクが筆跡であると判定する。次いでこの方法はステップ３１５（図３）に進む。
【００５１】
ステップ５４０に戻ると、計算したアスペクト比がしきい値よりも小さいとライティングガイドモジュール２２７が判定した場合、この方法はステップ５５０に分岐する。代替実施形態では、ステップ５４０で、ライティングガイドがデフォルトの行の高さの２倍よりも大きくなったかどうかを判定することができる。そうである場合、この方法は、インクを描画として分類するためにステップ５５０に分岐することができる。
【００５２】
ステップ５５０では、ライティングガイドモジュール２２７は、インクを描画として分類するためにユーザが最小のストローク数を入力しているかどうかを判定する。そうでない場合、この方法はステップ５２０に戻り、さらに多くのインクストロークを検出し、検出したインクのアスペクト比を再計算する。ユーザが最小のストローク数を入力している場合、この方法はステップ５５５に分岐し、ステップ５５５でライティングガイドモジュール２２７は、検出したインクが描画であるかどうかを判定する。次いでこの方法はステップ３１５（図３）に進む。
【００５３】
図６は、本発明の例示的実施形態に従って手書きガイドを表示する、図３のステップ３２０で参照した方法を示すフローチャートである。例示的な手書きガイドの様々な寸法を示す図７Ａ及び７Ｂを参照しながら、図６の方法を説明する。図７Ａは、本発明の例示的実施形態による手書きガイド７００ａの寸法を示す。図７Ｂは、本発明の別の例示的実施形態による手書きガイド７００ｂの寸法を示す。これらの例示的実施形態では、手書きガイドの寸法は、検出したインクの境界を画定する境界矩形に基づく。
【００５４】
図６のステップ６０５では、ライティングガイドモジュール２２７は、ライティングガイド７００ａ、７００ｂの左端７０２を確定する。左端７０２は、検出したインク７０１の左端に対応する。ステップ６１０では、ライティングガイドモジュール２２７は、ライティングガイド７００ａ、７００ｂの上端７０４を確定する。上端７０４は、検出したインク７０１の上端に対応する。ステップ６１５では、ライティングガイドモジュール２２７は、ライティングガイド７００ａ、７００ｂのベースライン７０６を確定する。以下で図８〜１１を参照しながら、ベースライン７０６を確定するための例示的実施形態を論じる。ステップ６２０では、ライティングガイドモジュール２２７は、ライティングガイド７００ａ、７００ｂの右端７０８を確定する。右端７０８は、検出したインク７０１の右端に対応する。代替実施形態では、右端７０８は、ユーザが修正することのできるデフォルトアウトライン幅に基づいて確定することができる。右端７０８がタブレット２５０の閲覧画面を超えて延びることを防止し、または右端７０８がページ上の別のオブジェクトに重なることを防止するように右端７０８を調整することができる。
【００５５】
ライティングガイド７００ａ、７００ｂの最終的な寸法に関していくつかの代替方法が存在する。例えば、ステップ６０５〜６２０で確定し、図７Ａに示した寸法７０２〜７０８を、ライティングガイド７００ａに対して使用することができる。あるいは、これらの寸法を図７Ｂに示すように調整し、ライティングガイド７００ｂに対してより広いライティングエリアを提供することもできる。したがって、ステップ６２５では、ライティングガイドモジュール２２７は、ライティングガイドに対してステップ６０５〜６２０で確定した寸法を使用するかどうかを判定する。使用する場合、この方法はステップ６３０に分岐する。ステップ６３０では、ライティングガイドモジュール２２７は、ライティングガイド７００ａの寸法を確定した寸法に設定する。次いでこの方法はステップ６４０に進む。
【００５６】
ステップ６２５に戻ると、調整した寸法を手書きガイドに対して使用する場合、この方法はステップ６３５に分岐する。ステップ６３５では、ライティングガイドモジュール２２７はライティングガイドの寸法を調整する。例えば図７Ｂに示すように、ライティングガイドモジュール２２７は上端７０４を所定の間隔ｘだけ調整して、新しい所定の上端７１０を得ることができる。加えて、ライティングガイドモジュール２２７は、ベースライン７０６を所定の間隔ｙだけ調整して、新しいベースライン７１２を得ることができる。
【００５７】
ライティングガイド７００ｂについてのライティングエリアを拡張するように所定の間隔ｘ及びｙを選ぶことができる。したがって、所定の間隔ｘ及びｙにより、書込み中に区切りや快適さを得ることが可能となる。所定の間隔ｘ及びｙの量は、境界矩形の寸法に関係する数学的アルゴリズムの関数でよい。しかし、その他の間隔の取り方が本発明の範囲外であるわけではない。例えば、計算の結果とするのではなく、任意に選ぶこともできる。例示的実施形態では、所定の間隔ｘを、ｘ＝境界矩形の高さｈの１０パーセント（図７Ａ）とすることができ、所定の間隔ｙを、ｙ＝境界矩形の高さｈの２０パーセントとすることができる。
【００５８】
次いでこの方法はステップ６４０に進む。ステップ６４０では、ライティングガイドモジュール２２７は、検出したインクアスペクト比が所定のしきい値よりも大きいかどうかを判定する。アスペクト比は、長さＬと、検出したインク７０１の高さｈ（図７Ａ）または高さＨ（図７Ｂ）の比を与える。検出したインクアスペクト比が所定のしきい値よりも大きくない場合、この方法はステップ６５０に分岐する。アスペクト比が所定のしきい値よりも大きい場合、この方法はステップ６４５に分岐する。例示的実施形態では、所定のアスペクト比のしきい値は３：１とすることができる。その他のアスペクト比のしきい値も本発明の範囲内にある。
【００５９】
ステップ６４５では、ライティングガイドモジュール２２７は、デフォルトの寸法に基づいてライティングガイドの右端７０８を調整する。例えば、デフォルトの寸法は、タブレット２５０の閲覧エリアの右側ページマージンまたは右端を含むことができる。したがって、ユーザが十分な量のインクを入力して、ライティングガイドに対して正確な寸法を提供した後、ライティングガイドを閲覧エリア全体にわたって拡張することができる。次いでこの方法はステップ６５０に進む。
【００６０】
例示的実施形態では、ライティングガイドの右端７０８が、オブジェクトに重なったり、タブレット２５０の閲覧画面からはみ出ることなく右側まで延びることができる。ページ幅が閲覧画面よりも広い場合、ライティングガイドは、閲覧画面の端まで延びることができる。
【００６１】
ステップ６５０では、ライティングガイドモジュール２２７は、フォントポイントサイズに対応するようにライティングガイドの寸法を調整する。例えば、ライティングガイドの寸法を最も近い１／２ポイントサイズに調整することができる。したがって、寸法ｈ（図７Ａ）または寸法Ｈ（図７Ｂ）を、最も近いフォントのポイントサイズに対応するように調整することができる。この点で、最も近いポイントサイズに対応するように寸法を大きくし、または小さくして調整することができる。次いでこの方法はステップ６５５に進み、ステップ６５５でライティングガイドモジュール２２７は、ライティングガイドを表示する。次いでこの方法はステップ３２５（図３）に進む。
【００６２】
代替の例示的実施形態では、ライティングガイドの寸法を、タブレット２５０の罫線に対応させることができる。例えば、計算したライティングガイドの下端が直近の罫線の指定の許容範囲内にある場合、ライティングガイド全体の境界が罫線内に囲まれるようにライティングガイドをサイズ変更することができる。例示的実施形態では、指定の許容範囲は３０パーセントとすることができる。
【００６３】
次に図８及び９を参照しながら、本発明の例示的実施形態に従ってライティングガイドのベースラインを確定する方法を説明する。図８は、本発明の例示的実施形態に従ってライティングガイドのベースラインを確定する、図６のステップ６１５で参照した方法を示すフローチャート６１５ａである。図９に、インク９００の行のそれぞれのセグメント９０２中のインク量を示す典型的なインクヒストグラム９０４を示す。
【００６４】
図８のステップ８０５では、ライティングガイドモジュール２２７は、インク９００の行に対して水平セグメント９０２を確定する。インク９００の行に対して任意の数の水平セグメントを使用することができる。本発明の例示的実施形態では、ライティングガイドモジュール２２７は、インク９００の行に対して３２個の水平セグメント９０２を確定する。水平セグメント９０２のその他の量も本発明の範囲内にある。
【００６５】
ステップ８０８では、ライティングエリアから水平セグメント９０２を除去するインクしきい値を確定することができる。セグメント除去しきい値は、その値未満のときにセグメント９０２がライティングエリアから除去されるインク量を表す。例えば、インク９００の行の下部セグメント９０２は通常、含むインク量が少ない。したがって、ライティングガイドのベースラインを判定するために、これらのセグメントをライティングエリアから除去することができる。
【００６６】
例示的実施形態では、セグメントを除去するしきい値を３パーセントに設定することができる。したがって、セグメントの含むインク量が行のインクの３パーセント未満である場合、そのセグメントがライティングガイドの範囲から除去される。しきい値に関するその他の値も本発明の範囲内にある。
【００６７】
ステップ８１０では、ライティングガイドモジュール２２７は、インク９００の行内のインクを検出したかどうかを判定する。そうでない場合、この方法は、インクを検出するまでステップ８１０を繰り返す。ライティングガイドモジュール２２７がインク９００の行内のインクを検出したとき、この方法はステップ８１５に分岐する。ステップ８１５では、ライティングガイドモジュール２２７は、各水平セグメント９０２内のインク量を測定する。ステップ８２０では、ライティングガイドモジュール２２７は、各セグメント９０２で検出したインクのヒストグラム９０４を作成する。
【００６８】
ステップ８２５では、ライティングガイドモジュール２２７は、インク９００の行からセグメント９０２を選択する。ステップ８３０では、ライティングガイドモジュール２２７は、選択したセグメント内のインク量が所定のセグメント除去しきい値未満であるかどうかを判定する。選択したセグメント内のインク量が所定のセグメント除去しきい値未満でない場合、この方法はステップ８５０に分岐し、別のセグメントを選択する。選択したセグメントのインク量が所定のしきい値未満である場合、この方法はステップ８３５に分岐する。
【００６９】
ステップ８３５では、ライティングガイドモジュール２２７は、選択したセグメントがインク９００の行の最初または最後のセグメントであるかどうかを判定する。インク９００の行の最初及び最後のセグメントは、それぞれインク９００の行の上部セグメント及び下部セグメントに対応する。選択したセグメントがインク９００の行の最初または最後のセグメントである場合、この方法はステップ８４０に分岐し、ステップ８４０でライティングガイドモジュール２２７は、選択したセグメントをインク９００の行から除去する。次いでこの方法はステップ８５０に進み、別のセグメントを選択する。
【００７０】
ステップ８３５に戻ると、選択したセグメントが最初または最後のセグメントでない場合、この方法はステップ８４５に分岐する。ステップ８４５では、ライティングガイドモジュール２２７は、選択したセグメントが、インク９００の行から以前に除去したセグメントに隣接するかどうかを判定する。隣接しない場合、この方法はステップ８５０に進み、別のセグメントを選択する。隣接する場合、この方法はステップ８４０に分岐する。ステップ８４０では、ライティングガイドモジュール２２７は、選択したセグメントをインク９００の行から除去する。次いでこの方法はステップ８５０に進み、別のセグメントを選択する。したがって、インク９００の行の上部または下部のセグメントだけが除去される。インクをほとんど有さないセグメント、及びインク９００の行の中央付近のセグメントは除去されない。
【００７１】
ステップ８５０では、ライティングガイドモジュール２２７は、インク９００の行の別のセグメント９０２を解析すべきかどうかを判定する。解析すべきである場合、この方法はステップ８２５に戻り、別のセグメント９０２を選択する。解析すべきでない場合、この方法はステップ８５５に分岐する。ステップ８５５では、ライティングガイドモジュール２２７は、インク９００の行中の残りの最低のセグメント９０２に基づいて、ライティングガイドのベースライン７０６（図７Ａ及び７Ｂ）を設定する。次いでこの方法はステップ６２０（図６）に進む。
【００７２】
加えて、ライティングガイドの上端７０４を設定するのに図６の例示的方法を使用することができる。その例示的実施形態では、ライティングガイドモジュール２２７は、インク９００の行中の残りの最高のセグメント９０２に基づいて、ライティングガイドの上端７０４を設定する。
【００７３】
例示的実施形態では、ステップ８２５の最初の完了は、ライティングガイドモジュール２２７がインク９００行中の最低のセグメント９０２を選択することを含む。ステップ８２５の各反復での完了は、セグメント除去しきい値より多いインク量を有するセグメントに達するまで、インク９００の行中の次の最高のセグメント９０２を選択することを含む。次いでそのセグメントは、ライティングガイドのベースライン７０６（図７Ａ及び７Ｂ）を確定する。次いでこの方法は、無関係のセグメントを検査することなく終了する。
【００７４】
次に図１０及び１１を参照しながら、本発明の代替の例示的実施形態に従ってライティングガイドのベースラインを確定する別の方法を説明する。図１０は、本発明の代替の例示的実施形態に従ってライティングガイドのベースラインを確定する、図６のステップ６１５で参照した方法を示すフローチャートである。図８と１０で説明したステップ６１５の代替実施形態を区別するため、図１０の実施形態をステップ６１５ｂとして説明する。図１１に、本発明の代替の例示的実施形態に従って、図１０の方法で確定したライティングガイド１１００の寸法を示す。
【００７５】
図１０のステップ１００５では、ライティングガイドモジュール２２７は、タブレット２５０上でインクストロークが与えられたかどうかを判定する。与えられていない場合、この方法は、インクを検出するまでステップ１００５を繰り返す。与えられた場合、この方法はステップ１０１０に分岐する。ステップ１０１０では、ライティングガイドモジュール２２７は、タブレット２５０上に書かれた単語間の区切りを検出することを試みる。ステップ１０１０でライティングガイドモジュール２２７が単語の区切りを検出することができない場合、ステップ１０１０を繰り返す。ライティングガイドモジュール２２７が単語の区切りを検出した場合、この方法はステップ１０１５に分岐する。
【００７６】
ステップ１０１５では、単語を区切る前に検出されたインクをテキスト認識モジュール２３５に送る。ステップ１０２０では、テキスト認識モジュールは、インクについてのベースライン１１０２及び中心点１１０４を計算する。次いで、ステップ１０２５では、ライティングガイドモジュール２２７は、計算したベースライン１１０２のところに、ライティングガイドのベースライン７０６（図７Ａ及び７Ｂ）を確定する。
【００７７】
ステップ１０３０では、ライティングガイドモジュール２２７は、ライティングガイドの上端７０４（図７Ａ及び７Ｂ）を計算すべきかどうかを判定する。計算すべきである場合、この方法はステップ１０３５に分岐し、ステップ１０３５で、ライティングガイドモジュール２２７は、中心点１１０４の２倍として上端１１０６を計算する。したがって、ライティングガイドモジュール２２７は、計算した上端１１０６のところに、ライティングガイドの上端７０４を確定する。次いでこの方法は、ステップ６２０（図６）に分岐する。
【００７８】
ステップ１０３０に戻ると、ライティングガイドモジュール２２７が上端７０４を計算しない場合、この方法はステップ６２０（図６）に直接分岐する。
【００７９】
図１２は、本発明の例示的実施形態に従って手書きガイドの寸法を再計算する、図３のステップ３３０で参照した方法を示すフローチャートである。ステップ１２０５では、ライティングガイドをサイズ変更するためのサイズ変更インクしきい値を確定することができる。例示的実施形態では、ライティングガイドをサイズ変更するためにユーザがそのしきい値を確定することができる。あるいは、ライティングガイドをサイズ変更するためにデフォルトのしきい値を確定することもできる。サイズ変更インクしきい値は、ライティングガイド外部のインク量を確定することができ、そのインク量を超えると、ライティングガイドがその外部のインクを含めるように伸長する。１つの例示的実施形態では、サイズ変更インクしきい値を２０パーセントにすることができる。したがって、２０パーセント以上の行のインクが現ライティングガイドの外部にある場合、外部のインクがしきい値未満に減少するまで、ライティングガイドが上方または下方、あるいはその両方に延びる。その他のサイズ変更インクしきい値も本発明の範囲内にある。
【００８０】
ステップ１２１０では、ライティングガイドモジュール２２７は、タブレット２５０のライティングエリア上に水平セグメントを確定する。ライティングエリアは、ライティングガイド４００（図４）の内部及び外部のエリアを包含する。この水平セグメントは、図９に示した水平セグメント９０２と同様に確定することができる。例示的実施形態では、ライティングエリアに対して３２個のセグメントを確定することができる。その他のセグメント量も本発明の範囲内にある。
【００８１】
ステップ１２１５では、ライティングガイドモジュール２２７は、タブレット２５０上にインクストロークが与えられるときに各セグメント内のインク量を連続的に測定する。ステップ１２２０では、ライティングガイドモジュール２２７はインクヒストグラムを作成し、各セグメント内のインク量を追跡する。ヒストグラムは、図９に示すヒストグラム９０４と同様でよい。ステップ１２２５では、ライティングガイドモジュール２２７は、ライティングガイド外部の全セグメント内のインク量がサイズ変更インクしきい値よりも多いかどうかを判定する。ライティングガイド外部の全セグメント内のインク量がサイズ変更インクしきい値よりも多くない場合、この方法はステップ１２１５に戻り、引き続き、タブレット２５０上でさらに多くのインクストロークが与えられるときに各セグメント内のインク量を測定する。
【００８２】
ライティングガイド外部の全セグメント内のインク量がサイズ変更インクしきい値よりも多いとライティングガイドモジュール２２７がステップ１２２５で判定する場合、この方法はステップ１２３０に分岐する。ステップ１２３０では、ライティングガイドモジュール２２７は、ライティングガイド外部の全セグメント内のインク量がサイズ変更しきい値未満となるまで、上端７０４（図７Ａ及び７Ｂ）及び／またはベースライン７０６（図７Ａ及び７Ｂ）を調節する。この点で、検出したすべてのインクの上端のところに、上端７０４を再確定することができる。加えて、図６のステップ６１５に関して上記で論じたのと同様に、ベースライン７０６を再確定することができる。次いでこの方法はステップ３２５（図３）に進む。
【００８３】
例示的実施形態では、ライティングガイドはユーザの典型的な書込み誤りに対処することができる。例えば、書込み誤りには、（１）一部の単語が、部分的または全体的に現在行の上または下の行にそれる不精な書込み（ｌａｚｙ　ｗｒｉｔｉｎｇ）、（２）ユーザが意図的に非常に大きく書き込み、その結果インクの一部がライティングガイド上にあるが、大部分はライティングガイド上にはないような膨らんだ書込み（ｉｎｆｌａｔｅｄ　ｗｒｉｔｉｎｇ）、及び（３）アウトラインオブジェクトの固定端を超えてユーザが書込みを続行する反抗的な書込み（ｒｅｂｅｌｌｉｏｕｓ　ｗｒｉｔｉｎｇ）が含まれる可能性がある。
【００８４】
怠惰な書込みや膨らんだ書込みの場合、初期のライティングガイド寸法の外側のインクを包含するようにライティングガイドサイズを拡張することができる。この拡張は、図１２を参照しながら上記で説明したのと同様に実施することができる。反抗的な書込みの場合、ライティングガイドの右端を拡張し、ユーザがラインの端に追加の書込みを入力できるようにすることができる。ライティングガイドは、タブレット２５０上の閲覧エリアの端まで拡張することができる。加えて、ライティングガイドの端付近の書込みにより、使用可能な次の行上に拡張パラグラフライティングガイドをトリガすることができる（上記で論じた）。
【００８５】
図１３に、本発明の例示的実施形態によるインデントされたアウトライン構造に対する構造化アウトライン手書きガイド１３００を示す。ライティングガイド１３００は、インデントされたアウトライン構造をユーザに示すことができ、所望の構造を構築する元となるユーザインタフェースを提供することができる。
【００８６】
図示するように、ライティングガイド１３００はライティングエリア４０２を有する。ライティングガイド１３００は、ライティングエリア４０２内に、第１レベル領域１３０３と第２レベル領域１３０５を分割する、次のインデントレベル標識１３０４を有する。標識１３０４は、アウトライン構造内の次のインデントレベルを示す。ユーザがライティングエリア４０２で標識１３０４の左側の第１レベル領域１３０３内に書き込んだ場合、筆跡は、アウトライン構造の第１レベル上の筆跡に対応する。ユーザがライティングエリア４０２で標識１３０４の右側の第２レベル領域１３０５内に書き込んだ場合、筆跡は、アウトライン構造の第２レベル上の筆跡に対応する。例示的実施形態では、インクが第１レベル領域１３０３に進入したときにインデント標識１３０４は消滅することができる。
【００８７】
ライティングガイド１３００はまた、ブリット領域１３０６も有する。ユーザがブリット領域１３０６を活動化する前に、ブリット領域１３０６は薄く陰影を帯びたブリットまたは数字を提示することができる。薄く陰影を帯びたブリットまたは数字は、ユーザが利用できるブリットアウトライン構造を示すことができる。ユーザがスタイラス２５５またはポインティングデバイス２６５を用いてブリット領域１３０６を活動化した場合、薄く陰影を帯びたブリットまたは数字を実際の文字で置き換えることができる。ユーザは、スタイラス２５５でブリット領域１３０６をタップすることにより、ブリット領域１３０６を活動化することができる。加えて、活動化した後、ユーザはブリット領域１３０６を選択して、表示される数字を編集し、または別のブリットのタイプを選択することができる。
【００８８】
例示的実施形態では、ブリット領域１３０６は、１つまたは複数の数字を収容するように初期デフォルトサイズを有することができる。ブリット領域は、より大きなフォントサイズ、より大きなライティングガイド高さ、またはより多くの数字を収容するように大きくすることができる。例えば、ブリットの系列中の次の数字が２桁ではなく３桁を有する場合、それを収容するようにブリット領域が広がる。
【００８９】
あるいは、ユーザは、ブリット領域１３０６にインクを書き込んで、カスタムのブリットを作成することもできる。ブリット領域に入力されるどんなインクオブジェクトもカスタムのブリットを作成することができる。前のブリット領域と同一レベルのブリット領域は、カスタムのブリットと同一のインクシンボルセットを有する。したがって、ブリット領域の選択により、カスタムのインクブリットが挿入される。次いでブリットを後続の行で繰り返すことができる。
【００９０】
ライティングガイド１３００はまた、第２レベルブリット領域１３０８も有することができる。スタイラス２５５をブリット領域１３０８の上で停止することにより、ブリット領域１３０８内に、薄く陰影を帯びたブリットまたは数字を生成することができる。第２レベルブリット領域１３０８を選択することにより、ブリット領域１３０６について上記で説明したのと同様にブリットを活動化させることができる。
【００９１】
例示的実施形態では、ライティングガイド１３００は、複数のインデントレベルを有することができる。したがって、ライティングガイド１３００は、その複数のインデントレベルを分離するために複数のインデントレベル標識を有することができる。加えて、各インデントレベルは、それぞれのインデントレベルに関するブリットを提供するために、対応するブリット領域を有することができる。
【００９２】
別の例示的実施形態では、ライティングガイド１３００は、図４のライティングガイド４００に関して上記で論じた機能を有することができる。例えば、その機能には、ノードハンドル、アウトラインオブジェクトハンドル、及びオブジェクト要素ハンドルを含めることができる。
【００９３】
図１４Ａ〜１４Ｅに、本発明の例示的実施形態による構造化アウトライン手書きガイド１３００の動作を示す。図１４Ａから始めると、ユーザが、構造化アウトラインの第１レベル上で筆跡１４０２を提供している。加えて、ユーザは、構造化アウトラインの第２レベル上で筆跡１４０４を提供している。ユーザがタブレット２５０の上でスタイラス２５５を停止するとき、構造化アウトライン手書きガイド１３００が現れる。図１４Ａに示すように、ユーザは第１レベル領域１３０３の上でスタイラス２５５を停止する。したがって、ブリット領域１３０６及び標識１３０４を提示し、構造化アウトライン内でユーザをガイドする。
【００９４】
図１４Ｂでは、ユーザは、第２レベルブリット領域１３０８の上でスタイラス２５５を停止し、第２レベル領域１３０５に対して、薄く陰影を帯びたブリットまたは数字を生成する。したがって、第２レベルブリット領域１３０８内のインデント標識１３０４の左側にスタイラス２５５を停止することにより、第２レベルブリットライティングガイドが現れ、ライティングガイドのインデントレベルが次のレベルに移動する。
【００９５】
図１４Ｃでは、ユーザは、第２レベル領域１３０５の上でスタイラス２５５を停止する。その時、第３レベル領域１４０７の位置を示すために第３レベル標識１４０６が表示される。第３レベル領域１４０７に対して第３レベルブリット領域１４０８も提供される。
【００９６】
図１４Ｄでは、ユーザは第３レベルブリット領域１４０８の上でスタイラス２５５を停止し、第３レベル領域１４０７に対して、薄く陰影を帯びたブリットまたは数字を生成する。
【００９７】
図１４Ｅでは、ユーザは第３レベル領域１４０７の上でスタイラス２５５を停止して、ユーザは書込みを開始し、構造化アウトラインの第３レベルでテキストを与えることができる。
【００９８】
図１５に、本発明の例示的実施形態による、文字間にスペースのない言語向けの言語手書きガイド１５００を示す。言語手書きガイド１５００は、ライティングエリア４０２を有する。加えて、言語手書きガイド１５００は、ライティングエリア４０２内に文字ノッチ１５０６を有する。文字ノッチ１５０６は、ライティングエリア４０２内に、特定の言語の単一の文字を書き込むことができる文字ボックスを与える。したがって、ユーザが各文字をそれぞれの文字ボックスに書き込むとき、文字ノッチ１５０６は、言語を基本文字に分割する。したがって、手書きガイド１５００は、テキスト認識モジュール２３５に対して単語区切りを提供することができ、それによって、文字間にスペースのない言語に関してテキスト認識プロセスの精度が向上する。日本語はそのような言語の一例である。
【００９９】
例示的実施形態では、図３を参照しながら上記で論じたように、言語手書きガイド１５００を提示することができる。したがって、完全な言語手書きガイドを提示する前に、あるインク量をタブレット２５０に与えることができる。文字ノッチを有する言語手書きガイドを提示する前のインク入力は、「要単語区切り」とマークすることができる。このマーク付けにより、初期インク内の文字が分離していないことをテキスト認識モジュール２３５に通知することができる。
【０１００】
図１６に、本発明の例示的実施形態によるジェスチャ手書きガイド１６０２を示す。図示するように、ジェスチャ手書きガイド１６０２は、前述の手書きガイド４００と組み合わせることができる。ジェスチャ手書きガイド１６０２は、１つまたは複数のアイコン１６０４用の保持エリアを提供する。各アイコン１６０４は、ライティングガイド４００のライティングエリア４０２内に提供された筆跡に対する、アプリケーションに関するアクションを表す。例えば、アイコン１６０４に関連するアクションは、強調表示、ボールド、下線、及びＥメールを含むことができる。したがって、アイコン１６０４の選択により、そのアイコン１６０４に関連するアクションを実行することができる。例えば、強調表示アイコンの選択により、ライティングエリア４０２内のすべての筆跡を強調表示することができる。別の例として、Ｅメールアイコンにより、ライティングエリア４０２内の筆跡をＥメールに添付して、他者に送信することができる。
【０１０１】
次に図１６及び１７を参照しながら、ジェスチャ手書きガイドを活動化する例示的方法１７００を説明する。図１７は、本発明の例示的実施形態によるジェスチャ手書きガイドを活動化する方法１７００を示すフローチャートである。ステップ１７０５では、ライティングガイドモジュール２２７は、左マージンの左側に対する、エリア内のインクストロークを検出しようと試みる。例えば、図１６に示すように、ライティングガイドモジュール２２７は、ジェスチャ手書きガイド１６０２内のインクストロークを検出しようと試みることができる。この書込みは、アイコン１６０４に対応する手書きシンボルを含むことができる。ライティングガイドモジュール２２７が左マージンの左側に対するインクストロークを検出した場合、この方法はステップ１７１５に分岐する。ステップ１７１５では、ライティングガイドモジュール２２７は、手書きシンボルに対応するアイコンを表示する。次いでこの方法はステップ１７２０に進む。
【０１０２】
ライティングガイドモジュール２２７がステップ１７０５で左マージンの左側に対するインクストロークを検出しなかった場合、この方法はステップ１７１０に分岐する。ステップ１７１０では、ライティングガイドモジュール２２７は、ジェスチャ手書きガイド１６０２内に表示されたアイコン１６０４をユーザが選択したかどうかを判定する。そうでない場合、この方法はステップ１７０５に戻る。したがって、ライティングガイドモジュール２２７がマージンの左側への書込みまたはアイコン１６０４の選択を検出するまで、ステップ１７０５及び１７１０を反復する。
【０１０３】
ステップ１７１０で、ユーザがアイコンを選択したとライティングガイドモジュール２２７が判定した場合、この方法はステップ１７２０に分岐する。ステップ１７２０では、ライティングガイドモジュール２２７は、アイコンに添付されたアクションを判定する。次いでステップ１７２５で、ライティングガイドモジュール２２７は関連するアクションを実行する。
【０１０４】
代替の例示的実施形態では、ジェスチャ手書きガイド１６０２を省略することができる。その実施形態では、ユーザはタブレット２５０上のどこにでもシンボルを書き込むことができる。シンボルは、関連するアクションを伴う、対応するアイコンを有することができる。ライティングガイドモジュール２２７は、ユーザがジェスチャ手書きガイド１６０２内にシンボルを書き込まなかった場合であってもシンボルを認識することができ、アイコンを表示することができ、アクションを実行することができる。
【０１０５】
次に図１８及び１９を参照しながら、本発明の例示的実施形態による犠牲ライティングガイド１８００を活動化する方法１９００を説明する。図１８に、本発明の例示的実施形態による犠牲ライティングガイド１８００を示す。図１９は、本発明の例示的実施形態に従って犠牲ライティングガイド１８００を活動化する方法１９００を示すフローチャートである。
【０１０６】
図１８に示すように、犠牲ライティングガイド１８００は、犠牲シンボル１８０２及びライティングガイド４００を有する。図１８の例示的実施形態では、犠牲シンボル１８０２は、チェックボックスを有する。したがって、ユーザは、タブレット２５０上に犠牲シンボル１８０２を書き込むことができる。ライティングガイドモジュール２２７は犠牲シンボル１８０２を認識することができ、ユーザに対してライティングガイド１８００全体を提示することができる。
【０１０７】
図１９のステップ１９０５では、ライティングガイドモジュール２２７は、タブレット２５０上の犠牲シンボル１８０２を検出しようと試みる。ライティングガイドモジュール２２７が犠牲シンボル１８０２を検出するまで、ステップ１９０５を反復する。犠牲シンボル１８０２を検出した後、この方法はステップ１９１０に分岐する。ステップ１９１０では、ライティングガイドモジュール２２７は、犠牲シンボル１８０２をテキストに変換する。次いでステップ１９１５では、ライティングガイドモジュール２２７は、犠牲シンボル１８０２に対応する完全なライティングガイド１８００を表示する。
【０１０８】
図１８の例示的実施形態では、犠牲シンボル１８０２はチェックボックスを有する。したがって、ライティングガイドモジュール２２７がテキストボックスに対して手書きシンボルを検出したとき、ライティングガイドモジュール２２７は完全なライティングガイド１８００を表示することができる。
【０１０９】
図２０に、本発明の例示的実施形態に従って既存のオブジェクト要素に筆跡を追加するためのアクティブライティングガイド部分２００４、２００４ａを示す。ライティングガイド部分２００４、２００４ａは、タブレット２５０のアクティブエリアを表す。各部分２００４は、既存の非アクティブオブジェクト要素２００２の末端のアクティブエリアに対応する。例えば、図２０に示すように、非アクティブオブジェクト要素「ｗｉｎｄｅｘ」の後に、アクティブライティングガイド部分２００４が続く。ユーザが部分２００４にインクを書き込む場合、ライティングガイドモジュール２２７はそのインクを、対応するオブジェクト要素２００２に追加する。
【０１１０】
したがって、ライティングガイド部分２００４により、ユーザが前に戻って前の行に書き込むことが可能となる。ライティングガイド部分２００４に書き込まれたどんな単語も、対応するライティングガイド上にあり、同じ行にあるとみなすことができる。さらに、ライティングガイド部分２００４に書き込まれたインクを、手書き中に次行の前に入力することができる。
【０１１１】
加えて、ライティングガイド部分２００４ａは、新しいオブジェクト要素をアウトラインオブジェクトに追加するためのアクティブエリアを示す。したがって、ユーザは、部分２００４ａにインクストロークを入力し、アウトラインオブジェクトに筆跡の新しい行を追加することができる。したがって、新しいパラグラフは、ブランク行のライティングガイド部分２００４ａ上に書き込むことによって開始することができる。例示的実施形態では、ライティングガイド部分２００４ａを有する２つの自由行が、テキスト／筆跡を含む行の下に設けられる。ライティングガイド部分２００４ａは、スタイラス２５５をライティングガイド部分２００４ａの上で停止することによって可視にすることができる。ライティングガイド部分は、同じアウトラインオブジェクト内の前のライティングガイドから、初期高さを獲得することができる。あるいは、ライティングガイド部分は、前のライティングガイドが非常に大きくなった場合、アウトラインオブジェクト内の第１ライティングガイドの高さを獲得することができる。例えば、前のライティングガイドが初期高さの２倍になった場合、ライティングガイド部分は、最初のライティングガイドの高さを獲得することができる。加えて、最初のライティングガイドがデフォルト高さから、デフォルト高さの２倍以上などのように非常に大きくなった場合、ライティングガイド部分はそのサイズを獲得することができる。
【０１１２】
図２０はまた、タブレット２５０上に新しいアウトラインオブジェクト２００６を追加することも示す。新しいアウトラインオブジェクト２００６を追加するために、ユーザは、タブレット２５０のブランクスペース２００８の任意の場所で手書きを開始することができる。ブランクスペース２００８は、非アクティブオブジェクト要素２００２またはライティングガイド部分２００４、２００４ａによって占有されない任意のスペースでよい。例示的実施形態では、アウトラインオブジェクトを重ねることができる。ライティングガイド部分２００４または全ライティングガイド行２００４ａの外にユーザがインクを入力したとき、ライティングガイドモジュール２２７は、既存のアウトラインオブジェクトの上を浮遊することができる新しいアウトラインオブジェクト２００６を作成する。
【０１１３】
図２１は、本発明の例示的実施形態に従ってオフガイドライティングを分類する方法２１００を示すフローチャートである。この方法２１００により、構造化された筆跡または描画とは考えられないインクをライティングガイドモジュールが処理することが可能となる。
【０１１４】
ステップ２１０５では、ライティングガイドモジュール２２７は、タブレット２５０上に与えられたオフガイドインクストロークを収集する。オフガイドインクストロークは、アクティブ部分２００４、２００４ａ（図２０）内にない任意のインクストロークを含む。オフガイドインクストロークをステップ２１０５で収集したときに、ライティングガイドモジュール２２７は、インクデータから情報を抽出することができる。例えば、データは、各インクストロークについてのタイムスタンプ情報及び位置情報を含むことができる。次いでライティングガイドモジュール２２７は、ステップ２１１０で、抽出した情報に基づいてインクストロークをグループ化する。例えば、各ストロークが互いに所定の時間フレーム内に作成された場合、または互いに所定の距離内に作成された場合にストロークをグループ化することができる。上記の基準を満たす後続の各ストロークをグループに追加することができる。ユーザが基準を満たさないストロークを入力するとき、ライティングガイドモジュール２２７は新しいグループを開始する。
【０１１５】
例示的実施形態では、所定の時間フレーム及び距離は、それぞれ３／４秒及び１／２インチ（１．２７センチメートル）を有することができる。他の時間フレームまたは距離も本発明の範囲内にある。
【０１１６】
ステップ２１１５では、ライティングガイドモジュール２２７は、グループ化したストロークのサイズが所定のしきいサイズ未満であるかどうかを判定する。この判定に基づいて、ライティングガイドモジュール２２７は、オフガイドインクを編集（ステップ２１２０）または注釈（ステップ２１３５）として分類することができる。
【０１１７】
インク編集は通常、線を交差させて引いた「ｔ」、または点を打って書いた「ｉ」などの非常に短いストロークである。例えば、図２２Ａに、オブジェクト要素２２０２に追加されたインクストローク２２０４を示す。ストローク２２０４は、オブジェクト要素２２０２内に、線を交差させて引いた「ｔ」を含む。ストローク２２０４のサイズはしきいサイズ未満であるので、ライティングガイドモジュール２２７は、ストローク２２０４を編集として分類する。例示的実施形態では、しきいサイズは、ライティングガイドの高さｈ（図７Ａ）またはＨ（図７Ｂ）とすることができる。したがって、オフガイドインクストロークはサイズｈ×ｈ（またはＨ×Ｈ）を有するボックスに適合する場合、ストロークは編集を含む。
【０１１８】
したがって、インクサイズが所定のしきい値未満である場合、ライティングガイドモジュール２２７は、ステップ２１２０で、ストロークのグループを編集として分類する。ステップ２１２５では、ライティングガイドモジュール２２７は、グループ化したインクストロークを直近の単語オブジェクトに追加する。次いで、ステップ２１３０では、ライティングガイドモジュール２２７は、追加したインクを「認識しない」ものとしてマークする。
【０１１９】
ステップ２１１５に戻ると、グループ化したインクストロークが所定のしきいサイズを超過している場合、この方法はステップ２１３５に分岐する。ステップ２１３５では、ライティングガイドモジュール２２７は、グループ化したインクストロークを注釈として分類する。
【０１２０】
したがって、ライティングガイドモジュール２２７は、所定のしきい値よりも大きいサイズを有するオフガイドインクを注釈として分類することができる。インクグループを注釈と分類するのに十分なインクを受け取った後、ライティングガイドモジュール２２７は、描画ライティングガイドを提供することができる。したがって、ステップ２１４０では、ライティングガイドモジュール２２７は、グループ化したストロークに対して描画を作成する。描画ライティングガイドは、下にあるアウトラインオブジェクトの上を浮遊することができる。例えば、図２２Ｂに、本発明の例示的実施形態による注釈を表すオフガイドインクストローク２２０８のグループを示す。ライティングガイドモジュールは、図２２Ｂのインクストローク２２０８を注釈として分類する。インクストローク２２０８は、アウトラインオブジェクト２２０６の上を浮遊する描画を含むことができる。例示的実施形態では、注釈は、上書きされるノードまたはオブジェクトに固定することができる。したがって、各項目はページ上で一緒に移動することができる。
【０１２１】
図２３Ａ及び２３Ｂに、本発明の例示的実施形態による、ネストされた見出しライティングガイド２３００を示す。ライティングガイド２３００をフルサイズまで拡張し、ユーザがその中に筆跡を書き込んだ後、ネストされた見出しの始まりを示す標識２３０４が現れる。図２３Ａに示すように、標識２３０４は、ライティングガイド２３００を、第１見出し領域２３０２と第２見出し領域２３０６とに分割する。第１見出し領域２３０２への書込みにより、その領域にインクが配置される。図２３Ｂに示すように、第２見出し領域２３０６への書込みにより、その領域にインクが配置され、それによってネストされた見出しが生成される。
【０１２２】
図２４に、本発明の例示的実施形態による描画ライティングガイド２４００を示す。図示するように、描画ガイド２４００は、タブレット２５０上に与えられたインクストローク２４１０のグループに対して生成することができる。描画ガイド２４００の描画シンボル２４０３は、ライティングガイドモジュール２２７がインクストローク２４１０を描画として分類したことを示す。
【０１２３】
描画ガイド２４００はまた、サイズ変更ハンドル２４０６も有する。サイズ変更ハンドル２４０６により、描画ガイド２４００の手動によるサイズ変更が可能となる。ユーザは、描画ガイドサイズ変更ハンドル２４０６のうち１つを選択してドラッグすることにより、描画ガイド２４００をサイズ変更することができる。描画ガイド２４００はまた、描画ガイド２４００全体を再配置するための移動ハンドル２４０４も含む。
【０１２４】
描画ツールアイコン２４０８は、ドロップダウンメニュー（図示せず）へのアクセスを提供する。ドロップダウンメニューは、インクを再分類し、または描画ガイドをロックするためのオプションを含むことができる。したがって、ユーザは、描画または筆跡についてのインクの分類を手動で変更することができる。例えば、ユーザは、描画ツールアイコン２４０８を選択して、ドロップダウンメニュー（図示せず）を表示することができる。次いでユーザは、「ライティングとして処理」を選択して、描画種別を筆跡種別に変更することができる。加えて、ユーザは描画をロックして、他の描画との相互作用を防止することができる。ロックした後、図面は、ビットマップピクチャファイルまたはＪＰＥＧピクチャファイルなどの通常のピクチャのように振る舞う。ロックした描画ガイドは、別の描画とマージすることができない。描画をロックするために、ユーザは、描画ツールアイコン２４０８を選択して、ドロップダウンメニュー（図示せず）を表示することができる。次いでユーザは、「描画ロックオプション」を選択することができる。
【０１２５】
図２５に、本発明の例示的実施形態に従って描画ガイド２４００を表示する、図３のステップ３３５で参照した方法を示す。ステップ２５０５では、ライティングガイドモジュール２２７は、検出したインクストローク２４１０の周囲に境界矩形２４１２を確定する。境界矩形２４１２は、インクストローク２４１０を包含する矩形を有する。ステップ２５１０では、ライティングガイドモジュール２２７は、境界矩形２４１２の周囲にホットゾーン２４１４を追加する。ホットゾーン２４１４は、ユーザが新しいインクストロークを入力するための追加のスペースを描画ガイド２４００内に与える。
【０１２６】
例示的実施形態では、ホットゾーン２４１４は、境界矩形２４１２の周囲に固定の境界を有することができる。代替実施形態では、ホットゾーン２４１４は、検出したストローク２４１０の個々のストロークの周囲に、指定の幅のバッファを有することができる。その場合、ホットゾーンは不規則な形状を有することができる。
【０１２７】
最後に、ステップ２５１５では、ライティングガイドモジュール２２７は、タブレット２６０上に、前述の寸法を有する描画ガイド２４００を表示する。次いでこの方法はステップ３４０（図３）に進む。
【０１２８】
代替実施形態では、メニューから描画ガイドを選択することにより、描画ライティングガイドを最初に挿入することができる。ユーザは、マウス、キーボード、またはスタイラスを使用してその選択を行うことができる。
【０１２９】
ユーザは、以下の例示的方法によって描画ガイドを非活動化することができる。その例示的方法とは、（１）任意のタイプの別のライティングガイドの活動化、（２）１秒またはその他の所定の時間よりも長い間描画ガイドから離れること、及び（３）ツールバーまたはその他のメニューを介してモードを切り換えることである。
【０１３０】
図２６は、本発明の例示的実施形態に従って描画ガイドの寸法を再計算する、図３のステップ３４５で参照した方法を示すフローチャートである。ステップ２６０５では、ライティングガイドモジュール２２７は、描画ガイド２４００の境界矩形２４１２の外部のインクを検出しようと試みる。ステップ２６０５は、ライティングガイドモジュール２２７が境界矩形２４１２の外部のインクを検出するまで繰り返すことができる。境界矩形２４１２の外部のインクを検出した後、この方法はステップ２６１０に分岐する。ステップ２６１０では、ライティングガイドモジュール２２７は、新しく検出したインクを取り囲むように境界矩形２４１２の寸法を再確定する。ステップ２６１５では、ライティングガイドモジュール２２７は、再確定した境界矩形２４１２の周囲に新しいホットゾーン２４１４を追加する。次いでステップ２６２０では、ライティングガイドモジュール２２７は、サイズ変更した描画ガイド２４００を表示する。次いでこの方法は、ステップ３４０（図３）に進む。
【０１３１】
例示的実施形態では、描画ガイド上で始まり、描画ガイドの外まで延びるストロークを描画することによって描画ガイドを延長することができる。あるいは、描画ガイドの外で始まり、描画ガイドのホットゾーン内に延びるストロークを描画することによって描画ガイドを延長することもできる。どちらの場合も、ストロークが描画ガイド内に完全に含まれるように描画ガイドを延長することができる。
【０１３２】
別の例示的実施形態では、インクが描画ガイドに入力されなくても、ユーザはインクを描画ガイドに追加することができる。その場合、描画ガイドは、追加されたインクを包含するように延びることができる。例えば、ライティングガイドモジュール２２７は、追加されたインクがライティングガイドに属するかどうかを、追加された各ストロークのタイムスタンプ及び位置に基づいて判定することができる。例えば、以下のインクストロークは描画の一部とみなすことができ、それによってそのインクストロークを包含するように描画ガイドが延びる。そのインクストロークとは、（１）描画ガイド内に、別のストロークと１／２インチ（１．２７センチメートル）以内、かつ３／４秒以内に入力されたストローク、（２）描画ガイド内に、別のストロークと２インチ（５．０８センチメートル）以内、かつ１／２秒以内に入力されたストローク、及び（３）描画ガイド内に、別のストロークと５インチ（１２．７センチメートル）以内、かつ１／４秒以内に入力されたストロークである。その他の時間及び位置も本発明の範囲内にある。
【０１３３】
別の例示的実施形態では、２つ以上の描画ガイドをマージして、１つの大きな描画ガイドを形成することができる。例えば、ある描画ガイドからのインクストロークが別の描画ガイドのホットゾーンに入る場合、２つの描画ガイドをマージすることができる。得られる描画ガイドは、２つの元の描画ライティングガイドの境界矩形に新しいホットゾーンを加えたサイズを有することができる。マージは、描画ガイドを選択し、メニューからマージオプションを選択することによって実施することもできる。
【０１３４】
本発明は、上記で説明した方法及び処理機能を実施するコンピュータハードウェア／ソフトウェアと共に使用することができる。当業者は理解するであろうが、本明細書で説明したシステム、方法、及び手順は、プログラマブルコンピュータ、コンピュータ実行可能ソフトウェア、またはデジタル回路で実施することができる。ソフトウェアはコンピュータ可読媒体上に格納することができる。例えば、コンピュータ可読媒体は、フロッピィディスク、ＲＡＭ、ＲＯＭ、ハードディスク、リムーバブル媒体、フラッシュメモリ、メモリスティック、光媒体、光磁気媒体、ＣＤ−ＲＯＭなどを含むことができる。デジタル回路は、集積回路、ゲートアレイ、ビルディングブロックロジック、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などを含むことができる。
【０１３５】
本発明の特定の実施形態を上記で詳細に説明したが、上記の説明は単に例示のためのものに過ぎない。上記で説明したものに加えて、特許請求の範囲で定義される本発明の趣旨及び範囲から逸脱することなく、例示的実施形態の開示の態様の様々な修正形態、及び例示的実施形態の開示の態様に対応する等価なステップを当業者は作成することができよう。特許請求の範囲は、そのような修正形態及び等価な構造を包含するような最も広い解釈を与えるべきものである。
【０１３６】
【発明の効果】
以上説明したように本発明によれば、フリーフォーム電子文書での改善された手書き認識／変換を実現できる。
【図面の簡単な説明】
【図１】本発明の実施形態の例示的動作環境を示すブロック図である。
【図２】本発明の実施形態の例示的フリーフォーム文書エディタ、及び関連する入力装置の主な機能構成要素を示すブロック図である。
【図３】本本発明の実施形態のライティングガイドを表示する方法を示すフローチャートの図である。
【図４】本発明の実施形態のタブレット上に表示されたライティングガイドを示す図である。
【図５】本発明の実施形態の検出したインクを描画または筆跡として分類する方法を示すフローチャートである。
【図６】本発明の実施形態の手書きガイドを表示する方法を示すフローチャートの図である。
【図７Ａ】本発明の実施形態の手書きガイドの寸法を示す図である。
【図７Ｂ】本発明の実施形態の手書きガイドの寸法を示す図である。
【図８】本発明の実施形態のライティングガイドのベースラインを確定する方法を示すフローチャートである。
【図９】本発明の実施形態のインクの行のそれぞれのセグメント内のインク量を示す代表的インクヒストグラムを示す図である。
【図１０】本発明の代替の実施形態のライティングガイドのベースラインを確定する方法を示すフローチャートである。
【図１１】本発明の代替の実施形態の図１０の方法で確定されたライティングガイドの寸法を示す図である。
【図１２】本発明の実施形態の手書きガイドの寸法を再計算する方法を示すフローチャートの図である。
【図１３】本発明の実施形態のインデントされたアウトライン構造についての構造化アウトライン手書きガイドを示す図である。
【図１４Ａ】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図１４Ｂ】本発明の例示的実施形態による構造化アウトライン手書きガイドの動作を示す図である。
【図１４Ｃ】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図１４Ｄ】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図１４Ｅ】本発明の実施形態の構造化アウトライン手書きガイドの動作を示す図である。
【図１５】本発明の実施形態の文字間にスペースがない言語向けの言語手書きガイドを示す図である。
【図１６】本発明の実施形態のジェスチャ手書きガイドを示す図である。
【図１７】本発明の実施形態のジェスチャ手書きガイドを活動化する方法を示すフローチャートである。
【図１８】本発明の実施形態の犠牲ライティングガイドを示す図である。
【図１９】本発明の実施形態の犠牲ライティングガイドを活動化する方法を示すフローチャートの図である。
【図２０】本発明の実施形態の既存のオブジェクト要素に筆跡を追加するアクティブライティングガイド部分を示す図である。
【図２１】本発明の実施形態のオフガイドライティングを分類する方法を示すフローチャートである。
【図２２Ａ】本発明の実施形態の編集を表すオフガイドインクストロークを示す図である。
【図２２Ｂ】本発明の実施形態の注釈を表すオフガイドインクストロークのグループを示す図である。
【図２３Ａ】本発明の実施形態のネストされた見出しライティングガイドを示す図である。
【図２３Ｂ】本発明の実施形態のネストされた見出しライティングガイドを示す図である。
【図２４】本発明の実施形態の描画ライティングガイドを示す図である。
【図２５】本発明の実施形態の描画ガイドを表示する方法を示す図である。
【図２６】本発明の実施形態の描画ガイドの寸法を再計算する方法を示すフローチャートの図である。
【符号の説明】
１２１　プロセッサ
１２２　システムメモリ
１２３　システムバス
１２４　読取り専用メモリ（ＲＯＭ）
１２５　ランダムアクセスメモリ（ＲＡＭ）
１２６　基本入出力システム（ＢＩＯＳ）
１２７　ハードディスクドライブ
１２８　磁気ディスクドライブ
１２９　リムーバブル磁気ディスク
１３１　リムーバブル光ディスク
１３２　ハードディスクインタフェース
１３３　磁気ディスクドライブインタフェース
１３４　光ディスクドライブインタフェース
１３５　オペレーティングシステム
１３６　文書エディタ
１３８　インクプロセッサ
１３９　電子文書
１４０　キーボード
１４２　ポインティングデバイス
１４６　シリアルポートインタフェース
１４７　ディスプレイ装置
１４８　ビデオアダプタ
１４９　リモートコンピュータ
１５０　メモリ記憶装置
１５１　ローカルエリアネットワーク（ＬＡＮ）
１５２　広域ネットワーク（ＷＡＮ）
１５３　ネットワークインタフェース／アダプタ
１５４　モデム
２０５　文書編集モジュール
２１０　解析モジュール
２１５　分類器モジュール
２１６　レイアウトモジュール
２１７　スペース挿入モジュール
２２０　電子文書
２２５　インク処理ソフトウェアモジュール
２２７　ライティングガイドモジュール
２２８　スタイラス／インクモジュール
２３０　ジェスチャ認識器
２３５　テキスト認識モジュール
２４０　消去機能モジュール
２５０　タブレット
２５５　スタイラス
２６０　キーボード
２６５　ポインティングデバイス
２７０　モニタ
４００　手書きガイド
４０２　ライティングエリア
４０４　アウトラインオブジェクトハンドル
４０６　アウトラインオブジェクトハンドル
４０８　要素ノードハンドル
４１０　マージハンドル
７００ａ　手書きガイド
７００ｂ　手書きガイド
９０２　水平セグメント
９０４　インクヒストグラム
１１００　ライティングガイド
１３００　ライティングガイド
１３０３　第１レベル領域
１３０４　インデント標識
１３０５　第２レベル領域
１３０６　ブリット領域
１３０８　第２レベルブリット領域
１４０６　第３レベル標識
１４０７　第３レベル領域
１４０８　第３レベルブリット領域
１５００　言語手書きガイド
１５０６　文字ノッチ
１６０２　ジェスチャ手書きガイド
１６０４　アイコン
１８００　犠牲ライティングガイド
１８０２　犠牲シンボル
２００２　非アクティブオブジェクト要素
２００４　ライティングガイド部分
２００４ａ　ライティングガイド部分
２００８　ブランクスペース
２２０２　オブジェクト要素
２２０４　インクストローク
２２０６　アウトラインオブジェクト
２２０８　オフガイドインクストローク
２３００　ネストされた見出しライティングガイド
２３０２　第１見出し領域
２３０４　標識
２３０６　第２見出し領域
２４００　描画ライティングガイド
２４０３　描画シンボル
２４０４　移動ハンドル
２４０６　描画ガイドサイズ変更ハンドル
２４０８　描画ツールアイコン
２４１０　インクストローク
２４１２　境界矩形
２４１４　ホットゾーン
【図１】
2004062891.tif 000003
【図２】
2004062891.tif 000004
【図３】
2004062891.tif 000005
【図４】
2004062891.tif 000006
【図５】
2004062891.tif 000007
【図６】
2004062891.tif 000008
【図７Ａ】
2004062891.tif 000009
【図７Ｂ】
2004062891.tif 000010
【図８】
2004062891.tif 000011
【図９】
2004062891.tif 000012
【図１０】
2004062891.tif 000013
【図１１】
2004062891.tif 000014
【図１２】
2004062891.tif 000015
【図１３】
2004062891.tif 000016
【図１４Ａ】
2004062891.tif 000017
【図１４Ｂ】
2004062891.tif 000018
【図１４Ｃ】
2004062891.tif 000019
【図１４Ｄ】
2004062891.tif 000020
【図１４Ｅ】
2004062891.tif 000021
【図１５】
2004062891.tif 000022
【図１６】
2004062891.tif 000023
【図１７】
2004062891.tif 000024
【図１８】
2004062891.tif 000025
【図１９】
2004062891.tif 000026
【図２０】
2004062891.tif 000027
【図２１】
2004062891.tif 000028
【図２２Ａ】
2004062891.tif 000029
【図２２Ｂ】
2004062891.tif 000030
【図２３Ａ】
2004062891.tif 000031
【図２３Ｂ】
2004062891.tif 000032
【図２４】
2004062891.tif 000033
【図２５】
2004062891.tif 000034
【図２６】
2004062891.tif 000035