(57)【要約】【課題】全てのレイアウトルールをメモリ上に展開せずに、レイアウト処理を行うことを目的とする。【解決手段】データと書式構造とから構成されるレイアウトルールを取得する取得手段と、取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位か否かを判定するレイアウト可能判定手段と、レイアウト可能判定手段においてレイアウト可能であると判定された処理単位のレイアウトルールに関する矩形情報をレイアウト領域に配置可能か否かを判定する配置判定手段と、配置判定手段において矩形情報をレイアウト領域に配置不可能と判定された場合、レイアウトルールを再構築する再構築手段と、を有することによって課題を解決する。【選択図】図１
2008198110.tif 000002
【特許請求の範囲】
【請求項１】
データと書式構造とから構成されるレイアウトルールを取得する取得手段と、
前記取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位か否かを判定するレイアウト可能判定手段と、
前記レイアウト可能判定手段においてレイアウト可能であると判定された処理単位のレイアウトルールに関する矩形情報をレイアウト領域に配置可能か否かを判定する配置判定手段と、
前記配置判定手段において前記矩形情報をレイアウト領域に配置不可能と判定された場合、レイアウトルールを再構築する再構築手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記配置判定手段において前記矩形情報をレイアウト領域に配置可能と判定された場合、前記矩形情報を記憶手段に蓄積する蓄積手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記配置判定手段において前記矩形情報をレイアウト領域に配置不可能と判定された場合、前記記憶手段に蓄積されている矩形情報からページレイアウト情報を生成する生成手段を更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記生成手段は、前記記憶手段に蓄積されている矩形情報からページレイアウト情報を生成した後、前記記憶手段に蓄積されている矩形情報を削除することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記レイアウト可能判定手段においてレイアウト可能であると判定された処理単位のレイアウトルールを用いて、レイアウト領域に配置する、開始座標、高さ、幅を包含する矩形情報を作成するレイアウト手段を更に有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記レイアウト可能判定手段は、前記取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位であると判定するまで、レイアウトルールの取得を指示し、前記取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位であると判定すると、レイアウトルールの取得の停止を指示することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
情報処理装置における情報処理方法であって、
データと書式構造とから構成されるレイアウトルールを取得する取得ステップと、
前記取得ステップにおいて取得されたレイアウトルールが、レイアウト処理可能な処理単位か否かを判定するレイアウト可能判定ステップと、
前記レイアウト可能判定ステップにおいてレイアウト可能であると判定された処理単位のレイアウトルールに関する矩形情報をレイアウト領域に配置可能か否かを判定する配置判定ステップと、
前記配置判定ステップにおいて前記矩形情報をレイアウト領域に配置不可能と判定された場合、レイアウトルールを再構築する再構築ステップと、
を有することを特徴とする情報処理方法。
【請求項８】
前記配置判定ステップにおいて前記矩形情報をレイアウト領域に配置可能と判定された場合、前記矩形情報を記憶手段に蓄積する蓄積ステップを更に有することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記配置判定ステップにおいて前記矩形情報をレイアウト領域に配置不可能と判定された場合、前記記憶手段に蓄積されている矩形情報からページレイアウト情報を生成する生成ステップを更に有することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記生成ステップでは、前記記憶手段に蓄積されている矩形情報からページレイアウト情報を生成した後、前記記憶手段に蓄積されている矩形情報を削除することを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
前記レイアウト可能判定ステップにおいてレイアウト可能であると判定された処理単位のレイアウトルールを用いて、レイアウト領域に配置する、開始座標、高さ、幅を包含する矩形情報を作成するレイアウトステップを更に有することを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理方法。
【請求項１２】
前記レイアウト可能判定ステップでは、前記取得ステップにおいて取得されたレイアウトルールが、レイアウト処理可能な処理単位であると判定するまで、レイアウトルールの取得を指示し、前記取得ステップにおいて取得されたレイアウトルールが、レイアウト処理可能な処理単位であると判定すると、レイアウトルールの取得の停止を指示することを特徴とする請求項７乃至１１のいずれか１項に記載の情報処理方法。
【請求項１３】
コンピュータを、
データと書式構造とから構成されるレイアウトルールを取得する取得手段と、
前記取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位か否かを判定するレイアウト可能判定手段と、
前記レイアウト可能判定手段においてレイアウト可能であると判定された処理単位のレイアウトルールに関する矩形情報をレイアウト領域に配置可能か否かを判定する配置判定手段と、
前記配置判定手段において前記矩形情報をレイアウト領域に配置不可能と判定された場合、レイアウトルールを再構築する再構築手段と、
して機能させることを特徴とするプログラム。
【請求項１４】
前記配置判定手段において前記矩形情報をレイアウト領域に配置可能と判定された場合、前記矩形情報を記憶手段に蓄積する蓄積手段を更に有することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記配置判定手段において前記矩形情報をレイアウト領域に配置不可能と判定された場合、前記記憶手段に蓄積されている矩形情報からページレイアウト情報を生成する生成手段を更に有することを特徴とする請求項１４に記載のプログラム。
【請求項１６】
前記生成手段は、前記記憶手段に蓄積されている矩形情報からページレイアウト情報を生成した後、前記記憶手段に蓄積されている矩形情報を削除することを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記レイアウト可能判定手段においてレイアウト可能であると判定された処理単位のレイアウトルールを用いて、レイアウト領域に配置する、開始座標、高さ、幅を包含する矩形情報を作成するレイアウト手段を更に有することを特徴とする請求項１３乃至１６のいずれか１項に記載のプログラム。
【請求項１８】
前記レイアウト可能判定手段は、前記取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位であると判定するまで、レイアウトルールの取得を指示し、前記取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位であると判定すると、レイアウトルールの取得の停止を指示することを特徴とする請求項１３乃至１７のいずれか１項に記載のプログラム。
【請求項１９】
請求項１３乃至１８のいずれか１項に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、構造化文書でレイアウトルールを記述できるものとして、Ｗ３Ｃの規格であるＸＳＬ−ＦＯがある。なお、Ｗ３Ｃは、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍの略である。ＸＳＬ−ＦＯは、ｅＸｔｅｎｓｉｂｌｅ  Ｓｔｙｌｅｓｈｅｅｔ  Ｌａｎｇｕａｇｅ−  Ｆｏｒｍａｔｔｉｎｇ  Ｏｂｊｅｃｔの略である。
【０００３】
ＸＳＬ−ＦＯは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書をレイアウトして組版するための仕様である。
【０００４】
ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）及びそのスタイルを規格するＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）には、ページの概念が十分ではなかった。しかしながら、ＸＳＬ−ＦＯでは、紙面への印刷を意識したページの概念が取り入れられており、複雑なスタイルを定めることが可能となっている。ＸＳＬ−ＦＯでは、例えば、複数のページ書式の切り替え、脚注、ヘッダ、フッタ、柱、段組、行や文字の進行方向の切り替え、目次、リーダ、ページ番号の自動再生、索引等の印刷技術に基づくレイアウトが可能である。更に、Ｗ３Ｃの規格では、レイアウトルールだけでなく、実装仕様として、レイアウトルールを実現するに当たっての指針が示されている。
【０００５】
また、このＸＳＬ−ＦＯを解釈し、出力媒体に印刷が可能なシステムの提案として、特許文献１がある。
【０００６】
【特許文献１】特開２００４−１７１２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
Ｗ３ＣのＸＳＬ−ＦＯの規格や、特許文献１の提案では、ＤＯＭ等により、ＸＳＬ−ＦＯ構造化文書を全て、メモリ上へ展開し、全てのオブジェクトに対してレイアウト処理が完了してから、出力処理を行うような処理方法が想定されている。なお、ＤＯＭは、Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌの略である。
【０００８】
このような処理方法が想定されているのは、例えば、テーブル等の複数ページに跨るようなレイアウト情報の場合、全てのデータを展開しなければ、テーブル自体の高さや、幅、カラムの幅等の情報を求めることができないためである。
【０００９】
例えば、テーブルの書式情報としてセルに配置される情報は改行不可と定義されている場合、全てのデータを展開しなければ、最大のセル幅を求めることができない。ＰＣ等計算機資源の制約が少ない機器で処理する場合は、このように全てのデータをメモリ上に展開し、全ページの出力情報が確定してから印刷の処理を行うことが可能である。しかしながら、プリンタ等の組み込み機器では、このような方法は、計算機資源の制約のため困難である。
【００１０】
本発明はこのような問題点に鑑みなされたもので、全てのレイアウトルールをメモリ上に展開せずに、レイアウト処理を行うことを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明は、データと書式構造とから構成されるレイアウトルールを取得する取得手段と、前記取得手段において取得されたレイアウトルールが、レイアウト処理可能な処理単位か否かを判定するレイアウト可能判定手段と、前記レイアウト可能判定手段においてレイアウト可能であると判定された処理単位のレイアウトルールに関する矩形情報をレイアウト領域に配置可能か否かを判定する配置判定手段と、前記配置判定手段において前記矩形情報をレイアウト領域に配置不可能と判定された場合、レイアウトルールを再構築する再構築手段と、を有することを特徴とする。
【００１２】
係る構成とすることにより、例えばレイアウトルールを処理可能な処理単位まで読み込み、逐次処理することができる。より具体的には、例えば、矩形情報を１ページ内のレイアウト領域にレイアウトすることができない場合は、次の１ページ内のレイアウト領域にレイアウトすることができるようレイアウトルールを再構築する。よって、全てのレイアウトルールをメモリ上に展開せずに、レイアウト処理を行うことができる。
【００１３】
また、本発明は、情報処理方法及びプログラムとしてもよい。
【発明の効果】
【００１４】
本発明によれば、全てのレイアウトルールをメモリ上に展開せずに、レイアウト処理を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面に基づいて説明する。
【００１６】
図１は、情報処理装置におけるレイアウト処理の概念図である。
情報処理装置は、まず、構造化文書で記載されたレイアウトルール２００の内、処理可能な最小単位（図１の例では、ｔａｂｌｅ−ｒｏｗ）を読み込み、解析し、２０１のような木構造に展開する。つまり、図１の例では、オブジェクトの一例がテーブル（ｔａｂｌｅ）、処理可能な最小単位（処理単位）の一例がテーブルの行（ｔａｂｌｅ−ｒｏｗ）となっている。
なお、図１に示されるように、レイアウトルールは、データと書式構造とから構成される。
【００１７】
その後、情報処理装置は、２０１に対して、校正、組版等のレイアウト処理を行ない、処理可能な最小単位のみのレイアウト結果である矩形情報を作成する。更に、情報処理装置は、１ページ内に前記作成した矩形情報が収まるか否かを判定する。
【００１８】
図１の例では、矩形情報は１ページ内に収まるため、情報処理装置は、矩形情報（又は矩形情報を用いて作成したページ情報２０２）をメモリに蓄積する。
【００１９】
その後、情報処理装置は、再び構造化文書で記載されたレイアウトルール２００から、処理可能な最小単位のみを読み込み、解析し、２０３のような木構造に展開する。その後、情報処理装置は、２０３に対して、校正、組版等のレイアウト処理を行ない、処理可能な最小単位のみの矩形情報を作成する。更に、情報処理装置は、１ページ内に、メモリに蓄積してある矩形情報（２０１に対応する矩形情報）に前記作成した矩形情報（２０３に対応する矩形情報）を付け加えた矩形情報が収まるか否かを判定する。
【００２０】
図１の例では、１ページ内に収まるため、情報処理装置は、メモリに蓄積してある矩形情報に作成した矩形情報を付け加えた矩形情報（又はこの矩形情報を用いて作成したページ情報２０４）をメモリに蓄積する。
【００２１】
その後、情報処理装置は、再び構造化文書で記載されたレイアウトルール２００から、処理可能な最小単位のみを読み込み、解析し、２０５のような木構造に展開する。その後、情報処理装置は、２０５に対して、校正、組版等のレイアウト処理を行ない、処理可能な最小単位のみの矩形情報を作成する。更に、情報処理装置は、１ページ内に、メモリに蓄積してある矩形情報に前記作成した矩形情報（２０５に対応する矩形情報）を付け加えた矩形情報が収まるか否かを判定する。
【００２２】
図１の例では、１ページ内に収まらないため、情報処理装置は、メモリに蓄積してある矩形情報（又はページ情報２０４）に応じて、１ページのレイアウト情報２０６を生成し、出力する。なお、情報処理装置は、レイアウト情報２０６を生成し、出力した後は、メモリ内の矩形情報を削除する。
【００２３】
また、情報処理装置は、構造化文書で記載されたレイアウトルール２００に対して、レイアウトルールの再構成の処理を実施する。
【００２４】
この処理は、例えば、テーブルや段落等（図１の例ではテーブル）で複数ページに跨り、ページに収まらない場合、レイアウトルール自体を１ページで収まる情報量になるようにオブジェクトを分割するよう再構成するものである。図１のようなテーブルの場合、情報処理装置が処理可能な最小単位は行である。テーブル自体、展開（メモリへの蓄積）が終了していないが、レイアウト対象の行が、例えば既に他の行等が配置されている同一のページに配置できない場合、情報処理装置は、このテーブルを配置（又は展開）すると複数ページに跨ると判定する。そして、このように判定した場合、文書管理装置は、レイアウトルールの再構築の処理を実行する。
【００２５】
このレイアウトルールの再構成処理によって、構造化文書で記載されたレイアウトルール２００がレイアウトルール２０７のように再構成される。図１は、１ページに収まる情報量でテーブル自体を分割している例である。
【００２６】
その後、情報処理装置は、構造化文書で記載されたレイアウトルール２０７の残りのレイアウトルールに対してレイアウト処理を実施する。まず、情報処理装置は、構造化文書で記載されたレイアウトルール２０７から処理可能な最小単位のみを読み込み、解析し、２０８のような木構造に展開する。その後、情報処理装置は、２０８に対して、校正、組版等のレイアウト処理を行ない、処理可能な最小単位のみの矩形情報を作成する。更に、情報処理装置は、新しいページの１ページ内に前記作成した矩形情報が収まるか否かを判定する。
【００２７】
図１では、１ページ内に収まるため、情報処理装置は、矩形情報、又はこの矩形情報を用いて作成したページ情報２０９をメモリに蓄積する。
【００２８】
その後、情報処理装置は、再び構造化文書で記載されたレイアウトルール２０７から、処理可能な最小単位のみを読み込み、解析し、２１０のような木構造に展開する。その後、情報処理装置は、２１０に対して、校正、組版といったレイアウト処理を行ない、処理可能な最小単位のみの矩形情報を作成する。更に、情報処理装置は、１ページ内に、メモリに蓄積してある矩形情報（２０８に対応する矩形情報）に前記作成した矩形情報（２１０に対応する矩形情報）を付け加えた矩形情報が収まるか否かを判定する。
【００２９】
図１の例では、１ページ内に収まるため、情報処理装置は、メモリに蓄積してある矩形情報に作成した矩形情報を付け加えた矩形情報（又はこの矩形情報を用いて作成したページ情報２１１）をメモリに蓄積する。
【００３０】
上述したように、情報処理装置は、段落又はテーブルの行等の、レイアウトルールを処理可能な処理単位まで読み込み、逐次レイアウト処理し、１ページ分のデータが蓄積された段階で出力し、出力したデータをメモリ上から消去する処理を行う。つまり、情報処理装置は、図１のように、複数ページに跨るようなレイアウトルールの場合、１ページに収まる情報量になるようにレイアウトルールを逐次書き換えながら処理する。このことで、必ず１ページ毎にデータが出力できるようにレイアウト処理を実行することができる。これにより、メモリ内に蓄積されるデータ量は最大でも１ページ分のページ情報のみになる。そのため、プリンタ等のメモリ資源の使用に制約がある組み込み機器においても、構造化文書で記載されたレイアウトルールに基づいて、出力媒体にレイアウト情報を出力することができる。
【００３１】
図２は、情報処理装置の一例であるプリンタのハードウェア構成の一例を示すブロック図である。プリンタは、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、入力装置３０４、表示装置３０５、通信装置３０６、画像処理装置３０７を有する。
【００３２】
ＣＰＵ３０１は、プリンタ全体の制御を司る。ＲＯＭ３０２は、読み出し専用記憶装置であり、ＣＰＵ３０１によって実行されるプログラムが記憶されている。ＲＡＭ３０３は、ＣＰＵ３０１がプログラムを実行するためのワークエリアとして使用される。入力装置３０４は、各種データ及びコマンドの入力を行う。
【００３３】
表示装置３０５は、各種データの表示及び入力装置３０４の操作を行うためのカーソルを表示する。なお、情報処理装置としては、表示装置３０５は必須ではないが、ページレイアウト情報等を表示する場合には必須となる。通信装置３０６は、外部端末からデータを取得する。なお、情報処理装置としては、通信装置３０６は必須ではないが、レイアウトルールを外部端末から取得する場合には必要となる。
【００３４】
画像処理装置３０７は、画像を処理する（又はプリント処理する）装置であり、例えばページレイアウト情報を画像化する際に利用される。なお、ＣＰＵ３０１が、ＲＯＭ３０２等に記憶されているアプリケーションプログラムをＲＡＭ３０３上に読み出して、このアプリケーションプログラムに基づいて、処理を実行することにより、後述する機能、又はフローチャートを実現する。
【００３５】
図３は、情報処理装置の機能構成の一例を示す図である。図３に示されるように、情報処理装置は、機能構成として、入力処理部４００と、レイアウト処理部４０４と、出力処理部４０８と、を含む。
【００３６】
また、入力処理部４００は、レイアウトルール取得部４０１と、レイアウト可能判定部４０２と、レイアウトルール再構築部４０３と、を含む。また、レイアウト処理部４０４は、レイアウト部４０５と、矩形配置判定部４０６と、矩形情報蓄積部４０７と、を含む。また、出力処理部４０８は、ページレイアウト情報生成部４０９と、レンダリング部４１０と、を含む。
【００３７】
レイアウトルール取得部４０１は、レイアウト可能判定部４０２から取得の停止の指示を受けるまで図１の２００に示されるようなレイアウトルールを取得する。レイアウト可能判定部４０２は、レイアウトルール取得部４０１が取得したレイアウトルールに基づいて、レイアウト処理可能な最小単位が構成されたか（最小単位分のレイアウトルールが取得されたか）否かを判定する。そして、レイアウト可能判定部４０２は、最小単位が構成されたと判定した段階で、レイアウトルール取得部４０１に対して、レイアウトルールの取得の停止を指示し、待機させる。
なお、レイアウト処理可能な最小単位とは、図１の例では、例えば＜ｔａｂｌｅ−ｒｏｗ＞のタグで囲まれている部分に対応する。
【００３８】
また、レイアウト可能判定部４０２は、レイアウト処理可能な最小単位が構成されたと判定した段階で、レイアウト部４０５に対してこの最小単位（最小単位分のレイアウトルール）を渡して、レイアウトを要求する。
【００３９】
レイアウト部４０５は、取得した最小単位分のレイアウトルールに基づいて、開始座標、高さ、幅、余白情報、罫線情報、背景情報、包含する矩形情報を生成する。矩形配置判定部４０６は、レイアウト部４０５が生成した矩形情報を出力媒体上のレイアウト領域内に配置可能か否か、矩形情報が包含する開始座標、高さ、幅等を用いて判定する。
【００４０】
矩形情報蓄積部４０７は、矩形配置判定部４０６において配置可能であると判定された場合、矩形情報をＲＡＭ３０３等のメモリに蓄積する。
【００４１】
一方、ページレイアウト情報生成部４０９は、矩形配置判定部４０６において配置不可能であると判定された場合、ＲＡＭ３０３等のメモリに蓄積されてある矩形情報に基づいて、ページレイアウト情報を生成する。レンダリング部４１０は、ページレイアウト情報生成部４０９において生成されたページレイアウト情報を画像化する。
【００４２】
レイアウトルール再構築部４０３は、矩形配置判定部４０６において配置不可能であると判定された場合、レイアウトルールを再構築する。例えば、レイアウトルール再構築部４０３は、レイアウトルールから、ページレイアウト情報生成部４０９で生成されたページレイアウト情報に関する矩形情報を生成するためのレイアウトルールを削除し、レイアウトルールを再構築する。
【００４３】
図４は、情報処理装置の一例を示すフローチャートである。
ステップＳ５００において、レイアウトルール取得部４０１は、レイアウト可能判定部４０２から取得の停止の指示を受けるまでレイアウトルールを取得する。なお、レイアウト可能判定部４０２は、処理可能な最小単位を判別し、その最小単位が構成された段階で、レイアウトルール取得部４０１に対して、取得の停止を指示し、待機させる。
【００４４】
ステップＳ５０１において、レイアウト可能判定部４０２は、レイアウトルール取得部４０１よりレイアウトルール（又は処理可能な最小単位分のレイアウトルール）の入力があったか否かを判定する。レイアウトルールの入力が無かった場合は、全てのレイアウトルールの処理が完了した場合であるため、レイアウト可能判定部４０２は、図４に示すフローチャートの処理を終了する。レイアウトルールの入力があった場合には、レイアウト可能判定部４０２は、ステップＳ５０２に処理を進める。
【００４５】
ステップＳ５０２において、レイアウト可能判定部４０２から指示を受けたレイアウト部４０５は、取得したレイアウトルールから、開始座標、高さ、幅、余白情報、罫線情報、背景情報、等を包含する矩形情報を生成する。
【００４６】
ステップＳ５０３において、矩形配置判定部４０６は、出力媒体上のレイアウト領域内にステップＳ５０２において作成された矩形情報を配置可能か否か、矩形情報の開始座標、高さ、幅を用いて判定する。配置可能と判定した場合には、矩形配置判定部４０６は、ステップＳ５０４に処理を進める。配置不可能と判定した場合には、矩形配置判定部４０６は、ステップＳ５０５に処理を進める。
【００４７】
ステップＳ５０４において、矩形配置判定部４０６より通知を受けた矩形情報蓄積部４０７は、ステップＳ５０２において作成された矩形情報をＲＡＭ３０３等のメモリに蓄積し、ステップＳ５００に処理を戻す。
【００４８】
一方、ステップＳ５０５において、矩形配置判定部４０６より通知を受けたページレイアウト情報生成部４０９は、矩形情報蓄積部４０７によってＲＡＭ３０３等のメモリに蓄積されている全ての矩形情報からページレイアウト情報を生成する。
【００４９】
ステップＳ５０６において、ページレイアウト情報生成部４０９は、ページレイアウト情報を生成後、矩形情報蓄積部４０７によってＲＡＭ３０３等のメモリに蓄積されている全ての矩形情報を削除する。
【００５０】
続いてステップＳ５０７において、レイアウトルール再構築部４０３は、１ページに収まる情報量になるようにレイアウトルールを再構築する。例えば、レイアウトルール再構築部４０３は、図１に示されるように、レイアウトルール２００をレイアウトルール２０７のように再構築する。なお、レイアウトルール再構築部４０３は、ページレイアウト情報を生成するのに用いられた矩形情報を生成するのに用いられたレイアウトルールを、もとのレイアウトルールより削除し、未処理のレイアウトルールを用いてレイアウトルールを再構築してもよい。このとき、レイアウトルール再構築部４０３は、オブジェクトのプロパティ（例えば、開始座標、高さ、幅等の情報）は、新しいレイアウトルールにコピーして、再構築を行う。
【００５１】
ステップＳ５０８において、レンダリング部４１０は、ステップＳ５０５において生成されたページレイアウト情報をレンダリングして画像化（又は可視化）する。続いて、ステップＳ５０９において、出力処理部４０８（又はレンダリング部４１０）は、ステップＳ５０８において生成された１ページの情報を出力し、ステップＳ５００に処理を戻す。
【００５２】
以上、上述した各実施形態によれば、段落及びテーブルの行等のオブジェクトのレイアウトルールを処理可能な単位まで読み込み、逐次レイアウト処理し、１ページ分のデータが蓄積された段階で出力することができる。また、上述した各実施形態によれば、オブジェクトが複数ページに跨るような場合、１ページに収まる情報量になるようにレイアウトルールを再構築しながら処理することができる。したがって、必ず１ページ毎にデータが出力できるようにレイアウト処理することができる。
【００５３】
また、上述した各実施形態によれば、レイアウトルールを全てメモリ上に展開することなく、レイアウト処理に必要な最小単位だけをメモリ上に保持することができる。
また、上述した各実施形態によれば、レイアウト処理可能な最小単位をレンダリング処理可能な矩形情報に変換することができる。
また、上述した各実施形態によれば、最大でも１ページに配置可能な矩形情報を保持することで、少ないメモリでレイアウト処理することができる。
【００５４】
（その他の実施形態）
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（又は記憶媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００５５】
また、システム或いは装置の前記コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００５６】
更に、記録媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００５７】
本発明を前記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００５８】
以上、上述した各実施形態によれば、全てのレイアウトルールをメモリ上に展開せずに、レイアウト処理を行うことができる。
【００５９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００６０】
なお、上述した実施形態では情報処理装置の一例としてプリンタを例に説明を行ったが、プリンタに限られず、ＰＣ、コンピュータを内蔵したテレビ等の各種家電製品、ゲーム機、電話機、ＦＡＸ、複合機、携帯電話機、ＰＨＳ、電子手帳等であってもよい。また、これらを組み合わせたシステムにおいても上述した実施形態を実現することができる。
【図面の簡単な説明】
【００６１】
【図１】情報処理装置におけるレイアウト処理の概念図である。
【図２】情報処理装置の一例であるプリンタのハードウェア構成の一例を示すブロック図である。
【図３】情報処理装置の機能構成の一例を示す図である。
【図４】情報処理装置の一例を示すフローチャートである。
【符号の説明】
【００６２】
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  入力装置
３０５  表示装置
３０６  通信装置
３０７  画像処理装置
４００  入力処理部
４０１  レイアウトルール取得部
４０２  レイアウト可能判定部
４０３  レイアウトルール再構築部
４０４  レイアウト処理部
４０５  レイアウト部
４０６  矩形配置判定部
４０７  矩形情報蓄積部
４０８  出力処理部
４０９  ページレイアウト情報生成部
４１０  レンダリング部
【図１】
2008198110.tif 000003
【図２】
2008198110.tif 000004
【図３】
2008198110.tif 000005
【図４】
2008198110.tif 000006