(57)【要約】【課題】ドキュメントページ上のドキュメントオブジェクト間の衝突を解消する方法を提供する。【解決手段】衝突を発見・確認し、その衝突を回避するため衝突前の位置からの最短距離だけオブジェクトを動かすことにより、衝突の２次元の解決が提供される。本プロセスは、オブジェクトを動かす最短距離を計測する。また、本発明は、一部のオブジェクトを「衝突することができない」ものと指定する論理を確立することができ、本プロセスは、そのオブジェクトを動かして衝突を解消することをしない。【選択図】　　　　図１４
2004046858.tif 000002
【特許請求の範囲】
【請求項１】
電子ドキュメントページ上のドキュメントオブジェクト間の衝突を解消するためのコンピュータによって実施される方法であって、
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の発生を確認するステップと、
前記衝突を解消するために前記第２のドキュメントオブジェクトを動かす最短距離を判定するステップと、
前記第２のドキュメントオブジェクトを前記最短距離の方向に動かすステップと
を含むことを特徴とする方法。
【請求項２】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、ページ変更によって開始されることを特徴とする請求項１に記載の方法。
【請求項３】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトの矩形の境界によって占められるスペースに基づいていることを特徴とする請求項１に記載の方法。
【請求項４】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトのコンテンツによって占められるスペースに基づいていることを特徴とする請求項１に記載の方法。
【請求項５】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが重なり合うことに基づいていることを特徴とする請求項１に記載の方法。
【請求項６】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが、互いの規定の距離範囲内に入ることに基づいていることを特徴とする請求項１に記載の方法。
【請求項７】
前記第２のドキュメントオブジェクトが、まっすぐ下方、またはまっすぐ側方に動かされることを特徴とする請求項１に記載の方法。
【請求項８】
動かされる前記ドキュメントオブジェクトの元の場所（原位置）を記録するステップと、
衝突を解消するために側方に動かされたドキュメントオブジェクトが前記ページの外に出されたかどうかを判定するステップと、
衝突を解消するために側方に動かされ、結果として前記ページの外に出されたドキュメントオブジェクトを元の場所からまっすぐ下方に動かすステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
すべての衝突が解決されるまで請求項１に記載のステップを繰り返すステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、ページ変更によって開始されることを特徴とする請求項９に記載の方法。
【請求項１１】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトの矩形の境界によって占められるスペースに基づいていることを特徴とする請求項９に記載の方法。
【請求項１２】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトのコンテンツによって占められるスペースに基づいていることを特徴とする請求項９に記載の方法。
【請求項１３】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが重なり合うことに基づいていることを特徴とする請求項９に記載の方法。
【請求項１４】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが、互いの規定の距離範囲内に入ることに基づいていることを特徴とする請求項９に記載の方法。
【請求項１５】
前記第２のドキュメントオブジェクトが、まっすぐ下方、またはまっすぐ側方に動かされることを特徴とする請求項９に記載の方法。
【請求項１６】
動かされる前記ドキュメントオブジェクトの元の場所（原位置）を記録するステップと、
衝突を解消するために側方に動かされたドキュメントオブジェクトが前記ページの外に出されたかどうかを判定するステップと、
衝突を解消するために側方に動かされ、結果として前記ページの外に出されたドキュメントオブジェクトを元の場所からまっすぐ下方に動かすステップと
をさらに含むことを特徴とする請求項９に記載の方法。
【請求項１７】
電子ドキュメントページ上のドキュメントオブジェクト間の衝突を解消するためのコンピュータによって実施される方法であって、
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の発生を確認するステップと、
前記衝突を解消するために前記第２のドキュメントオブジェクトを動かす最短距離を判定するステップと、
前記第２のドキュメントオブジェクトを前記最短距離の方向に動かすステップと、
移動される前記ドキュメントオブジェクトの元の場所（原位置）を記録するステップと、
ドキュメントレイアウトがさらに変更されて、衝突をもたらすことなしに前記ドキュメントオブジェクトを元の場所に戻ることが可能になった場合、前記ドキュメントオブジェクトを元の場所に戻すステップと
を含むことを特徴とする方法。
【請求項１８】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、ページ変更によって開始されることを特徴とする請求項１７に記載の方法。
【請求項１９】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトの矩形の境界によって占められるスペースに基づいていることを特徴とする請求項１７に記載の方法。
【請求項２０】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトのコンテンツによって占められるスペースに基づいていることを特徴とする請求項１７に記載の方法。
【請求項２１】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが重なり合うことに基づいていることを特徴とする請求項１７に記載の方法。
【請求項２２】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが、互いの規定の距離範囲内に入ることに基づいていることを特徴とする請求項１７に記載の方法。
【請求項２３】
前記第２のドキュメントオブジェクトが、まっすぐ下方、またはまっすぐ側方に動かされることを特徴とする請求項１７に記載の方法。
【請求項２４】
動かされる前記ドキュメントオブジェクトの元の場所（原位置）を記録するステップと、
衝突を解消するために側方に動かされたドキュメントオブジェクトが前記ページの外に出されたかどうかを判定するステップと、
衝突を解消するために側方に動かされ、結果として前記ページの外に出されたドキュメントオブジェクトを元の場所からまっすぐ下方に動かすステップと
をさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２５】
すべての衝突が解決されるまで請求項１７に記載のステップを繰り返すステップをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項２６】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、ページ変更によって開始されることを特徴とする請求項２５に記載の方法。
【請求項２７】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトの矩形の境界によって占められるスペースに基づいていることを特徴とする請求項２５に記載の方法。
【請求項２８】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトのコンテンツによって占められるスペースに基づいていることを特徴とする請求項２５に記載の方法。
【請求項２９】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが重なり合うことに基づいていることを特徴とする請求項２５に記載の方法。
【請求項３０】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが、互いの規定の距離範囲内に入ることに基づいていることを特徴とする請求項２５に記載の方法。
【請求項３１】
前記第２のドキュメントオブジェクトが、まっすぐ下方、またはまっすぐ側方に動かされることを特徴とする請求項２５に記載の方法。
【請求項３２】
動かされる前記ドキュメントオブジェクトの元の場所（原位置）を記録するステップと、
衝突を解消するために側方に動かされたドキュメントオブジェクトが前記ページの外に出されたかどうかを判定するステップと、
衝突を解消するために側方に動かされ、結果として前記ページの外に出されたドキュメントオブジェクトを元の場所からまっすぐ下方に動かすステップと
をさらに含むことを特徴とする請求項２５に記載の方法。
【請求項３３】
電子ドキュメントページ上のドキュメントオブジェクト間の衝突を解消するためのコンピュータによって実施される方法であって、
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の発生を確認するステップと、
前記衝突を解消するために前記第２のドキュメントオブジェクトを動かす最短距離を判定するステップと、
前記第２のドキュメントオブジェクトを前記最短距離の方向に動かすステップと、
前記ドキュメントオブジェクトが衝突を解消するために動かすことができないものであるかどうかを判定するステップと、
衝突を解消するために動かすことができないドキュメントオブジェクトに関して衝突を解消することに関連するプロセスステップをスキップするステップと
を含むことを特徴とする方法。
【請求項３４】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、ページ変更によって開始されることを特徴とする請求項３３に記載の方法。
【請求項３５】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトの矩形の境界によって占められるスペースに基づいていることを特徴とする請求項３３に記載の方法。
【請求項３６】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトのコンテンツによって占められるスペースに基づいていることを特徴とする請求項３３に記載の方法。
【請求項３７】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが重なり合うことに基づいていることを特徴とする請求項３３に記載の方法。
【請求項３８】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが、互いの規定の距離範囲内に入ることに基づいていることを特徴とする請求項３３に記載の方法。
【請求項３９】
前記第２のドキュメントオブジェクトが、まっすぐ下方、またはまっすぐ側方に動かされることを特徴とする請求項３３に記載の方法。
【請求項４０】
動かされる前記ドキュメントオブジェクトの元の場所（原位置）を記録するステップと、
衝突を解消するために側方に動かされたドキュメントオブジェクトが前記ページの外に出されたかどうかを判定するステップと、
衝突を解消するために側方に動かされ、結果として前記ページの外に出されたドキュメントオブジェクトを元の場所からまっすぐ下方に動かすステップとをさらに含むことを特徴とする請求項３３に記載の方法。
【請求項４１】
すべての衝突が解決されるまで請求項３３に記載のステップを繰り返すステップをさらに含むことを特徴とする請求項３３に記載の方法。
【請求項４２】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、ページ変更によって開始されることを特徴とする請求項４１に記載の方法。
【請求項４３】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトの矩形の境界によって占められるスペースに基づいていることを特徴とする請求項４１に記載の方法。
【請求項４４】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトのコンテンツによって占められるスペースに基づいていることを特徴とする請求項４１に記載の方法。
【請求項４５】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが重なり合うことに基づいていることを特徴とする請求項４１に記載の方法。
【請求項４６】
第１のドキュメントオブジェクトと第２のドキュメントオブジェクトの衝突の前記発生を確認する前記ステップが、前記ドキュメントオブジェクトが、互いの規定の距離範囲内に入ることに基づいていることを特徴とする請求項４１に記載の方法。
【請求項４７】
前記第２のドキュメントオブジェクトが、まっすぐ下方、またはまっすぐ側方に動かされることを特徴とする請求項４１に記載の方法。
【請求項４８】
動かされる前記ドキュメントオブジェクトの元の場所（原位置）を記録するステップと、
衝突を解消するために側方に動かされたドキュメントオブジェクトが前記ページの外に出されたかどうかを判定するステップと、
衝突を解消するために側方に動かされ、結果として前記ページの外に出されたドキュメントオブジェクトを元の場所からまっすぐ下方に動かすステップと
をさらに含むことを特徴とする請求項４１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子ドキュメントの編集に関し、より具体的には、ドキュメント編集からもたらされるドキュメントオブジェクト間の衝突を解消するための方法に関する。
【０００２】
【従来の技術】
電子ドキュメントエディタ（電子文書編集プログラム）は、今日、家庭および企業において広く使用されている。そのエディタの身近な例には、パーソナルコンピュータ（ＰＣ）上で動作するワードプロセッシングアプリケーション、およびパーソナルデジタルアシスタント（ＰＤＡ）上で動作するメモを取る（ｎｏｔｅ−ｔａｋｉｎｇ）アプリケーションが含まれる。これらのアプリケーションは、情報を記録し、伝達する最も簡単な手段として紙に取って代わろうと努めている。しかし、紙の有用性に取って代わり、その有用性を高めるのに、電子ドキュメントエディタは、ユーザが、ページ上にドキュメントオブジェクトを配置し、編集し、動かし、サイズを変更し、オブジェクトを追加することができるようにすると同時に、ユーザが、個々のオブジェクトを明瞭に見ることができるのを確実にしなければならない。
【０００３】
自由形式ドキュメントエディタを使用してメモを取ることは、ある種のハードウェアデバイスを使用することによって強化することができる。例えば、電子タブレットを使用して手書きを記録し、その手書きを従来のコンピュータに入力することができる。そのような電子タブレットは、通常、画面（スクリーン）、およびペンに類似したハンドヘルドデバイス（手持ち式機器）（スタイラス（ｓｔｙｌｕｓ）とも呼ばれる）を含む。ユーザは、そのペンを使用して、通常のペンと紙を使用するのと同じような仕方で電子タブレット上に書き込むことができる。電子タブレットは、ハンドヘルドデバイスによるユーザの手書きのストローク（筆跡）を「読み取る」ことができ、その手書きを電子形式でタブレットの画面（スクリーン）上に、またはコンピュータのディスプレイ上に「電子インク」としてレンダリング（画像表示）することができる。さらに、ユーザは、スタイラスと電子タブレットを使用して、またはキーボード、ポインティングデバイス、またはその他の入力デバイスを使用してページ上の空白の領域に描画またはテキストを作成することができる。これらのテキスト領域またはイメージ領域は、ドキュメントオブジェクトと呼ばれる。
【０００４】
いくつかのドキュメント制約により、ユーザが、従来のドキュメントエディタを使用して効率的かつ効果的にメモを取る能力が低下させられる可能性がある。自由形式ドキュメントエディタは、自由形式でメモを取ることができるようにすることにより、いくつかのドキュメント制約を無視する。したがって、自由形式ドキュメントエディタは、ワードプロセッサドキュメントエディタとは異なるドキュメントの挙動を有する。
【０００５】
【発明が解決しようとする課題】
いくつかのドキュメント制約を無視することにより、自由形式ドキュメントエディタは、自由形式ドキュメントエディタにおけるオブジェクト管理の必要性を引き起こす可能性がある。新しいオブジェクトをページに追加すること、または既存のオブジェクトを、編集すること、動かすこと、またはサイズを変更することにより、あるオブジェクトが画面（スクリーン）上の別のオブジェクトと衝突（コリジョン）する可能性がある。この衝突により、あるオブジェクトが別のオブジェクトを覆って、その覆われたオブジェクトの情報が見えにくくなるとか、または通常の電子ドキュメントエディタが行うように、ただ単に下方のオブジェクトをページ上で垂直に押し下げる（１次元の解決策）ことが起こり得る。以上従来手法のいずれでも、自由形式ドキュメントエディタが、２次元の性質を最大限に活用することができるようにならない。さらに、一部のケースでは、ユーザが、オブジェクトが重なり合うことを望む可能性がある。
このため、本発明は、ユーザに対してフレキシビリティを許容しながら、電子ドキュメントページ上のドキュメントオブジェクト間の衝突を２次元で解決する方法を提供する。
【０００６】
【課題を解決するための手段】
本発明によれば、ドキュメントページ上のドキュメントオブジェクト間の衝突が解決される。衝突を確認し、衝突位置からその衝突が解消するであろう最短距離だけオブジェクトを動かすことにより、衝突の２次元の解決が提供される。また、本発明では、一部のオブジェクトを「衝突することができない（ｎｏｔ　ａｂｌｅ　ｔｏ　ｃｏｌｌｉｄｅ）」ものと指定する論理を確立することができ、その場合は、それらオブジェクトを動かして衝突を解消することをしない。
【０００７】
本発明の例示的な実施形態の一態様では、電子ドキュメントの中の既存のページが変更される。新しいドキュメントオブジェクトを追加すること、既存のオブジェクトを、編集すること、サイズ変更すること、または動かすことにより、あるドキュメントオブジェクトの境界が、別のドキュメントオブジェクトの境界と交差する。この衝突が生じたときには、本発明の方法では、オブジェクトをまっすぐ下、あるいはまっすぐ右または左に動かしてその衝突を解消するのに必要な最短距離を判定し、オブジェクトをその最短距離の方向に動かす。第２のオブジェクトを動かすことにより、別の衝突が生じた場合には、プログラムは、同じやり方を繰り返すことでその新しい衝突を解消する。
【０００８】
本発明の例示的な実施形態の第２の態様では、電子ドキュメントの中の既存のページが変更される。新しいオブジェクトを追加すること、または既存のオブジェクトを、編集すること、サイズを変更すること、または動かすことにより、あるオブジェクトの境界が、ユーザが動かすことを望まない別のオブジェクトの境界と交差する。衝突が生じたとき、プログラムは、第２のオブジェクトを動かさない。代わりに、オブジェクトは、ユーザが、オブジェクトを再構成してオブジェクトを動かすことができるようになるまで重なり合う。
【０００９】
本発明の態様は、開示した実施形態の以下の詳細な説明を精査し、図面および特許請求の範囲を参照することによってより明確に理解し、認識することができる。
【００１０】
【発明の実施の形態】
本発明の例示的な実施形態は、衝突後、オブジェクトを動かして、ユーザが、電子ドキュメントで作業している最中に個々のオブジェクトを明瞭に見ることができるようにすることにより、自由形式電子ドキュメントのレイアウトを維持するための方法を提供する。
【００１１】
図１は、本発明を実施するための例示的な動作環境を示している。例示的な動作環境は、従来のパーソナルコンピュータ１２０の形態での汎用計算デバイスを含む。一般に、パーソナルコンピュータ１２０は、処理ユニット１２１、システムメモリ１２２、ならびにシステムメモリ１２２から処理ユニット１２１までを含むシステム構成要素を結合するシステムバス１２３を含む。システムバス１２３は、任意のバスアーキテクチャを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造の任意のものであることが可能である。システムメモリは、読取り専用メモリ（ＲＯＭ）１２４およびランダムアクセスメモリ（ＲＡＭ）１２５を含む。始動中などに、パーソナルコンピュータ１２０内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力／出力システム（ＢＩＯＳ）１２６が、ＲＯＭ１２４の中に記憶される。
【００１２】
パーソナルコンピュータ１２０は、図示していないハードディスクに対して読取りおよび書込みを行うためのハードディスクドライブ１２７、取外し可能な磁気ディスク１２９に対して読取りおよび書込みを行うための磁気ディスクドライブ１２８、およびＣＤ−ＲＯＭまたはその他の光媒体などの取外し可能な光ディスク１３１に対して読取りおよび書込みを行うための光ディスクドライブ１３０をさらに含む。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、および光ディスクドライブ１３０は、それぞれ、ハードディスクドライブインターフェース１３２、磁気ディスクドライブインターフェース１３３、および光ディスクドライブインターフェース１３４でシステムバス１２３に接続される。本明細書で説明する例示的な環境は、ハードディスク１２７、取外し可能な磁気ディスク１２９、および取外し可能な光ディスク１３１を使用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ＲＡＭ、ＲＯＭなどの、コンピュータがアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体も、例示的な動作環境において使用できることが、当分野の技術者には理解されよう。以上のドライブおよび関連するコンピュータ可読媒体により、コンピュータ実行可能命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性ストーレッジが、パーソナルコンピュータ１２０に提供される。
【００１３】
オペレーティングシステム１３５、ドキュメントエディタ１３６、衝突解決モジュール１３８、および電子ドキュメント１３９を含め、いくつかのプログラムモジュールをハードディスク１２７、磁気ディスク１２９、光ディスク１３１、ＲＯＭ１２４、またはＲＡＭ１２５に記憶することができる。プログラムモジュールには、特定のタスクを行う、または特定の抽象データタイプを実装するルーチン、サブルーチン、プログラム、オブジェクト、構成要素、データ構造等が含まれる。本発明の態様は、衝突解決モジュール１３８と協調して動作して電子ドキュメント１３９を編集することができるドキュメントエディタ１３６の形態で実施することが可能である。ドキュメントエディタ１３６は、一般に、電子ドキュメントを作成し、編集するためのコンピュータ実行可能命令を含む。衝突解決モジュール１３８は、一般に、ドキュメントエディタ１３６によってアクセスされるが、ドキュメントエディタと一体となったものとして実施することも可能である。
【００１４】
ユーザは、キーボード１４０やポインティングデバイス１４２などの入力デバイスを介してパーソナルコンピュータ１２０にコマンドおよび情報を入力することができる。ポインティングデバイスには、電子タブレットと併せて使用することができるマウス、トラックボール、および電子ペンが含まれることが可能である。その他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が含まれることが可能である。以上の入力デバイス、およびその他の入力デバイスは、しばしば、システムバス１２３に結合されたシリアルポートインターフェース１４６を介して処理ユニット１２２に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）（ＵＳＢ）などの他のインターフェースで接続してもよい。また、表示デバイス１４７も、ビデオアダプタ１４８などのインターフェースを介してシステムバス１２３に接続することができる。モニタに加えて、パーソナルコンピュータは、通常、スピーカやプリンタなどの他の周辺出力デバイス（図示せず）も含む。
【００１５】
パーソナルコンピュータ１２０は、１つまたは複数の遠隔コンピュータ１４９に対する論理接続を使用するネットワーク化された環境で動作することが可能である。遠隔コンピュータ１４９は、別のパーソナルコンピュータ、サーバ、クライアント、ルータ、ネットワークＰＣ、ピアデバイス、またその他の一般的なネットワークノードであることが可能である。遠隔コンピュータ１４９は、通常、パーソナルコンピュータ１２０に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置１５０だけを図１に示している。図１に描いた論理接続は、ローカルエリアネットワーク（ＬＡＮ）１５１および広域ネットワーク（ＷＡＮ）１５２を含む。そのようなネットワーク環境は、オフィス、企業全体のコンピュータ網、イントラネットおよびインターネットで一般的である。
【００１６】
ＬＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ１２０は、しばしば、ネットワークインターフェースまたはネットワークアダプタ１５３を介してローカルエリアネットワーク１５１に接続される。ＷＡＮネットワーキング環境で使用されるとき、パーソナルコンピュータ１２０は、通常、インターネットなどのＷＡＮ１５２を介して通信を確立するためのモデム１５４、またはその他の手段を含む。内部にあることも外部にあることも可能なモデム１５４は、シリアルポートインターフェース１４６を介してシステムバス１２３に接続される。ネットワーク化された環境では、パーソナルコンピュータ１２０に関連して描いたプログラムモジュール、またはプログラムモジュールの部分は、遠隔のメモリ記憶装置１５０の中に記憶されることが可能である。図示したネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段も使用できることが認められよう。
【００１７】
さらに、本発明は、ハンドヘルドデバイス（ＰＤＡ）、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ等を含め、他のコンピュータシステム構成において実施してもよいことが、当分野の技術者には認められよう。また、本発明は、タスクが、通信網を介してリンクされた遠隔の処理デバイスによって行われる分散計算環境において実施することも可能である。分散計算環境では、プログラムモジュールは、ローカルのメモリ記憶装置と遠隔のメモリ記憶装置の両方の中に配置されることが可能である。
【００１８】
図２は、例示的な自由形式ドキュメントエディタおよび関連する入力デバイスの主な機能構成要素を描いたブロック図である。具体的には、図２は、自由形式ドキュメントエディタのコンテキストで本発明の例示的な実施形態を動作させる際に使用される通常のハードウェア構成要素およびソフトウェア構成要素を描いている。従来の入力デバイスが、キーボード２６０およびポインティングデバイス２６５（例えば、マウス、ペン、およびタブレット）で表わされている。ユーザは、ポインティングデバイス、または別の入力デバイスを使用してコンピュータ２０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、およびスキャナが含まれることが可能である。モニタ２７０などの従来の出力デバイスが、コンピュータ２０からの情報を表示するのに使用される。その他の出力デバイス（図示せず）には、プリンタまたはスピーカが含まれることが可能である。図２に示したその他のハードウェア構成要素には、電子タブレット２５０、および付随するスタイラス２５５が含まれる。タブレット２５０およびスタイラス２５５は、電子インクと呼ばれるデータに変換することができる手書きのストロークを入力するのに使用される。電子インクは、電子ドキュメント２２０に取り入れることができ、また電子タブレット２５０上、またはモニタ２７０上、あるいはその両方の上で表示することが可能である。電子タブレット２５０とモニタ２７０は、本発明の例示的な実施形態では別個のものとして示しているが、単一の構成要素に統合することも可能である。タブレット／モニタ統合構成要素は、情報を表示する能力、およびスタイラス２５５からの入力を受け取る能力を有する。
【００１９】
代表的なアーキテクチャ２００では、ハードウェア構成要素のすべてが、インク処理ソフトウェアモジュール２２５に結合されている。インク処理モジュール２２５は、電子タブレット２５０からデータを受け取り、そのデータを電子インクとしてレンダリングするように動作する。本発明の一実施形態では、インク処理モジュール２２５は、手書きのストロークを電子インクとしてレンダリングするための異なるタスクを行うソフトウェアモジュールの集合であることが可能である。例えば、スタイラス−インクモジュール２２８が、一連の手書きのストロークに関するスタイラスの位置および角を記述するデータを受け取ることが可能である。スタイラス−インクモジュール２２８は、電子インクをレンダリングするためにそのデータを解釈することができる。ジェスチャ認識装置２３０や単語認識装置２３５などの他のソフトウェアモジュールが、ある手書きのストロークを識別し、そのストロークに特定の意味を割り当てるように設計されていることが可能である。例えば、線を引いて消す（ｃｒｏｓｓ−ｏｕｔ）などのあるジェスチャが認識され、その他の編集プロセスに関連付けられることが可能である。また、インク処理モジュール２２５は、以前にレンダリングされている電子インクを除去するための消去機能モジュール２４０も含むことが可能である。
【００２０】
インク処理モジュールは、当技術分野で周知であり、電子タブレットが機能するために必要であるが、手書き処理技術の利点を利用する新しいドキュメント編集モジュールが、ワシントン州レッドモンドのマイクロソフトコーポレーションによって開発されている。このモジュール（すなわち、ドキュメントエディタ）は、電子手書き技術の機能を活用してより効果的かつより効率的にメモを取ることを可能にする自由形式ドキュメントエディタである。具体的には、ドキュメント編集モジュール２０５が、電子インクを操作することを容易にして、ユーザが、より簡単により巧妙に電子ドキュメント２２０を作成し、変更することができるようにする。ドキュメント編集モジュール２０５は、通常、モニタ２７０上にレンダリングされた電子インクを制御し、操作するためのソフトウェアモジュールの集合を含む。例えば、構文解析モジュール２１０を使用して、編集するためにユーザによって選択された手書きのストロークを特定することが可能である。選択されたストロークがハイライトされて、または網掛けされて、どのストロークが編集されるのかをユーザが確認するのを助けることが可能である。分類（ｃｌａｓｓｉｆｉｅｒ）モジュール２１５が、ある手書きのストロークを語および描画の一部として識別することができ、またそれに応じてドキュメントオブジェクトを指定することが可能である。レイアウトモジュール２１６や衝突解決モジュール２１７などのソフトウェアモジュールは、オブジェクトがページ上でどのように動くかを制御するように設計されることが可能である。
【００２１】
本発明の例示的な実施形態は、オブジェクト衝突（コルジョン；ｃｏｌｌｕｓｉｏｎ）を解決することによって電子ドキュメントにおけるレイアウトを管理することに最も直接的に関わるものである。この実施形態の機能は、衝突解決モジュール２１７によって行われること、またはドキュメント編集モジュール２０５の動作に完全に組み込まれることが可能である。図１および図２は、本発明の例示的な実施形態で使用されることを本発明者が企図する環境の一般的な概要を提示している。
【００２２】
図３は、ドキュメントオブジェクトを伴った自由形式電子ドキュメント画面（スクリーン）３００の例示的な実施形態を提示している。ドキュメントオブジェクト３０２は、概要（ｏｕｔｌｉｎｅ）オブジェクトであり、概要見出し３１０および概要テキスト３１２を含む。概要オブジェクトの下には、描画オブジェクト３０６があり、そのオブジェクトの下には、見出し３１４、および項目リスト３１６を含むテキストオブジェクト３０８がある。概要オブジェクト３０２の右側には、手書きオブジェクト３０４がある。手書きオブジェクト３０４は、スタイラスと電子タブレットを使用してドキュメントに追加されることが可能なオブジェクトを例示している。以上４つのオブジェクトのそれぞれをページ上で動かすこと、サイズ変更をすること、または編集することができ、あるいは新しいオブジェクトをページに追加することができる。図３は、矩形の境界を有するドキュメントオブジェクトを描いている。オブジェクト境界は、オブジェクトのコンテンツ（内容）と同一の広がりを持つ（ｃｏ−ｅｘｔｅｎｓｉｖｅ）と定義することも可能であることが、当分野の技術者には理解されよう。
【００２３】
図４は、概要オブジェクト４０２、手書きオブジェクト４０４、描画オブジェクト４０６、およびテキストオブジェクト４０８を有する例示的な自由形式電子ドキュメント画面４００を提示している。この画面は、図３に描いた画面と同様である。ただし、図４では、例えば、キーボードを使用することにより、概要オブジェクト４０２が変更されており、概要オブジェクトにテキスト（文字）が追加されていることを示している。テキストが概要に追加されたことで、概要オブジェクト４０２は大きくなり、描画オブジェクト４０６に重なり合った。この重なり合いは、斜線が付けられた領域４１０で描かれている。この重なり合いは、ドキュメント衝突の結果である。重なり合い以外の衝突規則として、例えば、あるオブジェクトが別のオブジェクトに接近したある距離範囲内に入った時点を使用することも可能であることは、当分野の技術者には理解されよう。
【００２４】
本発明の例示的な実施形態では、ドキュメントページが変更されるたびに毎回、ドキュメントオブジェクト衝突が生じたかどうかの判定が行われる。変更には、オブジェクトを編集すること（図４に例示する）、オブジェクトのサイズを変更すること、オブジェクトを動かすこと、またはオブジェクトを追加することが含まれる。ドキュメントオブジェクト衝突が判定された場合、解決プロセスが起動される。
【００２５】
図４のドキュメントオブジェクトの重なり合いを表わす斜線を付けられた領域４１０は、幅「Ｘ」４１４および高さ「Ｙ」４１２を有する。本発明の例示的な実施形態では、衝突を解消するために描画オブジェクト４０６を動かすのに必要な最短距離が測定される。本発明の一実施形態では、衝突は、リアルタイムで解消され、その編集された、動かされた、サイズ変更された、または追加されたオブジェクトによって衝突されたオブジェクトは、その最短距離だけ動かされる。図４に例示した衝突では、衝突領域４１０の高さ４１２は、その領域の幅４１４より小さく、したがって、衝突を解消するために描画オブジェクト４０６が動くことができる最短距離は、Ｙで表わされる距離である。したがって、本発明の例示的な実施形態では、オブジェクトは、まっすぐ下方に動かされる。図４の例は、矩形のボックスで境界が表わされるオブジェクト間の衝突を描いている。別の実施形態では、オブジェクトの境界は、オブジェクトのコンテンツの境界によって画定されることが可能であることが、当分野の技術者には認められよう。その場合、衝突規則は、あるオブジェクトのコンテンツが別のオブジェクトのコンテンツに重なり合った時点を衝突として定義することが可能である。
【００２６】
図５は、図４に示した衝突が、本発明の例示的な実施形態によって解決された後に現れることが可能な例示的な自由形式電子画面５００を描いている。概要オブジェクト５０２にテキストが追加されたときに描画オブジェクト５０６と衝突した概要オブジェクト５０２が、衝突の生じたときと同じ位置に留まることが可能である。衝突された描画オブジェクト５０６は、グレー陰影付の（図示しない）ボックス５０８で描かれたページ上の衝突前の位置から、破線ボックス５０６で描かれた新しい場所に、ページ上でまっすぐ下方に動く。この例では、図４に描かれた最初の衝突が解消され、その結果もたらされた動きにより、描画オブジェクト５０６とテキストオブジェクト５１０の間で２次的な衝突を引き起こした。この衝突は、図５に斜線を付けて示す重なり合いの領域５１２で示されている。本発明の例示的な実施形態では、最初の衝突を解消した後、その解消がさらなる衝突をもたらしたかどうかを判定する。さらなる衝突が発見・確認（ｉｄｅｎｔｉｆｙ）された場合、そのさらなる衝突が解決される。衝突を判定し、解決するこのプロセスは、もはや衝突が存在しなくなったときに終了する。
【００２７】
図６は、図５に示した２次的な衝突が、本発明の例示的な実施形態によって解決された後に現れることが可能な例示的な自由形式ドキュメント画面６００を描いている。最初の衝突が解決され後、テキストオブジェクト６０８と衝突した描画オブジェクト６０６は、２次的な衝突が生じたときと同じ位置に留まることが可能である。テキストオブジェクト６０８は、グレー陰影付きの（図示しない）ボックス６１０で描かれたページ上の衝突前の場所から、破線ボックス６０８で描かれた新しい場所に、ページ上でまっすぐ下方に動かされることが可能である。概要オブジェクト６０２および手書きオブジェクト６０４は、この衝突解決による影響を受けないことが可能である。
【００２８】
図７は、概要オブジェクト７０２、手書きオブジェクト７０４、描画オブジェクト７０６、およびテキストオブジェクト７０８を有する例示的な自由形式電子ドキュメント画面７００を提示している。図７は、描画オブジェクト７０６とテキストオブジェクト７０８の間の衝突後の自由形式画面を描いている。この衝突は例えば、描画オブジェクト７０６のサイズを大きくすることにより、発生した可能性がある。オブジェクトのサイズ変更を含むページ変更の後、本発明は、衝突が存在すれば、その衝突を発見・確認（ｉｄｅｎｔｉｆｙ）するレイアウト走査（ｌａｙｏｕｔ　ｐａｓｓ）を行う。図７の例では、重なり合いの領域７１０が、衝突の結果を表わす。本発明の例示的な実施形態は、重なり合いの領域の幅Ｘ　７１２をその重なり合いの領域の高さＹ　７１４と比較する。図７の例示では、ＸがＹより小さく、このことは、衝突を解消するためのより短い距離は、側方であること、すなわち、テキストオブジェクト７０８を右側に動かすことが、そのオブジェクトを、描画オブジェクト７０６とテキストオブジェクト７０８の間の衝突を解消しながら、最短距離だけ動かすことを意味する。図７は、矩形の境界を有するドキュメントオブジェクトを描いている。オブジェクト境界は、オブジェクトのコンテンツと同じ広がりをもつと定義してもよく、衝突規則は、あるオブジェクトのコンテンツが別のオブジェクトのコンテンツと重なり合った時点を衝突と定義することも可能であることが、当分野の技術者には理解されるであろう。
【００２９】
図８は、図７に示した衝突が解決された後に現れることが可能な例示的な自由形式電子画面８００を描いている。テキストオブジェクト８０８が、グレーの陰影付きの（図示しない）ボックス８１０で描かれたページ上の衝突前の場所から、破線ボックス８０８で描かれた新しい場所にまっすぐに右に動かされる。概要オブジェクト８０２および手書きオブジェクト８０４は、この衝突解決による影響を受けないことが可能である。図８に描いた例示的な解決は、テキストオブジェクト８０８の結果の場所が、完全に電子画面８００内にあることを示している。本発明の例示的な実施形態では、衝突解決を受けて、側方に動かされたオブジェクトの部分が、１インチ（２．５４ｃｍ）より少ない幅で画面上に留まる場合にだけ、そのオブジェクトが、側方に動かされないことが可能である。代わりに、そのオブジェクトは、元の場所からまっすぐ下方に動かされることが可能である。画面境界から部分的に、または完全に外に出るオブジェクトを管理するための様々な規則を確立することが可能であることが、当分野の技術者には理解されるであろう。
【００３０】
本発明の例示的な実施形態は、オブジェクトの元の位置（原位置）に関する情報を保持することが可能である。衝突解決動作により、オブジェクトが動かされ、後にオブジェクトを編集すること、動かすこと、またはサイズ変更することにより、動かされたオブジェクトの元の位置が開放された場合、すなわち、そのドキュメントオブジェクトによって元々、占められていたドキュメントページのスペースに他のドキュメントオブジェクトが全くなくなった場合、そのオブジェクトを元の場所に戻すことができる。図９は、図８に描いた衝突解決を使用してオブジェクトを元の位置に戻すことを例示する例示的な自由形式電子ドキュメント画面９００を提示している。図９は、図８の衝突を生じさせた描画オブジェクト８０６が移動された、または削除された後の画面レイアウトを示している。この場合、テキストオブジェクト９０６は、図９のグレー陰影付きのボックス（図示しない）で示された衝突前の場所に戻る。
【００３１】
図１０は、ドキュメントオブジェクト衝突を解消するための例示的な方法を描いた流れ図である。この方法は、開始ブロック１０００で開始し、判定ブロック１００２に進み、既存のオブジェクトをサイズ変更すること、編集すること、または動かすこと、あるいは新しいドキュメントオブジェクトを追加することによって生じさせられたレイアウト変更が検出されるかどうかを判定する。レイアウト変更が検出された場合、ステップ１００４で、レイアウト走査がドキュメントエディタによって行われ、ステップ１００６に進む。レイアウト変更が検出されなかった場合、方法は、終了ブロック１０２４に分岐し、終了する。判定ブロック１００６で、レイアウト変更により衝突がもたらされたかどうかの判定が行われる。衝突が生じていない場合、方法は、終了ブロック１０２４に分岐し、終了する。レイアウト変更から衝突がもたらされている場合、方法は、ステップ１００８に進む。
【００３２】
ステップ１００８で、オブジェクトの元の場所（原位置）が記録される。また、ステップ１００８で、衝突を解消するのに第２のオブジェクト（レイアウト変更の結果、衝突されたオブジェクト）を動かす必要があるページの横（左右）方向における距離、およびページの縦方向における距離が測定される。判定ステップ１０１０により、横方向の距離が、縦（上下）方向の距離に等しいか、それより大きいと判定された場合、ステップ１０１２として、オブジェクトは、まっすぐ下方に動かされる。そのように判定されなかった場合、ステップ１０１４として、オブジェクトは、まっすぐ側方に動かされる。判定ブロック１０１６で、本発明のこの例示的な実施形態では、オブジェクトを側方に動かすことにより、そのオブジェクトが画面（スクリーン）の外に出されたかどうかを判定する。例えば、画面上にあると見なされるのには、オブジェクトは、最低限、１インチ（２．５４ｃｍ）の幅で画面の境界内に存在していなければならない。衝突の解決が、オブジェクトを画面の外に出した場合には、ステップ１０１８として、そのオブジェクトは、代わりに、衝突前の場所からまっすぐ下方に動かされる。オブジェクトが画面上に留まる場合には、方法は、ステップ１０２０に進み、オブジェクトが側方に動かされたままになる。オブジェクトが、衝突を解消することの一環として動かされた後、方法は、ステップ１０２２で、最初の衝突を解消するためにオブジェクトを動かしたことからもたらされた２次的な衝突も含め、他の衝突が存在するかどうかを判定する。さらなる衝突が存在する場合、上記プロセスが繰り返され、ステップ１００８で開始される。さらなる衝突が存在しない場合、方法は、終了ブロック１０２４に分岐し、終了する。一実施形態では、本発明は、ページが、その後に変更され、その変更により、オブジェクトが、新しい衝突を生じさせることなしに元の場所に戻ることが可能になっている場合、移動されたオブジェクトを元の場所（原位置）に戻す。
【００３３】
本発明の代替の実施形態では、衝突を解消するためにオブジェクトを動かすことが所望されない可能性がある。この代替の実施形態は、図を参照して最もよく説明することができる。図１１は、４つのオブジェクト、描画オブジェクト１１０２、手書きオブジェクト１１０４、概要オブジェクト１１０６、およびテキストオブジェクト１１０８を有する例示的な自由形式電子ドキュメント画面１１００を描いている。以上のオブジェクトは、編集すること、サイズ変更すること、動かすこと、削除することが可能であり、あるいは新しいオブジェクトをページに追加することができる。本発明のこの代替の実施形態では、ドキュメントオブジェクトが、概要オブジェクトの上に移動される、概要オブジェクトの空のスペースに追加される、あるいは「衝突することができない」ものとして手作業で指定されたオブジェクトが、衝突が生じた際に動かされない。以上３つのケースで、本発明の代替の実施形態は、衝突が解消される必要がある場合に、オブジェクトを動かさないことを意味するものと、方法によって認識される指定でそれらオブジェクトを符号化する。衝突後にオブジェクトを動かすかどうかを決定するための様々な衝突規則を確立すること、例えば、ドキュメントオブジェクトを「衝突することができないもの」と指定することが可能であることが、当分野の技術者には理解できるであろう。概要オブジェクト１１０６は、タイトル１１１０、マルチレベルテキスト構造１１１２、および空のスペース１１１４により特徴づけられている。
【００３４】
図１２は、図１１に描いたものと同じ自由形式電子ドキュメント画面を描いている。ただし、手書きオブジェクト１２０４が、概要オブジェクト１２０６の上に移動されている。手書きオブジェクトの元の場所は、グレー陰影付き（図示しない）の領域１２１０で表わされている。手書きオブジェクト１２０４が概要オブジェクト１２０６の上に移動されると、手書きオブジェクト１２０４の特性は、「衝突することができない」ものとして本発明の代替の実施形態によって指定されるようになる。あるオブジェクトが編集され、サイズ変更され、動かされ、または追加されて手書きオブジェクト１２０４に重なり合った場合に、その衝突は、解消されることはない。
【００３５】
図１３は、本発明のこの代替の実施形態が解決しない可能性がある衝突を例示している。ドキュメント編集中、描画オブジェクト１３０２がサイズ変更されて、手書きオブジェクト１３０４に重なり合うが、概要オブジェクト１３０６には重なり合わない。重なり合いの領域は、斜線を付けた領域１３１０で描いている。手書きオブジェクト１３０４が、概要オブジェクト１３０６の上に移動されても、「衝突することができない」ものと指定されていたので、本発明の代替の実施形態は、このオブジェクトを動かさない。ただし、サイズ変更により、描画オブジェクト１３０２が概要オブジェクト１３０６と重なり合うことが生じさせられた場合、その衝突は解消され、概要オブジェクト１３０６と手書きオブジェクト１３０４が１つのオブジェクトとして動かされる。
【００３６】
図１４は、ドキュメントオブジェクト衝突を解消するための例示的な方法を描いた流れ図である。この方法は、開始ブロック１４００で開始し、判定ブロック１４０２に進み、既存のオブジェクトをサイズ変更すること、編集すること、または動かすこと、あるいは新しいドキュメントオブジェクトを追加することによって生じさせられたレイアウト変更が検出されるかどうかを判定する。レイアウト変化が検出された場合、ステップ１４０４で、ドキュメントエディタによってレイアウト走査が行われ、判定ブロック１４０６へ進む。レイアウト変更が検出されなかった場合、方法は、終了ブロック１４２６に分岐し、終了する。判定ブロック１４０６で、レイアウト変更により衝突がもたらされたかどうかの判定が行われる。衝突が生じていない場合には、方法は、終了ブロック１４２６に分岐し、終了する。レイアウト変更により衝突がもたらされている場合、方法は、判定ブロック１４０８に進む。判定ブロック１４０８で、方法は、そのドキュメントオブジェクトが、衝突することができないものと指定されているかどうかを判定する。オブジェクトが、衝突することができないものと指定されている場合、方法は、終了ブロック１４２６に分岐し、終了する。指定されていない場合、方法は、ステップ１４１０に分岐する。
【００３７】
ステップ１４１０で、オブジェクトの元の場所（原位置）が記録される。またステップ１４１０で、衝突を解消するのに第２のオブジェクト（レイアウト変更の結果、衝突されたオブジェクト）を動かす必要があるページの横方向（左右方向）における距離、およびページの縦方向（上下方向）における距離が測定される。判定ステップ１４１２により、横方向の距離が、縦方向の距離に等しいか、またはそれより大きいと判定された場合、ステップ１４１４として、オブジェクトは、まっすぐ下方に動かされる。そのように判定されなかった場合は、オブジェクトは、ステップ１４１６として、まっすぐ側方に動かされる。判定ブロック１４１８で、本発明のこの代替の実施形態は、オブジェクトを側方に動かすことにより、そのオブジェクトが画面の外に出されたかどうかを判定する。例えば、画面上にあると見なされるのには、オブジェクトは、最低限、１インチ（２．５４ｃｍ）の幅で画面の境界内に留まっていなければならない。衝突の解決により、オブジェクトが画面の外に出された場合、ステップ１４２０として、そのオブジェクトは、代わりに、衝突前の場所（原位置）からまっすぐ下方に動かされる。オブジェクトが画面上に留まる場合、方法は、ステップ１４２２に進み、オブジェクトが側方に動かされたままである。オブジェクトが、衝突を解消することの一環として動かされた後、方法は、ステップ１４２４で、最初の衝突を解消するためにオブジェクトを動かしたことからもたらされた２次的な衝突も含め、他の衝突が存在するかどうかを判定する。さらなる衝突が存在する場合、プロセスが繰り返され、ステップ１４０８が開始される。さらなる衝突が存在しない場合、方法は、終了ブロック１４２６に分岐し、終了する。一実施形態では、本発明は、ページが、その後に変更され、その変更により、オブジェクトが、新しい衝突を生じさせることなしに、元の場所に戻ることが可能になっている場合には、移動されたオブジェクトを元の場所に戻す。
【図面の簡単な説明】
【図１】本発明の実施形態を実施するための例示的な動作環境を示すブロック図である。
【図２】例示的な自由形式ドキュメントエディタおよび関連する入力デバイスの主な機能構成要素を描いたブロック図である。
【図３】ドキュメントオブジェクトを含む例示的な電子ドキュメント画面を描いたブロック図である。
【図４】ドキュメントオブジェクトを含み、衝突を例示する例示的な画面を描いたブロック図である。
【図５】ドキュメントオブジェクトを含み、関連する２次的な衝突を伴う衝突を解消することを例示する例示的な画面を描いたブロック図である。
【図６】ドキュメントオブジェクトを含み、２次的な衝突を解消したことを例示する例示的な画面を描いたブロック図である。
【図７】ドキュメントオブジェクトを含み、異なる衝突を例示する例示的な画面を描いたブロック図である。
【図８】ドキュメントオブジェクトを含み、オブジェクトを側方に動かすことによって衝突を解消することを示す例示的な画面を描いたブロック図である。
【図９】ドキュメントオブジェクトを含み、衝突を解消した結果として動かされたオブジェクトが元の位置に戻ることを例示する例示的な画面を描いたブロック図である。
【図１０】電子ドキュメント画面上の衝突を発見・確認し、解消するための本発明の１つの例示的な実施形態で採用された処理手順を例示する流れ図である。
【図１１】本発明の代替の例示的な実施形態に関するドキュメントオブジェクトを含む画面を描いたブロック図である。
【図１２】ドキュメントオブジェクトを含み、オブジェクトを概要オブジェクトの上に動かすことを例示する例示的な画面を描いたブロック図である。
【図１３】ドキュメントオブジェクトを含み、「衝突することができない」ものと特徴付けられたオブジェクトとの衝突を例示する例示的な画面を描いたブロック図である。
【図１４】本発明の代替の実施形態を使用して電子ドキュメント画面上の衝突を確認し、解消するためにとられる処理手順を例示する流れ図である。
【符号の説明】
２００　入力デバイスのアーキテクチャ
２０５　ドキュメント編集モジュール
２１０　構文解析モジュール
２１５　分類モジュール
２１６　レイアウトモジュール
２１７　衝突解決モジュール
２２０　電子ドキュメント
２２５　インク処理モジュール
２２８　スタイラス−インクモジュール
２３０　ジェスチャ認識装置
２３５　単語認識装置
２４０　消去機能モジュール
２４５　記憶装置
２５０　タブレット
２５５　スタイラス
２６０　キーボード
２６５　ポインティングデバイス
２７０　モニタ
２７５　リッチ編集モジュール
【図１】
2004046858.tif 000003
【図２】
2004046858.tif 000004
【図３】
2004046858.tif 000005
【図４】
2004046858.tif 000006
【図５】
2004046858.tif 000007
【図６】
2004046858.tif 000008
【図７】
2004046858.tif 000009
【図８】
2004046858.tif 000010
【図９】
2004046858.tif 000011
【図１０】
2004046858.tif 000012
【図１１】
2004046858.tif 000013
【図１２】
2004046858.tif 000014
【図１３】
2004046858.tif 000015
【図１４】
2004046858.tif 000016