説明

情報処理装置及びその制御方法、プログラム、記憶媒体

【課題】 演算コストの低いHTML文書等のレンダリング技術を提供する。
【解決手段】 矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力手段と、入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析手段と、第1の矩形オブジェクトの幅、及び、該第1の矩形オブジェクトの子ノードに対応する第2の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第2の矩形オブジェクトの幅及び位置を決定する決定手段と、前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定手段を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はHTML文書等のレンダリング技術に関し、特に演算コストの小さいレンダリング技術に関する。
【背景技術】
【0002】
一般的に、WebブラウザなどのHTML文章等を表示するアプリケーションでは、まず、レンダリングしようとするHTML等の文書内のすべての要素を解析し、レイアウト対象となる矩形オブジェクトの階層構造を表す矩形オブジェクトツリーを生成する。次に、この矩形オブジェクトツリーを解析して得られる制約条件に基づいて各矩形オブジェクトの位置やサイズを決定する。
【特許文献1】特開平10−162003号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
HTML文章等から矩形オブジェクトツリーを生成する場合、ある矩形オブジェクトの位置やサイズは、その矩形オブジェクトの、下位矩形や上位矩形のオブジェクトによる制約条件を加味して決定しなければならない。このため、この制約条件を整理しすべての矩形オブジェクトに対して自動的に最適な位置やサイズを決定する処理が必要である。
【0004】
しかし、制約条件を整理して全ての矩形オブジェクトについて位置やサイズを調整する処理は大きな演算コストを要し、比較的計算能力が低く演算リソースにも厳しい制限が課せられる組み込み機器などで動作させることが困難であった。
【0005】
本発明は上記問題に鑑みなされたものであり、演算コストの低いHTML文書等のレンダリング技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明による情報処理装置は以下の構成を備える。即ち、
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力手段と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析手段と、
第1の矩形オブジェクトの幅、及び、該第1の矩形オブジェクトの子ノードに対応する第2の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第2の矩形オブジェクトの幅及び位置を決定する決定手段と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定手段を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御手段と、を備える。
【0007】
また、上記目的を達成するため、本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力工程と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析工程と、
第1の矩形オブジェクトの幅、及び、該第1の矩形オブジェクトの子ノードに対応する第2の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第2の矩形オブジェクトの幅及び位置を決定する決定工程と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定工程を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御工程と、を備える。
【発明の効果】
【0008】
本発明によれば、演算コストの低いHTML文書等のレンダリング技術を提供することができる。
【発明を実施するための最良の形態】
【0009】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【0010】
(ハードウェア構成)
まず、本実施形態に係る情報処理装置のハードウェア構成について、図1を参照して説明する。図1は、本実施形態に係る情報処理装置のハードウェア構成を模式的に示したブロック図である。尚、本実施形態に係る情報処理装置は、例えば、パーソナルコンピュータ(PC)やワークステーション(WS)、携帯情報端末(PDA)、携帯電話、デジタルカメラ等で実現される。
【0011】
図1において、990はCPUである。CPU990は、後述するハードディスク装置995に格納されているアプリケーションプログラム、オペレーティングシステム(OS)や制御プログラム等を実行し、RAM992にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0012】
991はROMであり、内部には基本I/Oプログラム等のプログラム、基本処理において使用するフォントデータ、テンプレート用データ等の各種データを記憶する。992は各種データを一時記憶するためのRAMであり、CPU990の主メモリ、ワークエリア等として機能する。
【0013】
993は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア(記録媒体)994に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア994には、例えば、フレキシブルディスク(FD)、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等が含まれる。
【0014】
995は外部記憶装置であり、本実施形態では大容量メモリとして機能するハードディスク装置(以下、HDと呼ぶ)を用いている。HD995には、アプリケーションプログラム、OS、制御プログラム、関連プログラム等が格納される。
【0015】
996は指示入力装置であり、キーボードやポインティングデバイス(マウス等)、タッチパネル等がこれに相当する。指示入力装置996を用いて、ユーザは、本実施形態に係る情報処理装置に対して、装置を制御するコマンド等を入力指示する。
【0016】
997はディスプレイであり、指示入力装置996から入力したコマンドや、それに対する情報処理装置の応答出力等を表示したりするものである。
【0017】
999はシステムバスであり、情報処理装置内のデータの流れを司るものである。998はインターフェイス(以下、I/Fという)であり、このI/F998を介して外部装置とのデータのやり取りを行う。
【0018】
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【0019】
本実施形態では、メディア994から本実施形態に係るプログラム及び関連データを直接RAM992にロードして実行させる例を示すが、これに限られない。例えば、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているHD995からRAM992にロードするようにしてもよい。また、本実施形態に係るプログラムをROM991に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU990で実行することも可能である。
【0020】
また、本実施形態では、説明の便宜のため、本実施形態に係る情報処理装置を1つの装置で実現した構成について述べるが、複数の装置にリソースを分散した構成によって実現してもよい。例えば、記憶や演算のリソースを複数の装置に分散した形に構成してもよい。或いは、情報処理装置上で仮想的に実現される構成要素毎にリソースを分散し、並列処理を行うようにしてもよい。
【0021】
(全体処理)
まず、本実施形態に係る構成が実行する全体処理について図2を参照して説明する。図2は本実施形態に係る構成によるHTML文章をレンダリングする処理の動作の概要を示すフロー図である。
【0022】
まず、ステップS21において、入力されたHTML文章を解析し、矩形オブジェクトをノードとするオブジェクトツリーを生成する。ここでは、以下の処理を行う。
(1)まず、入力されたHTML文章に基づいて、レンダリングに関連する要素を、ツリー状の階層構造を有する、矩形オブジェクトの集合体に変換する。
(2)次に、要素の属性値などに基づいて、各矩形オブジェクトについて、配置ルール、最小幅値、最適幅(基準幅)値を演算する。
(3)そして、演算結果を各矩形オブジェクトに設定、即ち、各ノードに対応づけてRAM992等の記憶装置に記憶する処理を行う。
【0023】
(1)の矩形オブジェクトの集合体に変換する処理は公知技術を適用することができる。ここでは、処理の概要を図3、4を参照して説明する。図3は、処理対象のHTML文書の一例を示した図である。図4は本実施形態に係る構成を適用したHTML文章のレンダリング装置の処理途中で生成される矩形オブジェクトのツリー1と処理後に得られるレイアウト結果のイメージ2を示したものである。図4に記載されている破線矢印は各矩形オブジェクトとレイアウト結果の対応を表している。
【0024】
本実施形態に係る情報処理装置は、HTML文書を構成するタグの包含関係に基づいて図4のようなツリーを生成する。例えば、図3において、タグ301は他のタグ302〜305を含むように構成されている。このため、タグ301に係る矩形オブジェクトは、図4における最上位の矩形オブジェクト401に対応する。また、タグ301の一段下の階層(子ノード)にはタグ302、305が存在する。このため、タグ302に係る矩形オブジェクトは矩形オブジェクト402、タグ305に係る矩形オブジェクトは矩形オブジェクト405にそれぞれ対応する。同様に、タグ303に係る矩形オブジェクトは矩形オブジェクト403、タグ304に係る矩形オブジェクトは矩形オブジェクト404にそれぞれ対応する。尚、図4において破線矢印の示すように、矩形オブジェクト401は411、矩形オブジェクト402は412、矩形オブジェクト403は413、矩形オブジェクト404は414、矩形オブジェクト405は415にそれぞれ対応する。
【0025】
(2)の各矩形オブジェクトについて、配置ルール、最小幅値、最適幅値を演算する処理は、要素の属性値やHTMLタグの内容等に基づいて行う。
【0026】
例えば、タグ304のように、HTMLでは"align"属性を用いて矩形オブジェクトをどのように配置するか記述することができる。そこで、"align"属性の値等を配置ルールとして取得する。なお、タグ303、305のように、"align"属性の値等が記述されていない場合は、所定のデフォルト値(例えば中央)でもって配置ルールが定義されているとして処理を行う。
【0027】
また、最小幅値は、例えば、305のように、矩形オブジェクトが文字列をレイアウトするものである場合は、最低一文字を表示するために必要な幅を最小幅値とすることができる。或いは、例えば、303、304のように、矩形オブジェクトが画像データをレイアウトするものである場合は、元画像データの幅のサイズや、"width"属性の値等によって決定することができる。例えば、元画像データの幅や"width"属性の値に所定の割合(例えば、10%等)を乗じて得られる値を最小幅値と定めることができる。
【0028】
また、最適幅値は、例えば、305のように、矩形オブジェクトが文字列をレイアウトするものである場合は、文字列を最後まで表示するために必要な幅や、所定の文字数(例えば30文字)を表示するための幅を最適幅値とすることができる。或いは、例えば、303、304のように、矩形オブジェクトが画像データをレイアウトするものである場合は、元画像データの幅のサイズや、"width"属性の値等とすることができる。
【0029】
なお、配置ルール、最小幅値、最適幅値を演算する処理の内容は、上記に限られるわけではない。即ち、要素の属性値やHTMLタグの内容等に基づいて低い演算コストで取得できるならばどのような処理を適用してもよい。
【0030】
(3)の演算結果を各矩形オブジェクトに設定する処理においては、オブジェクトの識別子と他のオブジェクトの親子関係のデータに加えて、配置ルール、最小幅値、最適幅値の情報を、各オブジェクト毎にRAM992等の記憶装置に記憶する。
【0031】
図2の説明に戻る。ステップS21の処理の後、ステップS22において、HTML文書を構成する最上位の矩形オブジェクトの幅を決定する。最上位矩形オブジェクトの幅は、レンダリングしたHTML文章を表示する表示装置(ディスプレイ)の解像度や印刷するメディア、レンダリングの解像度などの情報に基づいて決定する。
【0032】
次に、ステップS23において、HTML文書を構成する各矩形オブジェクトのレイアウトを決定するレイアウト決定処理を行う。この処理の詳細は後述する。
【0033】
次に、ステップS24において、ステップS23で決定した各矩形オブジェクトの位置と高さと幅に基づいて、最終的にHTML文章の描画を行う。ただし、矩形オブジェクトの位置は、矩形オブジェクトの頂点のうちいずれかの座標である。従って、位置と高さと幅により、その矩形オブジェクトが画面上で占める領域が定められる。
【0034】
(レイアウト決定処理)
次に、ステップS23において実行するレイアウト決定処理について図5を参照して説明する。図5は、HTML文章を矩形オブジェクトのツリー構造体へ変換しレンダリングを行う装置において、レイアウトを決定するための矩形オブジェクト毎の処理動作を示すフロー図である。
【0035】
図5の処理は、HTML文書を構成する全てのオブジェクトについて、最上位のノードから順に再帰的に実行する。
【0036】
まず、ステップS1〜S3において、自分(注目しているノード、ここでは最上位ノード)の一段下の階層を構成する、即ち、子ノードに対応する全ての矩形オブジェクトについて、最低幅値と最適幅値を取得する処理を行う。即ち、まず、ステップS1において、自分(最上位ノード)から一段下の階層、即ち、子ノードに対応する矩形オブジェクトの最低幅値を取得する。次に、ステップS2において、自分より一段下の階層の矩形オブジェクトの最適幅値を取得する。最適幅値を取得するノードは、ステップS1において最低幅値を取得したノードと同一のものとすることができる。ただし、ステップS1、S2における矩形オブジェクトの最低幅値及び最適幅値の取得は、ステップS21において矩形オブジェクトの識別子と関連付けて記憶された値を参照することにより行うことができる。
【0037】
次に、ステップS3において、自分より一段下、即ち、子ノードに対応する矩形オブジェクトすべてに対してステップS1及びステップS2の処理が終了したかどうか判定する。全てのオブジェクトについて実行済みの場合(ステップS3でYES)はステップS4へ進み、実行済みでない場合(ステップS3でNO)はステップS1へ戻り、まだ処理を実行していないノードについてステップS1、S2の処理を実行する。
【0038】
ステップS4においては、一段下、即ち、子ノードに対応する矩形オブジェクトすべてについて、それぞれの最低値幅を矩形オブジェクトの持つ幅として暫定的に設定する。即ち、一段下、即ち、子ノードに対応する矩形オブジェクトすべてについて、オブジェクトの識別子と、最低幅値を関連づけて、RAM992等の記憶装置に記憶する。
【0039】
次に、ステップS5において、一段下、即ち、子ノードに対応する矩形オブジェクトを、各オブジェクトが持つ配置ルールによって暫定配置する。即ち、例えば、"align"属性の値に基づいて、一段下、即ち、子ノードに対応する矩形オブジェクトの位置を暫定的に決定する。
【0040】
次に、ステップS6〜S10において、自分の一段下の矩形オブジェクトすべてについて、それぞれの幅、位置、高さを決定する処理を行う。
【0041】
まず、ステップS6において、一段下、即ち、子ノードに対応する矩形オブジェクトのうち未処理のものを処理対象の矩形オブジェクトとして1つ選択し、その矩形オブジェクトの幅を最終決定する。この幅の決定は、ステップS5で得られた暫定位置、ステップS1で取得した最低幅値、ステップS2で取得した最適幅値等に基づいて行う。例えば、用紙や画面などのレイアウト対象の幅と同じ階層の他の矩形オブジェクトの配置ルール(均等に配置するか左詰で配置するかなど)等の条件から、最適幅値と最小幅値の間の値の間で矩形オブジェクトの幅を決定する。二段以下の矩形オブジェクトの幅を決定する場合は、その矩形オブジェクトの親ノードに対応する矩形オブジェクトの幅と、同一階層の他の矩形オブジェクトの配置ルール等に基づいて決定する。
【0042】
次に、ステップS7では、ステップS6で決定された矩形オブジェクトの幅等に基づいて、一段下、即ち、子ノードに対応する矩形オブジェクトの横方向の位置を確定する。即ち、一段下、即ち、子ノードに対応する矩形オブジェクトが画面において占める横方向の領域を、オブジェクトの幅、画面のサイズ、配置ルール等に基づいて確定する。二段以下の矩形オブジェクトの幅を決定する場合は、その矩形オブジェクトの幅、親ノードに対応する矩形オブジェクトの幅、配置ルール等に基づいて決定する。
【0043】
次に、ステップS8では、図5に示されたレイアウト決定処理をステップS6で選択された処理対象の矩形オブジェクトについて再帰的に実行する。即ち、ステップS6で選択された処理対象の矩形オブジェクトについて、ステップS1〜S11の処理を実行する。このように、一段下、即ち、子ノードに対応する矩形オブジェクトに対してレイアウト決定処理を適用することで、ステップS6で選択された処理対象の矩形オブジェクト以下の全ての矩形オブジェクトのレイアウトを再帰的に決定する。
【0044】
次に、ステップS9では、ステップS8で得られた二段以上下の矩形オブジェクトの高さに基づいて一段下、即ち、子ノードに対応する矩形オブジェクトの高さを決定する。ただし、矩形オブジェクトの高さは、その矩形オブジェクトの幅や配置ルール、HTMLタグの属性("height"等)に基づいて決定することができる。このように、レイアウト決定処理においては、矩形オブジェクトの高さを、そのオブジェクトの下位オブジェクトの高さに基づいて、下位から上位へ順に決定していく。
【0045】
次に、ステップS10では、一段下、即ち、子ノードに対応する矩形オブジェクトすべてに対してステップS6〜S9の処理が終了したか否かを判定する。終了している場合(ステップS10でYES)はステップS11へ進み、終了していない場合(ステップS10でNO)はステップS6へ戻り、未処理の矩形オブジェクトについてステップS6〜S9の処理を実行する。
【0046】
次に、ステップS11では、ステップS9で得られた前記一段下、即ち、子ノードに対応する矩形オブジェクトの高さに基づいて、自らの矩形オブジェクトの高さを確定する。
【0047】
図5の動作フロー図で示される処理を行うことにより、最終的にすべての矩形オブジェクトの位置と幅と高さが決定される。
【0048】
以上のように、本実施形態に係る構成においては、まず、HTML文書を解析してツリー構造を生成し、ツリーの各ノードに対応する矩形オブジェクトの配置ルール、最小幅値、最適幅値をタグの解析等に基づいて演算する。そして、これらの3つの値と上位矩形オブジェクトの幅に基づいて、矩形オブジェクトツリーにおいて、上位矩形オブジェクトから下位矩形オブジェクトの方向へ再帰的に演算処理を行う。これにより、各矩形オブジェクトのレイアウトに必要な幅、位置、高さの3つの値を順に決定する。即ち、上位矩形オブジェクトの幅、及び、処理対象の矩形オブジェクトの最低幅情報、基準幅情報、配置ルール情報に基づいて、処理対象の矩形オブジェクトの幅及び位置を決定する処理を、再帰的に実行する。ただし、上記から明らかなように、再帰的に行う演算内容は非常に簡潔なものである。
【0049】
このように、本実施形態に係る構成においては、ある矩形オブジェクトの位置、幅、高さを決定する際に、下位矩形や上位矩形のオブジェクトによる制約条件を加味する必要がない。即ち、制約条件を整理して全ての矩形オブジェクトについて位置やサイズを調整する必要がない。このため、本実施形態に係る構成によれば、低い演算コストでHTML文書等をレンダリングすることができる。また、本実施形態に係る構成を適用することで、演算性能が比較的低い機器においてもレイアウト決定処理を実行することができる。
【0050】
なお、上記では処理対象の文書としてHTMLを想定したが、これに限られるわけではない。例えば、XML又はそのサブセットにより記述された文書であって、タグやその属性等により文書のレイアウト等が記述されたものにも適用することができる。
【0051】
また、上記では矩形オブジェクトを縦方向にスクロール可能な画面で表示することを想定していたが、横方向にスクロール可能な画面に表示する場合も、上記と同様の構成を適用することができる。即ち、上記の「幅」を縦方向の幅、「高さ」を横方向の幅と読み替え、ステップS7において確定する位置を縦方向の位置と読み替えることで、上記の構成を適用することができる。
【0052】
(その他の実施形態)
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0053】
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0054】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
【0055】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0056】
プログラムを供給するための記録媒体としては、例えば、次のものが含まれる。即ち、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)等が含まれる。
【0057】
その他、プログラムの供給形態としては、次のようなものも考えられる。即ち、クライアント装置のブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明に係るコンピュータプログラム、或いは、圧縮され自動インストール機能を含むファイルをHD等の記録媒体にダウンロードする形態も考えられる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0058】
また、次のような供給形態も考えられる。即ち、まず、本発明に係るプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報の使用により暗号化されたプログラムを実行してコンピュータにインストールさせて本発明に係る構成を実現する。このような供給形態も可能である。
【0059】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他次のような実現形態も想定される。即ち、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0060】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づいても前述した実施形態の機能が実現される。即ち、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0061】
【図1】本実施形態に係る情報処理装置のハードウェア構成を模式的に示すブロック図である。
【図2】HTML文章をレンダリングする処理の動作の概要を示すフロー図である。
【図3】処理対象のHTML文書の一例を示す図である。
【図4】矩形オブジェクトのツリーとレイアウト結果のイメージを示す図である。
【図5】レイアウトを決定するための矩形オブジェクト毎の処理動作を示すフロー図である。

