(57)【要約】      （修正有）【課題】第１のズームレベルから第２のズームレベルに変更されて電子ドキュメントを表示するとき、テキストを再配置する方法が提供される。【解決手段】テキストを再配置する行の長さは、水平方向にスクロールする必要がないように選択される。再配置は、ドキュメントのレイアウト変更を生じさせるかもしれないので、電子ドキュメントの要素を識別し、ズームインまたはズームアウト操作後にディスプレイに要素が含まれることを確保する。【選択図】図５
2014170563.tif 000002
【特許請求の範囲】
【請求項１】
デバイスに含まれるディスプレイ画面上の電子ドキュメントの選択された領域を表示する際に実行される動的テキスト配置方法であって、
ドキュメントをメモリデバイスにロードするステップと、
プロセッサが、前記ドキュメントのレイアウトを決定するステップと、
決定されたレイアウトに従って前記ドキュメント中のテキストを配置し、第１の解像度で、かつ、決定されたレイアウトに従って少なくとも前記ドキュメントの一部をディスプレイ画面上表示するステップと、
第２の解像度で前記ドキュメントを表示するためのコマンドを表すユーザ入力を受信するステップと、
プロセッサが、前記第２の解像度で使用される最大行長さに基づいて、前記ドキュメント中の少なくとも幾つかのテキストを再配置するステップと、
プロセッサが、少なくとも幾つかのテキストが再配置された後、前記ドキュメントのレイアウトを決定するステップと、
前記第２の解像度で再配置されたテキストを含む前記ドキュメントの少なくとも一部をディスプレイ画面上に表示する第２解像度表示ステップと、
を備えた動的テキスト配置方法。
【請求項２】
前記最大行長さが、前記デバイスのディスプレイ画面の幅によって規定される、請求項１に記載の動的テキスト配置方法。
【請求項３】
前記最大行長さが、環境設定ファイルで規定される、請求項１に記載の動的テキスト配置方法。
【請求項４】
前記最大行長さが、前記ドキュメントが表示されるウィンドウの幅によって規定される、請求項１に記載の動的テキスト配置方法。
【請求項５】
前記第２の解像度は、１次元に沿った、オリジナルドキュメントのピクセルに対するハードウエアディスプレイのピクセルの比として定義され、オリジナルドキュメントの解像度の観点から前記最大行長さは、前記比によって分割されたハードウエアピクセルにおけるディスプレイウィンドウの幅として決定される、請求項１に記載の動的テキスト配置方法。
【請求項６】
第２の解像度で前記ドキュメントを表示するコマンドを表す前記ユーザ入力は、前記ドキュメントの要素を識別するために使用される情報を含み、前記第２解像度表示ステップは、前記ディスプレイ画面における所定の位置で前記識別された要素を位置決めするステップを含む、請求項１に記載の動的テキスト配置方法。
【請求項７】
電子ドキュメントを表示するように構成された、電子ドキュメントの関心領域を選択し、表示するためのコンピュータデバイスであって、
ディスプレイ画面と、
ユーザ入力インタフェースと、
電子ドキュメントを受信するように構成された通信インタフェースと、
受信したドキュメントがロードされることが可能なメモリと、
プロセッシングユニットと、
を備え、
前記プロセッシングユニットは、
ドキュメントをロードし、
前記ドキュメントのレイアウトを決定し、前記ドキュメントのテキストは、決定された
前記レイアウトに従って配置され、
前記ドキュメントの少なくとも一部は、第１の解像度で、かつ、決定された前記レイアウトに従ってディスプレイ画面に表示され、
第２の解像度で前記ドキュメントを表示するためのコマンドを表すユーザ入力を受信し、
前記第２の解像度で使用される最大行長さに基づいて、前記ドキュメントのテキストの少なくとも幾つかを再配置し、
少なくとも幾つかのテキストが再配置された後、前記ドキュメントのレイアウトを決定し、
前記第２の解像度で再配置された前記テキストを含む前記ドキュメントの少なくとも一部をディスプレイ画面上に表示する、
ように構成されたコンピュータデバイス。
【請求項８】
前記最大行長さが、前記コンピュータデバイスの前記ディスプレイ画面の幅によって規定される、請求項７に記載のコンピュータデバイス。
【請求項９】
前記最大行長さが、環境設定ファイルで規定される、請求項７に記載のコンピュータデバイス。
【請求項１０】
前記最大行長さが、前記ドキュメントが表示されるウィンドウの幅によって規定される、請求項７に記載のコンピュータデバイス。
【請求項１１】
前記第２の解像度は、１次元に沿った、オリジナルドキュメントのピクセルに対するハードウエアディスプレイのピクセルの比として定義され、オリジナルドキュメントの解像度の観点から前記最大行長さは、前記比によって分割されたハードウエアピクセルにおけるディスプレイウィンドウの幅として決定される、請求項７に記載のコンピュータデバイス。
【請求項１２】
第２の解像度で前記ドキュメントを表示するコマンドを表す前記ユーザ入力は、前記ドキュメントの要素を識別するために使用される情報を含み、前記第２の解像度で前記ドキュメントを表示するステップは、前記ディスプレイ画面における所定の位置で前記識別された要素を位置決めするステップを含む、請求項７に記載のコンピュータデバイス。
【請求項１３】
コンピュータ上で実行されたとき、以下のステップを実行する命令を備えたコンピュータプログラムが記憶された、コンピュータ読み込み可能記憶媒体であって、
前記ステップは、
ドキュメントをメモリデバイスのロードするステップと、
前記ドキュメントのレイアウトを決定するステップと、
第１の解像度で、かつ、決定された前記レイアウトに従ってディスプレイデバイスに前記ドキュメントの少なくとも一部を表示するステップと、
第２の解像度で前記ドキュメントを表示するためのコマンドを表すユーザ入力を受信するステップと、
前記第２の解像度で使用される最大行長さに基づいて前記ドキュメントの少なくとも幾つかのテキストを再配置するステップと、
前記テキストの少なくとも幾つかが再配置された後、前記テキストのレイアウトを決定するステップと、
前記第２の解像度で再配置されたテキストを含む前記ドキュメントの少なくとも一部をディスプレイデバイスに表示するステップと、
である、コンピュータ読み込み可能記憶媒体。
【請求項１４】
前記最大行長さが、ディスプレイデバイスの幅によって規定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１５】
前記最大行長さが、環境設定ファイルによって規定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１６】
前記最大行長さが、前記ドキュメントが表示されるウィンドウの幅によって規定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１７】
前記第２の解像度は、１次元に沿った、オリジナルドキュメントのピクセルに対するハードウエアディスプレイのピクセルの比として定義され、オリジナルドキュメントの解像度の観点から前記最大行長さは、前記比によって分割されたハードウエアピクセルにおけるディスプレイウィンドウの幅として決定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１８】
第２の解像度で前記ドキュメントを表示するコマンドを表す前記ユーザ入力は、前記ドキュメントの要素を識別するために使用される情報を含み、前記第２の解像度で前記ドキュメントを表示するステップは、前記ディスプレイデバイスにおける所定の位置で前記識別された要素を位置決めするステップを含む、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスのディスプレイ上に電子ドキュメントを表示することに関し、特に、例えばドキュメント内の特定の領域を選択し、その選択された領域内のテキストを動的に配置し、再描画する方法に関する。
【０００２】
また、本発明は、その方法に従って動作するように構成されたデバイスと、そのデバイス内の１以上のプロセッシングユニットによって実行されたときその方法を遂行する命令を備えたプログラムと、にも関する。
【背景技術】
【０００３】
例えばウエブページなどの電子ドキュメントは、標準サイズのディスプレイを備えた標準のデスクトップコンピュータに表示されるように、多くの場合デザインされる。そのような電子ドキュメントが、例えばハンドヘルドデバイス、携帯電話、テレビ、または、ゲームのコンソールなどの他のデバイスに表示されたとき、ディスプレイのサイズとレイアウトによっては、ユーザに便利なようにその電子ドキュメントを表示できないかもしれない。これに対処するために、様々な方法が提案されている。提案されている方法は、表示される前に画面にフィットするように、通常、電子ドキュメントを変更する。この変更は、通常、その画面に固有の特性やサイズに合わないレイアウトや内容を削除することを含んでいる。そのような方法に共通の問題は、ユーザにとって使用できないように、または、認識できないようにレンダリングされるかもしれないことや、あるいは、ユーザが、電子ドキュメント内を読み進むことが困難になるかもしれないことである。
【０００４】
他の方法としては、例えば、画像のサイズを縮小すること、電子ドキュメントのレイアウトを変更することによって欄の数を少なくすること、色、コントラスト、明るさ、フォントサイズを変更することなどの、電子ドキュメントの一部を移動することやサイズを変更することを含む。最近人気が上昇している方法は、最初は、作者によって本来デザインされたように電子ドキュメントを十分表示し、そして、ページ上の特定の領域や要素を表示するための拡大、縮小方法を提供することである。そのような方法は、しばしば直感的に理解しやすくユーザフレンドリーであるが、特にテキストを処理する際には、欠点が無いわけではない。例えば、テキストブロックが、非常に広い場合、テキストを読むためには、水平方向にスクロールすることが必要になるかもしれない。これを避けるために、ズームインした後、デバイスの画面内に収まるように、狭い欄内に全てのテキストを再配置することが提案された。これは、もちろん、そのページの作者によって作成されたオリジナルのレイアウトを変更し、ドキュメントを垂直方向に実質的に長くする結果になる。
【０００５】
したがって、これらの欠点を解消することができ、小さい画面上にドキュメントを表示する、よりスムースで、ユーザフレンドリーな方法をもたらすことができる、手法が必要である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願  11/525,177
【非特許文献】
【０００７】
【非特許文献１】Cascading Styles Sheets (CSS), level 2 revision 1, the World Wide Web Consortium(W3C), http://www.w3.org/TR/CSS21/
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、電子ドキュメントの選択された領域を表示する際に、ディスプレイの性能に適応した形で動的にテキストを配置する方法を提供する。
【課題を解決するための手段】
【０００９】
この方法は、ドキュメントを読み込むステップと、決定されたレイアウトにしたがってドキュメント中のテキストが配置されるようにドキュメントのレイアウトを決定するステップと、決定されたレイアウトにしたがって第１の解像度でディスプレイ画面上のドキュメントの少なくとも一部を表示するステップと、第２の解像度でドキュメントを表示するためのコマンドのユーザからの入力を受信するステップと、第２の解像度に関連づけられた最大の行の長さに基づいてドキュメント中の少なくともいくつかのテキストを再配置するステップと、関連のあるテキストが再配置された後にドキュメントのレイアウトを決定するステップと、第２の解像度で再配置されたテキストと一緒にディスプレイの画面上にドキュメントの少なくとも一部を表示するステップと、を含んでいても良い。
【００１０】
最大の行長さは、そのドキュメントが表示されるウィンドウの幅に基づいて、または、環境設定ファイルに保存された情報である、デバイスのディスプレイの画面の幅によって規定されても良い。本発明の実施形態によれば、最大の行長さは、１次元に沿った、ハードウエアディスプレイのピクセルのオリジナルドキュメントのピクセルに対する比として規定され、オリジナルドキュメントの解像度を単位として最大の行長さが、（ハードウエアのピクセルを単位として）その比によって割られたディスプレイウィンドウの幅として決定される。
【００１１】
本発明の実施形態によれば、第２の解像度でドキュメントを表示するためのコマンドのユーザによる入力は、ドキュメント内の要素を特定するために使用されることができ、第２の解像度でドキュメントを表示するステップは、ディスプレイ中の所定の位置に特定された要素を位置決めするステップを含む。解像度の比を増加（ズームイン）、減少（ズームアウト）したときに、テキストの再配置によって、たとえレイアウトが実質的に変更されても、ユーザがドキュメントの同じ部分を見ることが出来るようにするために、これは使用される。
【００１２】
本発明によれば、コンピュータデバイスは、デバイスのディスプレイ上の電子ドキュメント中の興味のある領域を選択し、表示するための電子ドキュメントを表示するように設定され、ディスプレイと、ユーザ入力インタフェースと、電子ドキュメントを受信することが出来る通信インタフェースと、受信されたドキュメントがロードされるメモリデバイスと、モジュールとを含み、前記モジュールは、ドキュメントをロードするステップと、ドキュメントのレイアウトを決定するステップと、文章中のテキストが配置される決定されたレイアウトにしたがって第１の解像度でディスプレイの画面上のドキュメントの少なくとも一部を表示するステップと、第２の解像度でドキュメントを表示するためのコマンドのユーザからの入力を受信するステップと、第２の解像度に関連づけられた最大の行の長さに基づいてドキュメント中の少なくともいくつかのテキストを再配置するステップと、関連のあるテキストが再配置された後にドキュメントのレイアウトを決定するステップと、第２の解像度で再配置されたテキストと一緒にディスプレイの画面上にドキュメントの少なくとも一部を表示するステップと、を実行するように構成される。
【００１３】
前記コンピュータデバイスは、本発明の方法の追加のステップを実行するように更に構成されていても良い。
【００１４】
最後に、本発明において、コンピュータに読み込み可能な記憶媒体に保存されたコンピュータプログラムが、コンピュータデバイスにロードされ実行されたとき、本発明の原理にしたがって動的にテキストを配置する方法を実行することが出来る命令を含んでいても良い。
【図面の簡単な説明】
【００１５】
【図１】本発明の様々な特徴を実装するために使用されるコンピュータデバイスの略図である。
【図２】本発明と連動して使用されるユーザエージェントアプリケーションの様々なモジュールを表した図である。
【図３Ａ】電子ドキュメントのレイアウトと、ブラウザウインドウ内でのその表示を示した図である。
【図３Ｂ】電子ドキュメントのレイアウトと、ブラウザウインドウ内でのその表示を示した図である。
【図３Ｃ】電子ドキュメントのレイアウトと、ブラウザウインドウ内でのその表示を示した図である。
【図４Ａ】電子ドキュメントのレイアウトがどのように、いくつかのレイアウトボックスを生じさせるかを示した図である。
【図４Ｂ】電子ドキュメントのレイアウトがどのように、いくつかのレイアウトボックスを生じさせるかを示した図である。
【図５】関心領域が、本発明に基づいて、どのように特定され、どのように表示されるかを示した図である。
【図６】本発明の方法を説明するフロー図である。
【発明を実施するための形態】
【００１６】
本発明は、添付の図を参照して更に詳細について説明される。本発明は、多くの異なった形態で具現化されることができ、ここで説明される実施形態に限定して解釈されてはならない。これらの実施形態は、この技術の分野における通常の知識を有するものに本発明の完全な理解を与えるために例として提供されたものである。
【００１７】
インターネットとワールド・ワイド・ウエブ上において、内容を作り出し、書式を整え、送信し、表示するための特定の基準と書式とに、実施例は言及するが、本発明は、ここで述べた特定の基準に限定されるように解釈してはならないことが特に理解されるべきである。
【００１８】
図１は、汎用のコンピュータデバイス１００を表しており、それは、本発明の様々な特徴を実装するための環境として使用されることができる。図１において、デバイス１００は、中央演算処理デバイス（ＣＰＵ）１０１、メモリ１０２、ＣＯＭポートまたは入力／出力ポート（Ｉ／Ｏポート）１０３、ビデオインタフェース１０４、ネットワークインタフェース１０５を含む。これらのユニットは、システムバス１０６経由で互いに通信する。
【００１９】
メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードドライブ、または、他の固定、リムーバブルメモリの組み合わせを含んでもよい）は、システムの様々なソフトウエアコンポーネントを保存する。それは、例えば、基本入出力システム（ＢＩＯＳ）１４１、オペレーティングシステム１４２、アプリケーションとデバイスドライバを含む様々なコンピュータプログラム１４３、様々なタイプのデータ１４４、マクロとスクリプト１４５のような他の実行可能なファイルや命令などである。
【００２０】
Ｉ／Ｏポート１０３は、１以上のローカルデバイス１１０に接続され、そのローカルデ
バイスには、例えば、キーボードやマウス、リモコンデバイスなどのユーザ入力デバイス、プリンタ、メディアプレーヤ、外部メモリデバイス、そして、衛星利用測位システムレシーバ（ＧＰＳ）やテレビのセットトップボックスなどの特殊用途デバイスがある。Ｉ／Ｏポート１０３は、例えば、ＵＳＢ、ＰＳ／２、ＲＳ−２３２、赤外（ＩＲ）、ブルートゥース、プリンタポート、または、任意の他の標準化された又はローカルデバイス１１０のための専用の通信インタフェースなどの任意の組み合わせであって良い。
【００２１】
ビデオインタフェース１０４は、ディスプレイユニット１２０に接続される。そのディスプレイユニット１２０は、例えば、液晶ディスプレイなどの外部モニタや統合ディスプレイであっても良い。ディスプレイユニット１２０は、タッチセンサ式の画面を有しても良く、その場合は、そのディスプレイユニットは、ユーザ入力デバイスとして２役を演じることができる。ディスプレイユニット１２０でもあるユーザ入力デバイスは、ＣＯＭポート１０３で通信するローカルデバイス１１０の一つとして見なされても良い。
【００２２】
ネットワークインタフェース１０５は、デバイス１００に、リモートデバイス１３０と通信するためにネットワークと接続する能力を提供する。図１において、単に、ネットワークインタフェース１０５をリモートデバイス１３０に接続するラインとして図示されている通信ネットワークは、例えば、ローカルエリアネットワークやインターネットであっても良い。リモートデバイス１３０は、デバイス１００と同様の通信機能を有する任意のコンピュータデバイスであって良いが、一般的には、ネットワークサービスを提供するサーバ、または、他のユニットであっても良い。通信ネットワークは、公的にアクセス可能な任意のネットワークや、任意のネットワークの組み合わせ（インターネット、例えばＧＳＭなどの携帯電話ネットワーク、公衆電話網、有線テレビ放送網、アナログやデジタルの放送や衛星中継を含む）であっても良いことが、当業者によって理解されるであろう。
【００２３】
図１に示されているデバイス１００は、特定の構成や実施形態の寸法やリソースに関して限定されないことが理解されるであろう。図示されている様々なコンポーネントは、デバイス１００の１つ以上の統合されたユニットとして実装されても良く、または、いくつかのユニットに分散されて実装されても良い。他のユニットや他の能力は、もちろん存在しても良い。更に、デバイス１００は、ＰＣや携帯情報端末（ＰＤＡ）、携帯電話、多機能携帯電話（smartphone）、ゲーム機、テレビセットトップボックス、メディアセンター（media center）などの、例えば、汎用のコンピュータであっても良い。
【００２４】
本発明の様々な特徴は、デバイス１００上のアプリケーションとしてインストールされたブラウザやユーザエージェントのコンポーネント及び機能の内のいずれかまたは両方として実現される。図２は、そのようなユーザエージェント中に含まれるいくつかのモジュールの例を示している。それらのモジュールは、ソフトウエアモジュールかソフトウエアに実装された他のものであり、ＣＰＵ１０１によって実行される。    
【００２５】
図２のユーザエージェント２００は、ユーザに、図１に示されるディスプレイユニット１２０上に表示されるユーザインタフェース２０１を提示する。ユーザインタフェース２０１は、アドレスフィールド２０２を含むことができ、ユーザは、入力デバイスを使用して、ユーザエージェント２００に検索をさせたいドキュメント又はサービスのＵＲＩをそのアドレスフィールド２０２に入力する。アドレスフィールド２０２は、例えばマウスや、スクローリングデバイス、その他の表示されたアイテムを選択する手段などのポインティングデバイスを使用するユーザによって表示され、起動されるリンクであっても良い。あるいは、ＵＲＩは、ユーザエージェント２００によってすでにロードされたドキュメントやスクリプトのコードで指定されても良い。
【００２６】
とにかく、ＵＲＩは、ウィンドウマネージャとインプットマネージャ２０３によって受
信されることができ、ウィンドウマネージャとインプットマネージャ２０３は、ユーザエージェント２００の一部であるか又はユーザエージェント２００に関連するユーザインタフェース２０１の入力部分の役割を有する。ＵＲＩは、ドキュメントマネージャ２０４に転送され、ドキュメントマネージャ２０４は、ＵＲＩによって特定される文書の一部として受信されるデータを管理する。
【００２７】
ドキュメントマネージャ２０４は、ＵＲＩをＵＲＩマネージャ２０５に転送し、ＵＲＩマネージャ２０５は、再び通信モジュール２０６に指示して特定されたリソースへのアクセス要求をさせる。通信モジュール２０６は、リモートデバイス１３０にアクセスしてデータを取り出すことが出来、リモートデバイス１３０は、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）や、他のプロトコルであるＨＴＴＰＳ（HTTP over Secure Socket Layer）、ＦＴＰ（File Transfer Protocol）などを使用するネットワークを介して接
続されるサーバなどである。通信モジュール２０６は、ローカルメモリ１０２に保存されているデータにもアクセスすることが出来る。
【００２８】
例えば、ＵＲＩにアクセスするために使用されるプロトコルによって指定される場合のように、もしデバイス１００が、外部への通信を暗号化することを要求される場合、暗号化／復号化モジュール２０７は、ＵＲＬマネージャ２０５と通信モジュール２０６の間の通信を処理する。
【００２９】
要求に応答して、通信ユニット２０６によって受信されたデータは、ＵＲＩマネージャ２０５に転送される。ＵＲＩマネージャ２０５は、ドキュメントキャッシュとイメージキャッシュ２０９を処理するキャッシュマネージャ２０８を使用して、受信した内容のコピーをローカルメモリ１０２に保存する。その後になって同じＵＲＩが要求された場合は、ＵＲＩマネージャ２０５は、キャッシュマネージャ２０８からそれを要求することが出来る。キャッシュされたコピーが削除されてない限りは、キャッシュマネージャ２０８は、キャッシュ２０９からそのデータを回収し、ＵＲＩマネージャ２０５にそれを転送する。同じＵＲＩが２度目に要求されたときは、この場合、リモートデバイス１３０から再度データを回収する必要はない。
【００３０】
ＵＲＩマネージャ２０５は、受信したデータを構文解析部２１０に転送し、構文解析部２１０は、ＨＴＭＬ、ＸＭＬ、ＣＳＳなどのような内容の構文解析をすることが出来る。それから、その内容は、タイプや性質によって、ＥＣＭＡスクリプトエンジン２１１、ドキュメントオブジェクトモデル（ＤＯＭ）構造２１２を処理するためのモジュール、レイアウトエンジン２１３のいずれか、または、すべてによってさらに処理される。
【００３１】
回収された内容のこの処理は、ドキュメントマネージャ２０４によって管理され、ドキュメントマネージャ２０４は、受信した内容の処理結果として、追加のＵＲＩ要求をＵＲＩマネージャ２０５に転送することも出来る。これらの追加されたＵＲＩは、例えば、画像や他の追加されたファイルを特定することができ、特定された画像や他の追加されたファイルは、オリジナルＵＲＩによって特定されたドキュメント内に埋め込まれる。
【００３２】
特定されたドキュメントの内容を表すデータが処理されたとき、処理されたデータは、レンダリングエンジン２１４によってレンダリングされ、ユーザインタフェース２０１上に表示されるために、ドキュメントマネージャ２０４から転送される。    
【００３３】
上述された様々なモジュールは、図１のデバイス１００のＣＰＵ１０１によって実行され、プロセッサは、命令やデータをシステムバス１０６を通して受信する。通信モジュール２０６は、デバイス１００のネットワークインタフェース１０５を使用してリモートデバイス１３０と通信することができる。様々なモジュールの機能は、もちろん、より少な
い数の大きなモジュールに統合されても良く、いくつかのモジュールに分散されても置き換えられても良い。
【００３４】
上述されたユーザエージェント２００は、アプリケーションプログラム１４３として実装されても良い、しかし、そのいくつかの機能はオペレーティングシステム１４２の一部であったり、デバイス１００のＢＩＯＳ１４１の一部であったりしても良いことが理解されるであろう。ＵＲＩ要求に応答して受信された内容は、以下にさらに述べるように、データ１４４、スクリプト１４５、または、これらの組み合わせであっても良い。
【００３５】
図１と図２は、これに限定するものではないことに注意すべきである。その中に記載されているデバイス１００と、ユーザエージェント２００とは、この技術の分野における通常の知識を有する者によって考えられるように、一部のモジュールや機能を削除すること、他のモジュールや機能を付加することのいずれか、または、両方を行うことによって修正されても良い。
【００３６】
例えば、ウエブページのような電子ドキュメントは、通常は、ＨＴＭＬ、ＸＨＴＭＬ、又は、ＸＭＬなどのマークアップ言語を使用して作成され、それらは、普通、標準的なコンピュータディスプレイに合わせて配置されたレイアウトにされる。しかしながら、ブラウザなどのユーザエージェントは、ＰＤＡ、携帯電話、テレビセットトップボックス、ゲーム機などの他のタイプのデバイス上に、次第にインストールされてきている。そのようなデバイスは、異なったサイズ、形状、解像度の多種多様のディスプレイを備えている。これらのデバイスは、有意義にウエブページをレンダリングし、表示することが出来ないかもしれない。ドキュメントは、読めなくなるサイズのポイントまで小さくされるかもしれません。また、ドキュメントのほんの少しの部分だけ一度に表示されるかもしれず、ドキュメントのレイアウトが、ドキュメントの作成者が意図しないように変更されるかもしれません。
【００３７】
図３Ａ−３Ｃを参照すると、図３Ａは、典型的なウエブページ（ドキュメント）３００の全体のレイアウトを示している。ウエブページ３００は、左マージン３０１と、メインコンテンツエリア３０２を含んでいる。メインコンテンツエリア３０２は、見出し３０３をはじめとした記事及びそれに続いたテキスト３０５と、第２の見出し３０６及びそれに続いた追加のテキスト３０７とを含む。左マージン３０１は、同じウエブサイトの他の部分へのハイパーリンクであるいくつかのメニュー項目を備えたナビゲーションメニュー３０４を含む。図３Ａに示されるように、テキスト３０５のかたまりは、ウエブページ３００のオリジナルなレイアウトに従って既に埋め込まれていても良い。
【００３８】
図３Ｂは、ブラウザのウィンドウか、ユーザエージェントのウィンドウに表示される図３Ａのウエブページ３００の一部を示す。図２を参照して上述したユーザエージェント２００は、ウエブページ３００を表示するために使用されても良く、ウィンドウは、図１を参照して上述したデバイス１００のディスプレイ１２０上に表示されても良い。ドキュメント３００全体に関連したビューポートのサイズは、デバイスの特性と、ドキュメントを表示するために使用されるユーザエージェント２００と、のうち少なくともいずれか一つによって簡単に決定されても良く、または、例えば、快適に読むために十分な大きさの字でテキスト３０５を表示するために、ドキュメントを拡大するためにユーザによって呼び出されたズーム操作の結果であっても良い。
【００３９】
ウィンドウは、ナビゲーションボタン３１１と、アドレスフィールド３１２と、垂直すスクロールバー３１３と、を含み、アドレスフィールド３１２には、所望のドキュメント３００のＵＲＬを入力することが出来る。ブラウザのウィンドウの残存部分は、ドキュメント３００の一部を表示するために使用される。ウィンドウのこの残存部分は、ビューポ
ートとして使用される。図３Ｂのビューポートは、図３に点線で示されている。図３Ｂに示されている例において、ビューポートは、ウエブページ３００の幅全体を表示するのに十分の広さを備えていないことに気づくであろう。また、ドキュメント３００の上部のみが示され、２番目の記事３０６は、ビューポートの下で見えなくなっていることにも気づくであろう。
【００４０】
ビューポートの下で見えなくなっているドキュメント３００の部分を見るために垂直スクロールバー３１３が提供される。このスクロールバー３１３は、ドキュメント３００に対して相対的にビューポートを下に移動させることを可能にする。ドキュメントの上から下までテキストを読むことが出来るので、これは、通常、ユーザにとって大変不便というわけではない。そして、スクロールは、一つの方向、即ち、下方にされることが単に必要であろう。テキストが、幾つかの欄で表示されている場合、ページのトップに戻るためにスクロールすることが必要かもしれない。しかし、これでさえ、受け入れがたい不便さとして経験される必要はない。それは、一つのページは、滅多に２または３以上の欄を含まないので、ドキュメントのトップにスクロールして戻ることは、一つの欄全体を読むことを完了した後に、１度か、多くても数回しか必要でないからである。
【００４１】
ビューポートは、ドキュメント３００の幅全体を表示するのに十分な広さを有してないので、水平スクロールバー３１４が、提供されていることに更に注意すべきである。テキスト３０５を読むために、両方向に繰り返してこのスクロールバー３１４を使用することが必要であろう。主に下方向に使用され、上方向にはまれにしか使用されない垂直スクロールバー３１３とは対照的に、水平スクロールバー３１４は、ビューポートの右端を超えて伸びるそれぞれのテキストの行のために両方向に使用されるに違いない。これは、ユーザにとって容認できない不便さを表す。
【００４２】
図３Ｃは、ディスプレイ１２０に表示されるウエブページ３００の一部を再度示している。ディスプレイ１２０のビューポートは、図３Ｂに描かれたのと同じかもしれない、しかし、この場合、テキスト３０５は、テキスト３０５のそれぞれの行が、ビューポート内に収まるように再配置（図３Ａのレイアウトによって強制された配置に対して）されている。ユーザエージェントウィンドウは、図３Ｂに示されるようにブラウザのウィンドウとして同じ特徴を備えることができ、それは、例えば、ナビゲーションボタン３１１と垂直スクロールバー３１３などである。しかし、テキスト３０５の再配置は、幅の狭いドキュメント３００を生じさせ、水平スクロールバー３１４の必要性は、無くなるかもしれない。この例において、水平スクロールバー３１４は、ナビゲーションメニュー３０４を見るために左にスクロールすることを可能にする。しかし、スクロールバー３１４の長さと位置は、現在のビューポートの右側には何もないこと、及び、テキスト３０５を読むために水平方向のスクロールは必要ないことを示す。垂直スクロールバー３１３は、ビューポートの高さと比較して遙かに短いので、ドキュメント３００は、かなり長いということを垂直スクロールバー３１３は示している。
【００４３】
再配置は、ドキュメント３００の全体がビューポート内に持ってこられることを意味する必要はないことが理解されるであろう。再配置の目的は、第１に、ビューポートの中に、一つのテキストブロックを持ってくることか、または、一つのテキストの欄を持ってくることであっても良い。例えば、画像、ナビゲーションメニュー３０４、または、テキスト３０５の追加の欄などの、付加的な要素は、ビューポートの外側にまだ配置されていても良く、水平スクロールを強制されても良い。しかしながら、水平スクロールは、特定のテキストの欄を読んでいる間は、もはや必要ないかもしれない。
【００４４】
テキスト３０５の再配置は、異なったルールや方法に従ってドキュメント３００に課せられても良く、図３Ｃに示された結果は、異なった方法の最終結果であっても良いことも
理解されるであろう。これは、２〜３の画像が付加されているが図３Ａと３Ｃの例に似た図４Ａ、４Ｂに示された例に関して簡単に説明されるであろう。
【００４５】
第１の別の方法は、ドキュメントが、図４Ａと図４Ｂとに示されるようにロードされたとき、全てのテキストを再配置する方法である。この方法によれば、全てのドキュメントのレイアウトは変更される。図４Ａは、ドキュメント４００のレイアウトを示し、このドキュメント４００は、ナビゲーションメニュー４０４を含んだ左余白４０１と、第１のヘッドライン４０３を含んだメインコンテンツエリア４０２と、第１のテキスト４０５と、第２のヘッドライン４０６と、第２のテキスト４０７と、を含んでいる。第１と第２の画像４０８，４０９も含まれている。
【００４６】
図４Ｂは、同じドキュメント４００が、テキスト４０５，４０７を再配置した後にどのように見えるかを示している。テキスト欄は、狭く、長くなる一方、レイアウトの残りの部分は保たれることに気づかれるであろう。これは、空白の量を増やし、ドキュメント４００全体を大幅に長くする。ノーマルモードで表示されると、ドキュメント４００は、まとまり無く見えるかもしれない。そして、接近させることを目的とする（例えば、記事と図など）要素は、分離して見えるかもしれない。ズームする方法によって表示されると、テキスト４０５，４０７は、図３Ｃに示されるのと似た、便利な方法で読まれる。しかし、テキストに添付の図を見るためには、多くの水平スクロールをすることが必要になるかもしれない。
【００４７】
この不便さは、様々な要素の間の関係を保つために全てのブロックを狭くすることによって解消することが出来る。しかしながら、もっと複雑なページレイアウトの場合、そのようなアプローチは、好ましくない、または、不可能でさえ有るかもしれない。または、ページの著者が想像するオリジナルのレイアウトに根本的な変更を生じさせる、更なる方策（例えば、画像のサイズ変更など）を含むことを必要にするかもしれない。
【００４８】
本発明に一致する原理によれば、ユーザエージェント２００によってロードされるドキュメントは構文解析され、そのレイアウトは、そのドキュメントの著者のオリジナルな目的に一致する方法で決定される。
【００４９】
図４Ａに示される例は、http://www.w3.org/TR/CSS21/のワールド・ワイド・ウエブ・
コンソーシアム（Ｗ３Ｃ）によって刊行されたカスケーディングスタイルシート（ＣＳＳ）、レベル２、改訂版１に基づき、それは、参照によってここに援用される。しかしながら、本発明は、このバージョンのＣＳＳに限定されないか、または、とりわけＣＳＳによっても限定されない。
【００５０】
マークアップ言語のドキュメントが、例えば図２に示されるようなユーザエージェントによって受信されたとき、ドキュメントは、上述されたように、通常は処理される。レイアウトエンジン２１３は、ドキュメントのＤＯＭ構造に基づいて、ＤＯＭツリーにおける要素（エレメント）に基づいたいくつかのボックスを生成することができる。
【００５１】
「要素（elements）」という語は、当該技術の分野における通常の知識を有する者によって、構造を示すマークアップ言語のドキュメント内の統語構造として認識される。そのような「要素」は、コンテンツ（例えば、テキストや画像など）を含む構造ユニットを定義することが出来る。「ボックス」という語は、当該技術分野内において、特定の要素のコンテンツによって占められた、ドキュメントのレイアウト内の長方形のスペースとして認識される。
【００５２】
ＣＳＳ2.1ボックスモデルの一般的アプローチによれば、ブロックボックスとして定義
されるボックスは、子孫ボックス（descendant boxes）のためにコンテイニングブロック（containing blocks）を確立する。（幾つかの他のブロックのタイプ、例えばインライ
ンボックスは、ブロックボックスでは無い。）更に、例えば様々なテーブル要素など、ボックスとして定義されていない幾つかの他の要素のタイプもコンテイニングブロックを確立する。
【００５３】
ページ上での要素の大きさと位置は、要素を含むブロックボックスの境界の算出によって決定される。図４Ａにおいて、トップレベルのボックスは、全ページのコンテイニングブロックである。通常、メインコンテンツが他の子孫ボックスの含まれ、一方、左余白４０１は、全ページのコンテイニングブロックの一つの子孫（descendant）に含まれても良い。メニュー４０４の位置は、それから、そのコンテイニングブロックの境界に基づいて算出されても良い。ヘッドライン４０３と、画像４０８と、テキスト４０５とは、そのコンテイニングブロックとして、メインコンテンツのためのボックスを有するボックス内に含まれても良い。ヘッドライン４０３と、画像４０８と、テキスト４０５とは、全ての三つの要素を含むブロックの子孫になるであろうそれら自身の個々のコンテイニングブロックも有するであろう。似た構成は、要素４０６、４０７、４０９のために使用されても良い。
【００５４】
当該技術分野における知識を有する者にとって、コンテイニングブロックの他の構造は、図に示されたレイアウトにおいても可能である。
【００５５】
ヘッドライン４０３の位置は、そのコンテイニングブロックの境界に基づいてレイアウトエンジン２１３によって算出されても良い。テキスト４０５のケースも同じであり、著者が、このデフォルトのテキスト配置を無効にする指示を組み込まない限り、行は、このコンテイニングブロックのボックスの右端と、イメージボックスの端と、で折り返される。
【００５６】
既に述べたように、例えば小さな画面を有するデバイス１００で、水平方向にスクロールすることなくテキストを読み、ズームインすることが可能になるように、短い行で折り返すことが望ましいかもしれない。図４Ｂは、同じページ４００のレイアウトが、テキストが短い行で折り返された後にどのように見えるかを示している。ズームインの操作の後、このレイアウトは、望ましいかもしれない。その理由は、ズームイン操作が実行された後、ブラウザウインドウのビューポートにそれらがフィットするように、行が折り返されるからである。しかしながら、ズームイン操作の前に、図４Ｂに示されたレイアウトは、ユーザにとって不便かもしれないことは、図から明らかであろう。その理由は、例えば、ドキュメント４００が不必要に長くなり、空白が多くなりすぎるからである。
【００５７】
本発明の原理に一致して、ユーザエージェント２００は、ズームイン操作に応答してテキストを動的に再配置するように構成されていても良い。ドキュメント４００は、それから、図４Ａに例示されているように、ズームイン操作の前に、著者によってもともと意図されたレイアウトに一致して表示されても良い。一方、図４Ｂに例示されているように、ズームイン操作の一部として、テキストは、動的に再配置される。
【００５８】
図５は、本発明の実施形態の例に従った方法のステップを示すフローチャートである。
【００５９】
最初のステップ５０１において、ドキュメント３００、４００は、ユーザエージェント２００によってロードされる。次のステップ５０２において、ドキュメント３００、４００は、その次に、構文解析が行われ、ドキュメントの著者によって作成されたデザイン、及び、例えば、HTML、CSSなどの標準の規格と一致してレイアウトが作成される。このレ
イアウトは、ユーザエージェント２００がインストールされたデバイス１００のメモリ１
０２上に存在する。このメモリ１０２は、仮想的なディスプレイを提供するものとして考えられても良い。この仮想的なディスプレイの解像度は、ピクセルを単位としてオリジナルのドキュメントの寸法に一致するであろう。
【００６０】
ドキュメント３００、４００は、ステップ５０３において、直ちに、デバイスディスプレイ１００上に表示される。これは、レンダリングエンジン２１４によって処理される。ディスプレイ１２０は、比較的低い解像度を有しているかもしれないので、ページ３００、４００の再スケール調整が必要かもしれない。ズームのレベルは、デバイスのディスプレイ１２０の解像度に基づいて決定されても良い。例として、デバイス１００は、４８０ピクセルの水平解像度を有するディスプレイ１２０を備えていても良い。８００ピクセルの水平解像度を有するウエブページ３００、４００を表示するためには、水平方向のスクロールを避けるためにズームレベル３０％でページ３００、４００を表示することが必要である。例えば、ヘッドラインなどが良好に読めるあいだは、水平方向のスクロールを容認することによって妥協し、画像の識別を容易にすることが望まれるかもしれない。ズームレベル６０％は、例えば、４８０ピクセルの水平解像度を有するディスプレイ１２０上で６８５ピクセルの水平解像度を有するビューポートを生じさせる。
【００６１】
ユーザは、水平方向または垂直方向にスクロールし、おそらく、ポインティングデバイスを用いてスクリーン１２０内をあちこち動かして、直ちに、ドキュメント３００、４００を見ることが出来る。ユーザエージェント２００は、ステップ５０４において、ズームレベルを変更する指示を待っている間に、ユーザからの他の指示に反応することが出来る。
【００６２】
ステップ５０５において、ユーザエージェント２００が、ズームレベルを変更する指示を受け取ったと断定したとき、どのエリアをズームインするかを決定することが必要である。ユーザがそのような選択をすることを助けるために、様々な方法が提案されている。本発明は、そのような方法のどれにも限定されるものではない。ユーザエージェント２００は、ユーザからのズームインのリクエストを受信したとき、単純に、ドキュメントの上左端をズームインするかもしれない。他の方法は、ディスプレイ１２０上にズームインされたビューポートを示す長方形を、ユーザが動かすことを可能にするユーザインタフェースを含む。ズームインの操作により、長方形によって表される領域にズームインする。他の方法は、ユーザがスクリーン１２０上のどこかをクリックまたはダブルクリックすることを含み、それによって、ユーザエージェント２００は、ユーザによってクリックされた位置を含んだ範囲をズームインする。その範囲は、クリックされた位置がその範囲の中心になるように選択されても良く、より洗練された方法が用いられても良い。そのような方法の一つは、米国特許出願No. 11/525,177に述べられており、それにより、その方法全体を参照により援用する。
【００６３】
ドキュメント３００、４００がズームされるズームレベルは、快適に読むことが可能な例えば１５０％等に決定されても良い。（ズームレベル１００％は、デスクトップモニタ上では快適かもしれない。しかし、デバイスの小さなピクセルサイズが原因で、更なるズームが必要かもしれない。）
その結果として、３２０ピクセルに相当するズームレベル１５０％のディスプレイ１２０上では、４８０ピクセルよりも長いテキスト行が存在しないように、テキストを折り返すことが好ましい。この再配置（テキスト折り返し）は、ステップ５０６において実行される。
【００６４】
テキストが再配置された後、ドキュメント３００、４００の全体のレイアウトが、再び作成される。これは、メモリ１０２内の仮想ディスプレイにおいて図４Ｂに例示されるようなドキュメントのレイアウトを作成するためにステップ５０７において実行される。そ
の後、この仮想レイアウトは、ステップ５０３に戻った後、ドキュメント３００、４００をデバイスのディスプレイ１２０に再び表示するために使用されても良い。今回は、もちろん、ドキュメント３００、４００の表示は、ズームインされたビューポートに基づく。
【００６５】
ズームレベルが、再び変更されたとき、例えば、ユーザが、再びズームアウト（または、ある実施形態においては、他の可能なズームレベルに変更）したとき、テキストは、ステップ５０６において再び再配置され、新しいレイアウトが作成され、ドキュメント３００、４００は、再び、ステップ５０３において表示される。
【００６６】
上記及び図５に記載された例は、ユーザエージェント２００が、２つのズームレベルを単に切り替えるだけであり、ビューポートは、いつもスクリーンの幅全体を占めていると仮定している。本発明はこの観点に限定されず、本発明の原理と一致する様々な実施形態に関して、ユーザは、他のズームレベルにズームすることができ、または、ディスプレイ１２０の幅全体を占める必要がないようにビューポートの幅を変更することが出来る。後者の特別なケースは、ユーザエージェント２００が、ユーザが縦長表示と横長表示を切り替えることを可能にするときである。一例として、４８０×６４０ピクセルサイズのディスプレイは、縦長モードにおいて、６８５ピクセルワイド（ズームアウト）のビューポートと、３２０ピクセルワイド（ズームイン）のビューポートとを切り替えることができ、横長モードにおいて、９１４ピクセルワイドのビューポートと４２６ピクセルワイドのビューポートとを切り替えることが出来る。（ディスプレイ１２０の解像度は、もちろん、デバイスのハードウエアによって決定される。ビューポートについて述べる場合は、オリジナルドキュメント３００、４００に関してピクセルの数を参照します。）デバイス１００において、ズームインされるとき、テキストの配置は、縦長モードにおいて３２０ピクセルに、横長表示において４２６ピクセルに強制される。これは、環境設定ファイルにパラメータとしてセットされても良く、または、例えば、レンダリングエンジン２１３またはウィンドウマネージャ２０３からのデバイス１００についての情報に基づいてユーザエージェント２００によって決定されても良い。
【００６７】
ユーザが、ズームレベルと、ビューポートのサイズを動的に変更することを可能にする本発明の実施形態を示す図６を参照する。ズームレベルの変更は、通常は、ウィンドウまたはディスプレイ１２０全体に付随するスライダのいずれかを通して呼び出されることができ、ビューポートのサイズは、例えば、ポインティングデバイスを使用して、ウィンドウの端をドラッグアンドドロップすることによって操作される。
【００６８】
最初のステップ６０１において、ドキュメント３００、４００は、ロードされる。その次に、次のステップ６０２において、レイアウトが決定される。次のステップ６０３において、ドキュメント３００、４００は、デバイスディスプレイに表示される。次に、ズームレベルまたはビューポートの幅の変更指示を待つステップである待機ステップ６０４において待機している間、ユーザエージェント２００は、他の機能を実行することができる。これらのステップは、図５において述べられている実施形態によると、ステップ５０１、５０２、５０３、５０４に相当することができる。
【００６９】
その後に、次のステップ６０５において、ズームレベルまたはビューポートの幅が変更されたことを検知したとき、プロセスは、新しいビューポートの幅を計算する次のステップ６０６に進むことができる。ズームレベルは、ユーザの入力から決定されても良い。ビューポートの幅は、ユーザの入力またはレンダリングエンジン２１３またはウィンドウマネージャ２０３から得られた情報に基づいて決定されても良い。最初に、ビューポートの幅は、ハードウエアの解像度の観点から決定される。デバイス１００が、４８０ピクセルの水平解像度を有するディスプレイ１２０を備えた例について話を進めると、図５に関する上記例のように、スクリーン１２０全体が使用される場合は、ビューポートが形成され
たハードウエアは、４８０ピクセルである。しかしながら、ユーザが、ドキュメント３００、４００が表示されたウィンドウのサイズを縮小した場合、または、他のコンテンツ（例えば、垂直スクロールバーやナビゲーションアイコンなど）が、水平方向においてある量のピクセルを占めた場合、ビューポートは、水平方向において、例えば、４００ピクセル縮小しても良い。
【００７０】
ビューポートのこのハードウエアの解像度に基づいて、オリジナルのドキュメント３００、４００の解像度の観点から、ビューポートの実際のサイズが、決定されても良い。前記例において述べられたように、ズームレベルが１５０％の場合、テキスト配置は、２６６ピクセルに強制される。しかしながら、ユーザが、更にもっと、例えば１８０％までズームインすることを決定した場合、テキストの配置は、水平方向のスクロールを避けるために２２２ピクセルに強制されなければならない。
【００７１】
ユーザが、ビューポートを狭くし続ける場合、または、ズームレベルを大きくし続ける場合、更に短い行長さにテキストを再配置する意味がもはや無くなるところに達するであろう。その結果として、テキスト再配置の下限まで実行される。ビューポートが、この限界よりも狭すぎる場合、テキストは、限界のピクセル値で配置されるかもしれず、水平方向スクロールが必要とされるかもしれない。
【００７２】
同様に、ユーザがズームインを始めるやいなや再配置を実行するよりもむしろ、ドキュメントの著者または通常のＣＳＳルールによって決定される以外はテキストの再配置をしない上限がセットされて実行されても良い。これは以下の場合においても実行されて良い。それは、例えば、特定のズームレベルより下なので、テキストが小さすぎて快適に読むことができないと思われた場合、そして、たとえ水平スクロールが、テキストの行方向にも必要になったとしても、全体としてドキュメント３００、４００のコンテンツの印象を表すために著者が作成したレイアウトで見せることがより重要になる場合である。
【００７３】
ステップ６０７は、ビューポートの幅（ステップ６０６で決定されたような）の変更と、テキスト再配置のための基準値の最大値または最小値と、を考慮して、テキスト再配置が必要かどうかを決定することができる。再配置が必要でない場合、プロセスは、ステップ６０３に戻ることができ、成された変更に従ってドキュメント３００、４００を表示することができる。しかしながら、テキスト再配置は実行されない。
【００７４】
一方、ステップ６０７において再配置が必要と判断された場合、プロセスは、算出されたビューポートの幅でテキストを再配置するステップ６０３に進む。このステップは、ステップ５０６に相当する。再配置されたテキストを持つこのページのレイアウトは、その次に、ステップ５０７にお相当するステップ６０９において作成される。
【００７５】
プロセスは、その次に、ステップ６０３に戻り、新しいレイアウトに従ってコンテンツを表示する。
【００７６】
既に上述したように、ズームインするためのエリアを選択する様々な方法が存在しても良い。しかしながら、ドキュメント４００のサイズが、再配置の結果として変わるということが、図４Ａと図４Ｂとから直ちに理解されるであろう。その結果、ズームレベルが変更される前に、ドキュメント３００、４００内のどこに選択されたエリアがあるかを把握しておくことが好ましく、それに応じてドキュメント３００、４００を表示することが好ましい。一例として、ユーザが、ズームインとズームアウトを、ドキュメント３００、４００のトップから特定のピクセル数離れた位置にした場合、そして、テキストの再配置が、大幅にドキュメント３００、４００の長さを変えた場合、ズームインの後表示されるそのテキストは、ズームイン操作が実行される前に選択されたテキストではない。当初のズ
ームインされたテキストは、ドキュメント３００、４００のトップに近い場所にあるであろう。
【００７７】
本発明の原理に一致してある実施形態によると、テキスト再配置の後、ドキュメント３００、４００のレイアウト内でズームされたエリアは、ズームインプロセスの一部としてユーザによって選択された要素の位置、または、他の基準によって選択された要素の位置に基づいて選択される。
【００７８】
第１のそのような実施形態によれば、ユーザは、デバイス１００のスクリーン１２０上のどこかをダブルクリックすることによって（さもなければ、ポインティングデバイスで位置を選択することによって）ズームイン機能を呼び出す。その位置は、必然的に、ドキュメント全体のブロックを含む少なくとも１つのボックス内にある。更に、その位置は、例えば、幾つかのテキストの要素を含む記事、または、一つのパラグラフのボックス内にあっても良い。その位置は、画像、テーブルセル（table cell）、または、他の要素のタイプを識別する。
【００７９】
テキストの再配置に続いて新しいレイアウトが形成された後、ズームされたドキュメント３００、４００のエリアは、ユーザによって選択された位置が幾つかのボックス内だった場合は、選択されても良く、ＤＯＭツリーの最下位のそのボックスが選択される（例えば、テキストの段落は、テキストを含むテーブルセル（table cell）よりもむしろ選択され、エンタイアテーブル（entire table）よりもむしろテーブルセル（table cell）が選択される。）。しかしながら、追加のルールは、これよりも優先され、例えば、要素のあるタイプが、他のもの（例えば、テキストは画像よりも選ばれる）よりも選ばれ、または、代わりに使用される。
【００８０】
ズームされた領域は、その次に、識別された要素がビューポートの上左端に（他の実施形態としては、本発明の原理と当然に一致するように、例えば、ビューポートの中心に）位置するように選択されても良い。
【００８１】
第２のそのような実施形態によれば、ユーザは、位置よりもむしろ範囲を選択し、その範囲は、ポインティングデバイスをドラッグすることによって長方形を定義するか、または、ポインティングデバイスを使用することによってズームイン後のビューポートを表す長方形の位置決めをすることによって示される。次に、選択された要素は、選択されたエリア内のどんな要素であっても良く、多くの基準のいずれに従って選択されても良く、ドキュメント３００、４００の要素のタイプのＤＯＭ構造内の位置を含んでも良く、ズームイン前の長方形内の位置（例えば、上左端に近接した要素、長方形の左端に近接した要素、または、ドキュメント３００、４００の中心に近接した要素）を含んでいても良い。
【００８２】
本発明の原理と一致して、ズームインする要素を選択することだけでなく、その要素内の位置を選択することも可能である。テキスト内の特定の単語や文字、または、画像内のポイントの座標に関する情報は、インプットマネージャ２０３から得られても良い。また、この情報は、ズームインする範囲を決定するときに使用されることができる。
【００８３】
ＣＳＳボックスモデルに基づいた要素の選択に関する更なる情報は、既に参照したＵＳ特許出願11/525,177で見いだすことができ、これは、本願に援用される。
【００８４】
位置が選択されず、ズームレベルが単純に以下のようにして選択された場合、即ち、ズームレベルがスライダを使用することによって選択された場合、または、ズームレベルが（例えばパーセントなどの）数値として選択された場合、あるいは、ズームアウトとズームインを切り替えられて選択された場合に、例えば使用される、更にもう一つの実施形態
は、ビューポートの左端の位置を保持し、ズームイン後にビューポートの上端に位置決めされるそのビューポートの上端に近接する要素を選択する。
【００８５】
ズームアウトの時、または、実際に任意の２つのズームレベルまたはビューポートの幅の間を変更（その結果テキストの再配置が生じる）したとき、その同じ問題が解決されるに違いない。ズームインしたとき、そのエリアは、上記方法の１つに従って選択されることができる。ズームアウトは、実質的に異なっている必要はない。ダブルクリックや、さもなければ要素を識別することによってズームアウトが呼び出された場合、ズームアウト操作に応答して表示されるエリアは、選択された要素が、ズームアウトされたビューポート内の所定の位置（例えば、上部左側角など）を得ること等によって選択されても良い。ズームアウトが、異なったズームレベルを選択する問題に過ぎない場合、そのエリアは、ズームインされたビューポート内の要素が所定のルールに従って選択されるように選択されても良い。そして、ズームアウトされたビューポートは、選択された要素がズームアウトされ再配置されたドキュメントのビューポート内の特定の位置（例えば、上左角またはビューポートの中心等）を受信するように位置決めされる
更に、他の実施形態は、ビューポートの左端の位置を保持し、ズームアウトの後、ビューポートの上端に位置決めされるためにビューポートの上端に近い要素を選択する。
【００８６】
ズームインの前にアクティブだったビューポートの位置に戻ることも、もちろん可能である。しかしながら、これは好ましくない。その理由は、ユーザは、ズームされた表示の間、ドキュメント３００、４００内のかなり異なった位置にスクロールするかもしれず、ドキュメント３００、４００内での全てのスクロールを行う前の位置に一致したズームアウトされた表示に戻ることは、大変ユーザフレンドリーであるとは考えられないかもしれないからである。
【００８７】
ズームアウトの大変簡単な方法は、もちろん、新しいズームアウトされたビューポートの中心として、ズームインされたビューポートの中心に戻ること、または、同様にズームインされたビューポート内の他の位置（例えば、上左角など）として処理することである。
【００８８】
図４に戻って、ボックス４１０と４１１は、どのようにビューポートの位置が、ズームアウトされた表示内及びズームインされた表示内で選択されるかを示している。図４Ａにおいて、ドキュメント４００は、ドキュメントの著者によって定義されたように、そのオリジナルなレイアウトで示されている。ボックス４１０は、ズームアウトされたモードにおけるデバイスのビューポートを示す。図４Ｂは、テキスト４０５、４０７の再配置後の同じドキュメントを示す。ボックス４１１は、ズームイン後のビューポートの位置を示す。ズームイン操作は、例えば、テキスト４０７上をユーザがダブルクリックすることによって呼び出されても良い。これは、ボックス４１１によって示されるように、ズームインされたビューポートの上左角に位置決めされることができる関連した要素を含んだボックスを選択しても良い。
【００８９】
逆の操作は、上左角のテキスト４０７を有するズームアウトエリアを生じさせることができる。しかしながら、この例によれば、ドキュメント４００は、ズームアウトモードのディスプレイのビューポートよりも広くない。従って、角のテキスト４０７を含むボックスを位置決めすることは、実際には、ビューポートの外側の左余白４０１を位置決めし、空白を有するビューポートの下部と右側を満たすことを意味する。これは、それほど有用ではないかもしれない。従って、この場合において、ビューポートは、ドキュメント４００の全幅が表示される間は、できるだけビューポート内で高い位置に位置決めされたテキスト４０７を備えたボックス４１２によって示されるように位置決めされても良い。ドキュメント４００が、ズームアウトされたモードでさえビューポートよりも広い場合、ビュ
ーポートは、テキスト４０７がビューポートの左端から始まるように位置決めされることができる。
【００９０】
上記の例は、ドキュメント３００、４００内のすべてのテキストが、再配置を強制されるたびに毎回再配置されているが、一方、ズームレベルの変更が強制されたとき、ドキュメント３００、４００内の幾つかのテキストのみを再配置することも、本発明の原理に一致する。幾つかの実施形態によると、ビューポート内にあるテキストだけが、再配置される。他の実施形態によると、ビューポートの内側に少なくとも一部が入っているボックスを有するコンテイニングブロック（containing blocks）の中にあるテキストが、再配置
される。他の実施形態も考えられても良い。
【００９１】
本発明は、上記の例に限定されないことが、当該技術分野の知識を有する者にとって理解されるである。例えば、ポインタタイプの入力デバイス無しでは、要素の選択は、困難かもしれないが、例えば、キーボードや要素から要素へと移動するジョイスティック入力などの、幾つかの代替物を実装することができる。
【００９２】
ページ３００、４００のどこかの要素、領域、または位置に関連し、または、変換することができる限り、ユーザ入力デバイスの種類と、入力デバイスから受信されるデータとは、本発明の本質部分ではない。
【００９３】
ページ３００、４００のレイアウト内の位置を表すユーザ入力が受信され、ユーザがズームイン操作またはズームアウト操作の実施を試みていることが確認されたとき、受信された位置は、関心領域を選択するために使用されることが出来る。本発明と一致する多くの実施形態において、ユーザ入力は、ズーム操作を起動することよりも他の目的のために受信されても良い。例えば、ハイパーリンクをクリックすることや入力フィールドなどの特定のエレメントに焦点を合わせることなどである。ズーム操作を実行しようとする試みとして、様々な方法がユーザ入力を識別するために用いられる。いくつかの実施形態によれば、ポインティングデバイスの位置を表すユーザ入力と、マウスのクリックは、そのような入力として識別されてもよい。そのような入力とは、ポインティングデバイスが、例えば、ハイパーリンクやボタン、入力フィールド、または、ドロップダウンメニューなどのようなアクティブな要素と関連づけられてないことが与えられる入力のことである。別の実施形態は、ポインティングデバイスの位置と、２番目のマウスボタンからのクリックやキーボードキーが同時に押されながらのクリック（例えば、シフト+クリック）と、を
含むか、または、ポインティングデバイスをクリックしながらドラッグすること、または、指定されたキーボードキーを押すことにより適切なエレメントが続いて選択されるまで繰り返してタビュレーターキーを押すこと、または、例えば、点やエレメント、領域などの位置を識別することが可能な設計者によって特定された他のどのユーザ入力も含む。
【００９４】
行を折り返す最大行長さを決定するために使用される様々なパラメータは、ユーザエージェント２００のネイティブコード（native code）の一部であっても良く、環境設定フ
ァイルにストアされも良く、その両方の組み合わせであっても良い。その次に、そのような環境設定ファイルは、以下のように、異なったデバイス１００にインストールされるように準備されても良い。即ち、ある環境設定ファイルは、あるデバイス１００に使用可能であることができ、異なった環境設定ファイルは、それぞれのデバイスのハードウエアの機能・性能（例えば、ディスプレイの解像度）に応じて、他のデバイス１００などに使用可能であるように異なったデバイス１００にインストールされるように準備されても良い。あるデバイス１００にとっては、パラメータは、ユーザエージェント２００（例えば、ブラウザ）のインプットマネージャと、レンダリングエンジンとから受信したディスプレイ１２０についての情報から得られても良い。
【００９５】
最終的に、本発明は、いくつかのハードウエアとソフトウエアの組み合わせ上に実装されることができ、どんな特定のハードウエアやソフトウエアのプラットフォーム、オペレーティングシステム、プログラム言語、通信プロトコル、マークアップ言語、レイアウトの定義、レンダリングの仕様にも依存しないことが、当業者によって理解されるであろう。
【符号の説明】
【００９６】
１００…コンピュータデバイス、１０２…メモリ、１０２…ローカルメモリ、１０２…メモリ、１０３…ポート、１０４…ビデオインタフェース、１０５…ネットワークインタフェース、１０６…システムバス、１１０…ローカルデバイス、１２０…ディスプレイユニット、１３０…リモートデバイス、１４２…オペレーティングシステム、１４３…アプリケーションプログラム、１４４…データ、１４５…スクリプト、２００…ユーザエージェント、２０１…ユーザインタフェース、２０２…アドレスフィールド、２０３…ウィンドウマネージャ、２０４…ドキュメントマネージャ、２０５…ＵＲＬマネージャ、２０６…通信モジュール、２０７…暗号化／復号化モジュール、２０８…キャッシュマネージャ、２０９…ドキュメントキャッシュ／イメージキャッシュ、２１０…構文解析部、２１１…ＥＣＭＡスクリプトエンジン、２１２…ＤＯＭ構造、２１３…レイアウトエンジン、２１４…レンダリングエンジン、３００…ドキュメント、３０１…左マージン、３０２…メインコンテンツエリア、３０４…ナビゲーションメニュー、３０５…テキスト、３０６…記事、３０７…テキスト、３１１…ナビゲーションボタン、３１２…アドレスフィールド、３１３…垂直スクロールバー、３１４…水平スクロールバー、４００…ドキュメント、４０１…左余白、４０２…メインコンテンツエリア、４０３…ヘッドライン、４０４…ナビゲーションメニュー、４０５…テキスト、４０６…ヘッドライン、４０７…テキスト、４０８…画像、４０９…画像、４１０…ボックス、４１１…ボックス、４１２…ボックス
【図１】
2014170563.tif 000003
【図２】
2014170563.tif 000004
【図３Ａ】
2014170563.tif 000005
【図３Ｂ】
2014170563.tif 000006
【図３Ｃ】
2014170563.tif 000007
【図４Ａ】
2014170563.tif 000008
【図４Ｂ】
2014170563.tif 000009
【図５】
2014170563.tif 000010
【図６】
2014170563.tif 000011
【手続補正書】
【提出日】平成26年5月13日(2014.5.13)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスに含まれるディスプレイ画面上の電子ドキュメントの選択された領域を表示する際に実行される動的テキスト配置方法であって、
テキストと少なくとも一つの非テキスト要素とから成るドキュメントをメモリデバイスにロードする、第１ステップと、
前記第１ステップの後に、プロセッサが、前記テキストと前記少なくとも一つの非テキスト要素とを含む前記ドキュメントのレイアウトを、前記ドキュメントのコードにより特定されたデザインに一致させて決定する、第２ステップと、
前記第２ステップの後に、決定されたレイアウトに従って前記ドキュメント中の前記テキストを配置し、前記ドキュメントの少なくとも一部を、第１の解像度で、かつ、決定されたレイアウトに従って、ディスプレイ画面上に表示する、第３ステップと、
前記第３ステップの後に、第２の解像度で前記ドキュメントを表示するためのコマンドを表すユーザ入力を受信する、第４ステップと、
前記第４ステップの後に、プロセッサが、前記第２の解像度で使用される最大行長さに基づいて、前記ドキュメント中の前記テキストのうち少なくとも一部のテキストを再配置する、第５ステップと、
前記第５ステップの後に、プロセッサが、前記少なくとも一部のテキストが再配置された後、前記テキストと前記少なくとも一つの非テキスト要素とを含む前記ドキュメントのレイアウトを決定する、第６ステップと、
前記第６ステップの後に、前記第２の解像度で前記再配置されたテキストを含む前記ドキュメントの少なくとも一部をディスプレイ画面上に表示する、第７ステップと、
を備え、
前記第４ステップにおいて、前記ユーザ入力は前記ドキュメントの要素を識別する情報を含み、
前記第７ステップは、前記ディスプレイ画面における所定の位置で前記識別された要素を位置決めするステップを含む、
動的テキスト配置方法。
【請求項２】
前記最大行長さが、前記デバイスのディスプレイ画面の幅によって規定される、請求項１に記載の動的テキスト配置方法。
【請求項３】
前記最大行長さが、環境設定ファイルで規定される、請求項１に記載の動的テキスト配置方法。
【請求項４】
前記最大行長さが、前記ドキュメントが表示されるウィンドウの幅によって規定される、請求項１に記載の動的テキスト配置方法。
【請求項５】
前記第２の解像度は、１次元に沿った、オリジナルドキュメントのピクセルに対するハードウエアディスプレイのピクセルの比として定義され、オリジナルドキュメントの解像度の観点から前記最大行長さは、前記比によって分割されたハードウエアピクセルにおけるディスプレイウィンドウの幅として決定される、請求項１に記載の動的テキスト配置方法。
【請求項６】
前記第４ステップにおいて、前記ユーザ入力は、表示された前記ドキュメント内の選択された領域にズームインするコマンドと、表示された前記ドキュメントを含むウィンドウのサイズを変更するコマンドと、の少なくとも一つを含み、
前記第５ステップは、前記ユーザ入力に応じて行われる、
請求項１に記載の動的テキスト配置方法。
【請求項７】
電子ドキュメントを表示するように構成された、電子ドキュメントの関心領域を選択し、表示するためのコンピュータデバイスであって、
ディスプレイ画面と、
ユーザ入力インタフェースと、
電子ドキュメントを受信するように構成された通信インタフェースと、
受信したドキュメントがロードされることが可能なメモリと、
プロセッシングユニットと、
を備え、
前記プロセッシングユニットは、
テキストと少なくとも一つの非テキスト要素とから成るドキュメントをロードする、第１ステップを行い、
前記第１ステップの後に、前記テキストと前記少なくとも一つの非テキスト要素とを含む前記ドキュメントのレイアウトを、前記ドキュメントのコードにより特定されたデザインに一致させて決定し、前記ドキュメント中の前記テキストは、決定されたレイアウトに従って配置される、第２ステップを行い、
前記第２ステップの後に、前記ドキュメントの少なくとも一部を、第１の解像度で、かつ、決定されたレイアウトに従ってディスプレイ画面に表示する、第３ステップを行い、
前記第３ステップの後に、第２の解像度で前記ドキュメントを表示するためのコマンドを表すユーザ入力を受信する、第４ステップを行い、
前記第４ステップの後に、前記第２の解像度で使用される最大行長さに基づいて、前記ドキュメント中の前記テキストのうち少なくとも一部のテキストを再配置する、第５ステップを行い、
前記第５ステップの後に、前記少なくとも一部のテキストが再配置された後、前記テキストと前記少なくとも一つの非テキスト要素とを含む前記ドキュメントのレイアウトを決定する、第６ステップを行い、
前記第６ステップの後に、前記第２の解像度で前記再配置されたテキストを含む前記ドキュメントの少なくとも一部をディスプレイ画面上に表示する、第７ステップを行う、
ように構成され、
前記第４ステップにおいて、前記ユーザ入力は前記ドキュメントの要素を識別する情報を含み、
前記第７ステップは、前記ディスプレイ画面における所定の位置で前記識別された要素を位置決めするステップを含む、
コンピュータデバイス。
【請求項８】
前記最大行長さが、前記コンピュータデバイスの前記ディスプレイ画面の幅によって規定される、請求項７に記載のコンピュータデバイス。
【請求項９】
前記最大行長さが、環境設定ファイルで規定される、請求項７に記載のコンピュータデバイス。
【請求項１０】
前記最大行長さが、前記ドキュメントが表示されるウィンドウの幅によって規定される、請求項７に記載のコンピュータデバイス。
【請求項１１】
前記第２の解像度は、１次元に沿った、オリジナルドキュメントのピクセルに対するハードウエアディスプレイのピクセルの比として定義され、オリジナルドキュメントの解像度の観点から前記最大行長さは、前記比によって分割されたハードウエアピクセルにおけるディスプレイウィンドウの幅として決定される、請求項７に記載のコンピュータデバイス。
【請求項１２】
前記第４ステップにおいて、前記ユーザ入力は、表示された前記ドキュメント内の選択された領域にズームインするコマンドと、表示された前記ドキュメントを含むウィンドウのサイズを変更するコマンドと、の少なくとも一つを含み、
前記第５ステップは、前記ユーザ入力に応じて行われる、
請求項７に記載のコンピュータデバイス。
【請求項１３】
コンピュータ上で実行されたとき、以下のステップを実行する命令を備えたコンピュータプログラムが記憶された、コンピュータ読み込み可能記憶媒体であって、
前記ステップは、
テキストと少なくとも一つの非テキスト要素とから成るドキュメントをメモリデバイスにロードする、第１ステップと、
前記第１ステップの後に、前記テキストと前記少なくとも一つの非テキスト要素とを含む前記ドキュメントのレイアウトを、前記ドキュメントのコードにより特定されたデザインに一致させて決定する、第２ステップと、
前記第２ステップの後に、前記ドキュメントの少なくとも一部を、第１の解像度で、かつ、決定されたレイアウトに従って、ディスプレイデバイスに表示する、第３ステップと、
前記第３ステップの後に、第２の解像度で前記ドキュメントを表示するためのコマンドを表すユーザ入力を受信する、第４ステップと、
前記第４ステップの後に、前記第２の解像度で使用される最大行長さに基づいて、前記ドキュメント中の前記テキストのうち少なくとも一部のテキストを再配置する、第５ステップと、
前記第５ステップの後に、前記少なくとも一部のテキストが再配置された後、前記テキストと前記少なくとも一つの非テキスト要素とを含む前記ドキュメントのレイアウトを決定する、第６ステップと、
前記第６ステップの後に、前記第２の解像度で前記再配置されたテキストを含む前記ドキュメントの少なくとも一部をディスプレイデバイスに表示する、第７ステップと、
であり、
前記第４ステップにおいて、前記ユーザ入力は前記ドキュメントの要素を識別する情報を含み、
前記第７ステップは、前記ディスプレイデバイスにおける所定の位置で前記識別された要素を位置決めするステップを含む、
コンピュータ読み込み可能記憶媒体。
【請求項１４】
前記最大行長さが、ディスプレイデバイスの幅によって規定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１５】
前記最大行長さが、環境設定ファイルによって規定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１６】
前記最大行長さが、前記ドキュメントが表示されるウィンドウの幅によって規定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１７】
前記第２の解像度は、１次元に沿った、オリジナルドキュメントのピクセルに対するハードウエアディスプレイのピクセルの比として定義され、オリジナルドキュメントの解像度の観点から前記最大行長さは、前記比によって分割されたハードウエアピクセルにおけるディスプレイウィンドウの幅として決定される、請求項１３に記載のコンピュータ読み込み可能記憶媒体。
【請求項１８】
前記第４ステップにおいて、前記ユーザ入力は、表示された前記ドキュメント内の選択された領域にズームインするコマンドと、表示された前記ドキュメントを含むウィンドウのサイズを変更するコマンドと、の少なくとも一つを含み、
前記第５ステップは、前記ユーザ入力に応じて行われる、
請求項１３に記載のコンピュータ読み込み可能記憶媒体。