(57)【要約】【課題】  演算コストの低いＨＴＭＬ文書等のレンダリング技術を提供する。【解決手段】  矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力手段と、入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析手段と、第１の矩形オブジェクトの幅、及び、該第１の矩形オブジェクトの子ノードに対応する第２の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第２の矩形オブジェクトの幅及び位置を決定する決定手段と、前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定手段を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御手段と、を備える。【選択図】  図５
2007156898.tif 000002
【特許請求の範囲】
【請求項１】
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力手段と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析手段と、
第１の矩形オブジェクトの幅、及び、該第１の矩形オブジェクトの子ノードに対応する第２の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第２の矩形オブジェクトの幅及び位置を決定する決定手段と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定手段を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記決定された全ての矩形オブジェクトの幅及び位置に基づいて、前記文書を出力する出力手段を更に備え、
前記最上位ノードに対応する矩形オブジェクトの幅は前記出力手段のサイズに基づいて決定されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定制御手段は、更に、決定された前記幅に基づいて前記矩形オブジェクトの高さを決定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記文書情報はＨＴＭＬ文書であることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力工程と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析工程と、
第１の矩形オブジェクトの幅、及び、該第１の矩形オブジェクトの子ノードに対応する第２の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第２の矩形オブジェクトの幅及び位置を決定する決定工程と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定工程を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御工程と、を備えることを特徴とする情報処理装置の制御方法。
【請求項６】
前記決定された全ての矩形オブジェクトの幅及び位置に基づいて、前記文書を出力手段に出力する出力工程を更に備え、
前記最上位ノードに対応する矩形オブジェクトの幅は前記出力手段のサイズに基づいて決定されることを特徴とする請求項５に記載の情報処理装置の制御方法。
【請求項７】
前記決定制御工程は、更に、決定された前記幅に基づいて前記矩形オブジェクトの高さを決定することを特徴とする請求項５又は６に記載の情報処理装置の制御方法。
【請求項８】
前記文書情報はＨＴＭＬ文書であることを特徴とする請求項５乃至７のいずれか１項に記載の情報処理装置の制御方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＨＴＭＬ文書等のレンダリング技術に関し、特に演算コストの小さいレンダリング技術に関する。
【背景技術】
【０００２】
一般的に、ＷｅｂブラウザなどのＨＴＭＬ文章等を表示するアプリケーションでは、まず、レンダリングしようとするＨＴＭＬ等の文書内のすべての要素を解析し、レイアウト対象となる矩形オブジェクトの階層構造を表す矩形オブジェクトツリーを生成する。次に、この矩形オブジェクトツリーを解析して得られる制約条件に基づいて各矩形オブジェクトの位置やサイズを決定する。
【特許文献１】特開平１０−１６２００３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＨＴＭＬ文章等から矩形オブジェクトツリーを生成する場合、ある矩形オブジェクトの位置やサイズは、その矩形オブジェクトの、下位矩形や上位矩形のオブジェクトによる制約条件を加味して決定しなければならない。このため、この制約条件を整理しすべての矩形オブジェクトに対して自動的に最適な位置やサイズを決定する処理が必要である。
【０００４】
しかし、制約条件を整理して全ての矩形オブジェクトについて位置やサイズを調整する処理は大きな演算コストを要し、比較的計算能力が低く演算リソースにも厳しい制限が課せられる組み込み機器などで動作させることが困難であった。
【０００５】
本発明は上記問題に鑑みなされたものであり、演算コストの低いＨＴＭＬ文書等のレンダリング技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による情報処理装置は以下の構成を備える。即ち、
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力手段と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析手段と、
第１の矩形オブジェクトの幅、及び、該第１の矩形オブジェクトの子ノードに対応する第２の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第２の矩形オブジェクトの幅及び位置を決定する決定手段と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定手段を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御手段と、を備える。
【０００７】
また、上記目的を達成するため、本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力工程と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析工程と、
第１の矩形オブジェクトの幅、及び、該第１の矩形オブジェクトの子ノードに対応する第２の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第２の矩形オブジェクトの幅及び位置を決定する決定工程と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定工程を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御工程と、を備える。
【発明の効果】
【０００８】
本発明によれば、演算コストの低いＨＴＭＬ文書等のレンダリング技術を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１０】
（ハードウェア構成）
まず、本実施形態に係る情報処理装置のハードウェア構成について、図１を参照して説明する。図１は、本実施形態に係る情報処理装置のハードウェア構成を模式的に示したブロック図である。尚、本実施形態に係る情報処理装置は、例えば、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）、携帯情報端末（ＰＤＡ）、携帯電話、デジタルカメラ等で実現される。
【００１１】
図１において、９９０はＣＰＵである。ＣＰＵ９９０は、後述するハードディスク装置９９５に格納されているアプリケーションプログラム、オペレーティングシステム（ＯＳ）や制御プログラム等を実行し、ＲＡＭ９９２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１２】
９９１はＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、基本処理において使用するフォントデータ、テンプレート用データ等の各種データを記憶する。９９２は各種データを一時記憶するためのＲＡＭであり、ＣＰＵ９９０の主メモリ、ワークエリア等として機能する。
【００１３】
９９３は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア（記録媒体）９９４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア９９４には、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等が含まれる。
【００１４】
９９５は外部記憶装置であり、本実施形態では大容量メモリとして機能するハードディスク装置（以下、ＨＤと呼ぶ）を用いている。ＨＤ９９５には、アプリケーションプログラム、ＯＳ、制御プログラム、関連プログラム等が格納される。
【００１５】
９９６は指示入力装置であり、キーボードやポインティングデバイス（マウス等）、タッチパネル等がこれに相当する。指示入力装置９９６を用いて、ユーザは、本実施形態に係る情報処理装置に対して、装置を制御するコマンド等を入力指示する。
【００１６】
９９７はディスプレイであり、指示入力装置９９６から入力したコマンドや、それに対する情報処理装置の応答出力等を表示したりするものである。
【００１７】
９９９はシステムバスであり、情報処理装置内のデータの流れを司るものである。９９８はインターフェイス（以下、Ｉ／Ｆという）であり、このＩ／Ｆ９９８を介して外部装置とのデータのやり取りを行う。
【００１８】
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００１９】
本実施形態では、メディア９９４から本実施形態に係るプログラム及び関連データを直接ＲＡＭ９９２にロードして実行させる例を示すが、これに限られない。例えば、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているＨＤ９９５からＲＡＭ９９２にロードするようにしてもよい。また、本実施形態に係るプログラムをＲＯＭ９９１に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ９９０で実行することも可能である。
【００２０】
また、本実施形態では、説明の便宜のため、本実施形態に係る情報処理装置を１つの装置で実現した構成について述べるが、複数の装置にリソースを分散した構成によって実現してもよい。例えば、記憶や演算のリソースを複数の装置に分散した形に構成してもよい。或いは、情報処理装置上で仮想的に実現される構成要素毎にリソースを分散し、並列処理を行うようにしてもよい。
【００２１】
（全体処理）
まず、本実施形態に係る構成が実行する全体処理について図２を参照して説明する。図２は本実施形態に係る構成によるＨＴＭＬ文章をレンダリングする処理の動作の概要を示すフロー図である。
【００２２】
まず、ステップＳ２１において、入力されたＨＴＭＬ文章を解析し、矩形オブジェクトをノードとするオブジェクトツリーを生成する。ここでは、以下の処理を行う。
（１）まず、入力されたＨＴＭＬ文章に基づいて、レンダリングに関連する要素を、ツリー状の階層構造を有する、矩形オブジェクトの集合体に変換する。
（２）次に、要素の属性値などに基づいて、各矩形オブジェクトについて、配置ルール、最小幅値、最適幅（基準幅）値を演算する。
（３）そして、演算結果を各矩形オブジェクトに設定、即ち、各ノードに対応づけてＲＡＭ９９２等の記憶装置に記憶する処理を行う。
【００２３】
（１）の矩形オブジェクトの集合体に変換する処理は公知技術を適用することができる。ここでは、処理の概要を図３、４を参照して説明する。図３は、処理対象のＨＴＭＬ文書の一例を示した図である。図４は本実施形態に係る構成を適用したＨＴＭＬ文章のレンダリング装置の処理途中で生成される矩形オブジェクトのツリー１と処理後に得られるレイアウト結果のイメージ２を示したものである。図４に記載されている破線矢印は各矩形オブジェクトとレイアウト結果の対応を表している。
【００２４】
本実施形態に係る情報処理装置は、ＨＴＭＬ文書を構成するタグの包含関係に基づいて図４のようなツリーを生成する。例えば、図３において、タグ３０１は他のタグ３０２〜３０５を含むように構成されている。このため、タグ３０１に係る矩形オブジェクトは、図４における最上位の矩形オブジェクト４０１に対応する。また、タグ３０１の一段下の階層（子ノード）にはタグ３０２、３０５が存在する。このため、タグ３０２に係る矩形オブジェクトは矩形オブジェクト４０２、タグ３０５に係る矩形オブジェクトは矩形オブジェクト４０５にそれぞれ対応する。同様に、タグ３０３に係る矩形オブジェクトは矩形オブジェクト４０３、タグ３０４に係る矩形オブジェクトは矩形オブジェクト４０４にそれぞれ対応する。尚、図４において破線矢印の示すように、矩形オブジェクト４０１は４１１、矩形オブジェクト４０２は４１２、矩形オブジェクト４０３は４１３、矩形オブジェクト４０４は４１４、矩形オブジェクト４０５は４１５にそれぞれ対応する。
【００２５】
（２）の各矩形オブジェクトについて、配置ルール、最小幅値、最適幅値を演算する処理は、要素の属性値やＨＴＭＬタグの内容等に基づいて行う。
【００２６】
例えば、タグ３０４のように、ＨＴＭＬでは"align"属性を用いて矩形オブジェクトをどのように配置するか記述することができる。そこで、"align"属性の値等を配置ルールとして取得する。なお、タグ３０３、３０５のように、"align"属性の値等が記述されていない場合は、所定のデフォルト値（例えば中央）でもって配置ルールが定義されているとして処理を行う。
【００２７】
また、最小幅値は、例えば、３０５のように、矩形オブジェクトが文字列をレイアウトするものである場合は、最低一文字を表示するために必要な幅を最小幅値とすることができる。或いは、例えば、３０３、３０４のように、矩形オブジェクトが画像データをレイアウトするものである場合は、元画像データの幅のサイズや、"width"属性の値等によって決定することができる。例えば、元画像データの幅や"width"属性の値に所定の割合（例えば、１０％等）を乗じて得られる値を最小幅値と定めることができる。
【００２８】
また、最適幅値は、例えば、３０５のように、矩形オブジェクトが文字列をレイアウトするものである場合は、文字列を最後まで表示するために必要な幅や、所定の文字数（例えば３０文字）を表示するための幅を最適幅値とすることができる。或いは、例えば、３０３、３０４のように、矩形オブジェクトが画像データをレイアウトするものである場合は、元画像データの幅のサイズや、"width"属性の値等とすることができる。
【００２９】
なお、配置ルール、最小幅値、最適幅値を演算する処理の内容は、上記に限られるわけではない。即ち、要素の属性値やＨＴＭＬタグの内容等に基づいて低い演算コストで取得できるならばどのような処理を適用してもよい。
【００３０】
（３）の演算結果を各矩形オブジェクトに設定する処理においては、オブジェクトの識別子と他のオブジェクトの親子関係のデータに加えて、配置ルール、最小幅値、最適幅値の情報を、各オブジェクト毎にＲＡＭ９９２等の記憶装置に記憶する。
【００３１】
図２の説明に戻る。ステップＳ２１の処理の後、ステップＳ２２において、ＨＴＭＬ文書を構成する最上位の矩形オブジェクトの幅を決定する。最上位矩形オブジェクトの幅は、レンダリングしたＨＴＭＬ文章を表示する表示装置（ディスプレイ）の解像度や印刷するメディア、レンダリングの解像度などの情報に基づいて決定する。
【００３２】
次に、ステップＳ２３において、ＨＴＭＬ文書を構成する各矩形オブジェクトのレイアウトを決定するレイアウト決定処理を行う。この処理の詳細は後述する。
【００３３】
次に、ステップＳ２４において、ステップＳ２３で決定した各矩形オブジェクトの位置と高さと幅に基づいて、最終的にＨＴＭＬ文章の描画を行う。ただし、矩形オブジェクトの位置は、矩形オブジェクトの頂点のうちいずれかの座標である。従って、位置と高さと幅により、その矩形オブジェクトが画面上で占める領域が定められる。
【００３４】
（レイアウト決定処理）
次に、ステップＳ２３において実行するレイアウト決定処理について図５を参照して説明する。図５は、ＨＴＭＬ文章を矩形オブジェクトのツリー構造体へ変換しレンダリングを行う装置において、レイアウトを決定するための矩形オブジェクト毎の処理動作を示すフロー図である。
【００３５】
図５の処理は、ＨＴＭＬ文書を構成する全てのオブジェクトについて、最上位のノードから順に再帰的に実行する。
【００３６】
まず、ステップＳ１〜Ｓ３において、自分（注目しているノード、ここでは最上位ノード）の一段下の階層を構成する、即ち、子ノードに対応する全ての矩形オブジェクトについて、最低幅値と最適幅値を取得する処理を行う。即ち、まず、ステップＳ１において、自分（最上位ノード）から一段下の階層、即ち、子ノードに対応する矩形オブジェクトの最低幅値を取得する。次に、ステップＳ２において、自分より一段下の階層の矩形オブジェクトの最適幅値を取得する。最適幅値を取得するノードは、ステップＳ１において最低幅値を取得したノードと同一のものとすることができる。ただし、ステップＳ１、Ｓ２における矩形オブジェクトの最低幅値及び最適幅値の取得は、ステップＳ２１において矩形オブジェクトの識別子と関連付けて記憶された値を参照することにより行うことができる。
【００３７】
次に、ステップＳ３において、自分より一段下、即ち、子ノードに対応する矩形オブジェクトすべてに対してステップＳ１及びステップＳ２の処理が終了したかどうか判定する。全てのオブジェクトについて実行済みの場合（ステップＳ３でＹＥＳ）はステップＳ４へ進み、実行済みでない場合（ステップＳ３でＮＯ）はステップＳ１へ戻り、まだ処理を実行していないノードについてステップＳ１、Ｓ２の処理を実行する。
【００３８】
ステップＳ４においては、一段下、即ち、子ノードに対応する矩形オブジェクトすべてについて、それぞれの最低値幅を矩形オブジェクトの持つ幅として暫定的に設定する。即ち、一段下、即ち、子ノードに対応する矩形オブジェクトすべてについて、オブジェクトの識別子と、最低幅値を関連づけて、ＲＡＭ９９２等の記憶装置に記憶する。
【００３９】
次に、ステップＳ５において、一段下、即ち、子ノードに対応する矩形オブジェクトを、各オブジェクトが持つ配置ルールによって暫定配置する。即ち、例えば、"align"属性の値に基づいて、一段下、即ち、子ノードに対応する矩形オブジェクトの位置を暫定的に決定する。
【００４０】
次に、ステップＳ６〜Ｓ１０において、自分の一段下の矩形オブジェクトすべてについて、それぞれの幅、位置、高さを決定する処理を行う。
【００４１】
まず、ステップＳ６において、一段下、即ち、子ノードに対応する矩形オブジェクトのうち未処理のものを処理対象の矩形オブジェクトとして１つ選択し、その矩形オブジェクトの幅を最終決定する。この幅の決定は、ステップＳ５で得られた暫定位置、ステップＳ１で取得した最低幅値、ステップＳ２で取得した最適幅値等に基づいて行う。例えば、用紙や画面などのレイアウト対象の幅と同じ階層の他の矩形オブジェクトの配置ルール（均等に配置するか左詰で配置するかなど）等の条件から、最適幅値と最小幅値の間の値の間で矩形オブジェクトの幅を決定する。二段以下の矩形オブジェクトの幅を決定する場合は、その矩形オブジェクトの親ノードに対応する矩形オブジェクトの幅と、同一階層の他の矩形オブジェクトの配置ルール等に基づいて決定する。
【００４２】
次に、ステップＳ７では、ステップＳ６で決定された矩形オブジェクトの幅等に基づいて、一段下、即ち、子ノードに対応する矩形オブジェクトの横方向の位置を確定する。即ち、一段下、即ち、子ノードに対応する矩形オブジェクトが画面において占める横方向の領域を、オブジェクトの幅、画面のサイズ、配置ルール等に基づいて確定する。二段以下の矩形オブジェクトの幅を決定する場合は、その矩形オブジェクトの幅、親ノードに対応する矩形オブジェクトの幅、配置ルール等に基づいて決定する。
【００４３】
次に、ステップＳ８では、図５に示されたレイアウト決定処理をステップＳ６で選択された処理対象の矩形オブジェクトについて再帰的に実行する。即ち、ステップＳ６で選択された処理対象の矩形オブジェクトについて、ステップＳ１〜Ｓ１１の処理を実行する。このように、一段下、即ち、子ノードに対応する矩形オブジェクトに対してレイアウト決定処理を適用することで、ステップＳ６で選択された処理対象の矩形オブジェクト以下の全ての矩形オブジェクトのレイアウトを再帰的に決定する。
【００４４】
次に、ステップＳ９では、ステップＳ８で得られた二段以上下の矩形オブジェクトの高さに基づいて一段下、即ち、子ノードに対応する矩形オブジェクトの高さを決定する。ただし、矩形オブジェクトの高さは、その矩形オブジェクトの幅や配置ルール、ＨＴＭＬタグの属性（"height"等）に基づいて決定することができる。このように、レイアウト決定処理においては、矩形オブジェクトの高さを、そのオブジェクトの下位オブジェクトの高さに基づいて、下位から上位へ順に決定していく。
【００４５】
次に、ステップＳ１０では、一段下、即ち、子ノードに対応する矩形オブジェクトすべてに対してステップＳ６〜Ｓ９の処理が終了したか否かを判定する。終了している場合（ステップＳ１０でＹＥＳ）はステップＳ１１へ進み、終了していない場合（ステップＳ１０でＮＯ）はステップＳ６へ戻り、未処理の矩形オブジェクトについてステップＳ６〜Ｓ９の処理を実行する。
【００４６】
次に、ステップＳ１１では、ステップＳ９で得られた前記一段下、即ち、子ノードに対応する矩形オブジェクトの高さに基づいて、自らの矩形オブジェクトの高さを確定する。
【００４７】
図５の動作フロー図で示される処理を行うことにより、最終的にすべての矩形オブジェクトの位置と幅と高さが決定される。
【００４８】
以上のように、本実施形態に係る構成においては、まず、ＨＴＭＬ文書を解析してツリー構造を生成し、ツリーの各ノードに対応する矩形オブジェクトの配置ルール、最小幅値、最適幅値をタグの解析等に基づいて演算する。そして、これらの３つの値と上位矩形オブジェクトの幅に基づいて、矩形オブジェクトツリーにおいて、上位矩形オブジェクトから下位矩形オブジェクトの方向へ再帰的に演算処理を行う。これにより、各矩形オブジェクトのレイアウトに必要な幅、位置、高さの３つの値を順に決定する。即ち、上位矩形オブジェクトの幅、及び、処理対象の矩形オブジェクトの最低幅情報、基準幅情報、配置ルール情報に基づいて、処理対象の矩形オブジェクトの幅及び位置を決定する処理を、再帰的に実行する。ただし、上記から明らかなように、再帰的に行う演算内容は非常に簡潔なものである。
【００４９】
このように、本実施形態に係る構成においては、ある矩形オブジェクトの位置、幅、高さを決定する際に、下位矩形や上位矩形のオブジェクトによる制約条件を加味する必要がない。即ち、制約条件を整理して全ての矩形オブジェクトについて位置やサイズを調整する必要がない。このため、本実施形態に係る構成によれば、低い演算コストでＨＴＭＬ文書等をレンダリングすることができる。また、本実施形態に係る構成を適用することで、演算性能が比較的低い機器においてもレイアウト決定処理を実行することができる。
【００５０】
なお、上記では処理対象の文書としてＨＴＭＬを想定したが、これに限られるわけではない。例えば、ＸＭＬ又はそのサブセットにより記述された文書であって、タグやその属性等により文書のレイアウト等が記述されたものにも適用することができる。
【００５１】
また、上記では矩形オブジェクトを縦方向にスクロール可能な画面で表示することを想定していたが、横方向にスクロール可能な画面に表示する場合も、上記と同様の構成を適用することができる。即ち、上記の「幅」を縦方向の幅、「高さ」を横方向の幅と読み替え、ステップＳ７において確定する位置を縦方向の位置と読み替えることで、上記の構成を適用することができる。
【００５２】
（その他の実施形態）
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００５３】
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５４】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
【００５５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５６】
プログラムを供給するための記録媒体としては、例えば、次のものが含まれる。即ち、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）等が含まれる。
【００５７】
その他、プログラムの供給形態としては、次のようなものも考えられる。即ち、クライアント装置のブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明に係るコンピュータプログラム、或いは、圧縮され自動インストール機能を含むファイルをＨＤ等の記録媒体にダウンロードする形態も考えられる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５８】
また、次のような供給形態も考えられる。即ち、まず、本発明に係るプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報の使用により暗号化されたプログラムを実行してコンピュータにインストールさせて本発明に係る構成を実現する。このような供給形態も可能である。
【００５９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他次のような実現形態も想定される。即ち、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００６０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づいても前述した実施形態の機能が実現される。即ち、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６１】
【図１】本実施形態に係る情報処理装置のハードウェア構成を模式的に示すブロック図である。
【図２】ＨＴＭＬ文章をレンダリングする処理の動作の概要を示すフロー図である。
【図３】処理対象のＨＴＭＬ文書の一例を示す図である。
【図４】矩形オブジェクトのツリーとレイアウト結果のイメージを示す図である。
【図５】レイアウトを決定するための矩形オブジェクト毎の処理動作を示すフロー図である。
【図１】
2007156898.tif 000003
【図２】
2007156898.tif 000004
【図３】
2007156898.tif 000005
【図４】
2007156898.tif 000006
【図５】
2007156898.tif 000007