【特許請求の範囲】
【請求項1】
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力手段と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析手段と、
第1の矩形オブジェクトの幅、及び、該第1の矩形オブジェクトの子ノードに対応する第2の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第2の矩形オブジェクトの幅及び位置を決定する決定手段と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定手段を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御手段と、を備えることを特徴とする情報処理装置。
【請求項2】
前記決定された全ての矩形オブジェクトの幅及び位置に基づいて、前記文書を出力する出力手段を更に備え、
前記最上位ノードに対応する矩形オブジェクトの幅は前記出力手段のサイズに基づいて決定されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記決定制御手段は、更に、決定された前記幅に基づいて前記矩形オブジェクトの高さを決定することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記文書情報はHTML文書であることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
矩形オブジェクトがツリー構造を構成してなる文書を示す文書情報を入力する入力工程と、
入力された前記文書情報を解析して前記ツリー構造のノードに対応する各矩形オブジェクトの、最低幅情報、基準幅情報、配置ルール情報を取得する解析工程と、
第1の矩形オブジェクトの幅、及び、該第1の矩形オブジェクトの子ノードに対応する第2の矩形オブジェクトの前記最低幅情報、前記基準幅情報、前記配置ルール情報に基づいて、該第2の矩形オブジェクトの幅及び位置を決定する決定工程と、
前記ツリー構造の最上位ノードに対応する矩形オブジェクトから下位ノードに対応する矩形オブジェクトについて順に、前記決定工程を再帰的に実行することにより、前記ツリー構造を構成する全ての矩形オブジェクトの幅及び位置を決定する決定制御工程と、を備えることを特徴とする情報処理装置の制御方法。
【請求項6】
前記決定された全ての矩形オブジェクトの幅及び位置に基づいて、前記文書を出力手段に出力する出力工程を更に備え、
前記最上位ノードに対応する矩形オブジェクトの幅は前記出力手段のサイズに基づいて決定されることを特徴とする請求項5に記載の情報処理装置の制御方法。
【請求項7】
前記決定制御工程は、更に、決定された前記幅に基づいて前記矩形オブジェクトの高さを決定することを特徴とする請求項5又は6に記載の情報処理装置の制御方法。
【請求項8】
前記文書情報はHTML文書であることを特徴とする請求項5乃至7のいずれか1項に記載の情報処理装置の制御方法。
【請求項9】
請求項5乃至8のいずれか1項に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate