(57)【特許請求の範囲】
【請求項１】
ページの定義されていない構造化記述言語で記述され、特定データとして文字データと図形データとが含まれる文書データを、物理ページにレイアウトする画像処理装置であって、
前記文書データに含まれる複数の特定データのうち、前記図形データに関して、その幅を示すタグを解析することで、最大の幅を有する図形データを抽出するとともに、該抽出された図形データが、物理ページの印字可能領域の幅に収まるようにレイアウトする場合の変倍率を、物理ページにおける印字可能領域の幅を示す情報と、印刷する際の解像度を示す情報と、前記最大の幅を有する図形データの幅を示す情報とを用いて決定する決定手段と、
前記文書データに含まれる複数の特定データのうち、前記文字データについては、その文字サイズを示すタグを順次抽出し、前記決定手段が決定した変倍率をかけあわせることで、該文字サイズを変更したうえで印刷処理のための画像処理を実行し、前記図形データについては、その幅と高さを示すタグを順次抽出し、前記決定手段が決定した変倍率をかけあわせることで、該幅と高さを変更したうえで印刷処理のための画像処理を実行する画像処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記構造化記述言語はＨＴＭＬであることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記構造化記述言語はＸＭＬであることを特徴とする請求項１記載の画像処理装置。
【請求項４】
更に、前記画像処理手段によって画像処理された文書データを描画する描画手段を有することを特徴とする請求項１記載の画像処理装置。
【請求項５】
更に、前記描画手段によって描画されたデータを記録媒体上に可視像化する画像形成手段を有することを特徴とする請求項４記載の画像処理装置。
【請求項６】
ページの定義されていない構造化記述言語で記述され、特定データとして文字データと図形データとが含まれる文書データを、物理ページにレイアウトする画像処理方法であって、
前記文書データに含まれる複数の特定データのうち、前記図形データに関して、その幅を示すタグを解析することで、最大の幅を有する図形データを抽出するとともに、該抽出された図形データが、物理ページの印字可能領域の幅に収まるようにレイアウトする場合の変倍率を、物理ページにおける印字可能領域の幅を示す情報と、印刷する際の解像度を示す情報と、前記最大の幅を有する図形データの幅を示す情報とを用いて決定する決定ステップと、
前記文書データに含まれる複数の特定データのうち、前記文字データについては、その文字サイズを示すタグを順次抽出し、前記決定ステップが決定した変倍率をかけあわせることで、該文字サイズを変更したうえで印刷処理のための画像処理を実行し、前記図形データについては、その幅と高さを示すタグを順次抽出し、前記決定手段が決定した変倍率をかけあわせることで、該幅と高さを変更したうえで印刷処理のための画像処理を実行する画像処理ステップと、
を有することを特徴とする画像処理方法。
【請求項７】
前記構造化記述言語はＨＴＭＬであることを特徴とする請求項６記載の画像処理方法。
【請求項８】
前記構造化記述言語はＸＭＬであることを特徴とする請求項６記載の画像処理方法。
【請求項９】
更に、前記画像処理ステップによって画像処理された文書データを描画する描画ステップを有することを特徴とする請求項６記載の画像処理方法。
【請求項１０】
更に、前記描画ステップによって描画されたデータを記録媒体上に可視像化する画像形成ステップを有することを特徴とする請求項９記載の画像処理方法。
【請求項１１】
請求項６乃至１０のいずれかに記載の画像処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、構造化記述言語で記述された文書データを物理ページにレイアウトする画像処理装置及びその方法、及び画像処理システムに関する。
【０００２】
【従来の技術】
パーソナルコンピュータ及びインターネットの急速な普及により、業種を問わず文書の電子化が促進されつつある。一般に、電子化文書のデータ形式は文書を編集するアプリケーションに依存するため、電子化された文書を閲覧するためには該当文書のデータ形式をサポートするアプリケーションを用意する必要があった。
【０００３】
そこで、HTML(Hyper Text Markup Language)やXML(eXtensible Markup Language)といった、特定のアプリケーションに依存しない構造化記述言語によって記述された文書が普及しつつある。一般に構造化記述言語は、ブラウザによってディスプレイ上に表示することを前提に設計されており、表示する画面の幅や高さを任意に変えたり、画面をスクロールさせたりすることが可能であるため、「ページ」という概念は必要ない。
【０００４】
しかしながら、構造化記述言語をページ記述言語として利用する場合には、ページへの割り付けを行う必要がある。そこで、近年ページレイアウト可能な構造化記述言語が開発されつつあり、出版用の組版ルール等を用いることによって、ページ概念の無い構造化記述言語をページレイアウト可能な構造化記述言語に変換することも可能となった。このように、ページ概念の無い構造化記述言語をページレイアウト可能な構造化記述言語に変換する工程は、「フォーマッティング」と称される。
【０００５】
図９に、ページ概念のない構造化記述言語で記述された文書のブラウザによる表示例を示す。一般的なブラウザによれば同図に示すように、表示画面の大きさを変えたり、スクロールバーを使って画面を縦横スクロールさせることができる。
【０００６】
これに対し、図１０にフォーマッティング後の構造化記述言語で記述された文書の表示例を示す。同図によれば、フォーマッティング後の文書はページ単位に表示または印刷することができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記従来のフォーマッティングにおいては、構造化記述言語によって記述された文書データの物理ページへの割りつけは、固定倍率によるものであった。従って、ページの内容によっては見えにくくなってしまったり、ユーザ好みのレイアウトが得られるとは限らないといった問題が発生していた。
【０００８】
本発明は上述した問題を解決するために成されたものであり、構造化記述言語によって記述された文書データを物理ページへレイアウトする際に、自由度の高いレイアウトを実現する画像処理装置及びその方法、及び画像処理システムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【００１０】
構造化記述言語で記述された文書データを物理ページにレイアウトする画像処理装置であって、
ページの定義されていない構造化記述言語で記述され、特定データとして文字データと図形データとが含まれる文書データを、物理ページにレイアウトする画像処理装置であって、
前記文書データに含まれる複数の特定データのうち、前記図形データに関して、その幅を示すタグを解析することで、最大の幅を有する図形データを抽出するとともに、該抽出された図形データが、物理ページの印字可能領域の幅に収まるようにレイアウトする場合の変倍率を、物理ページにおける印字可能領域の幅を示す情報と、印刷する際の解像度を示す情報と、前記最大の幅を有する図形データの幅を示す情報とを用いて決定する決定手段と、
前記文書データに含まれる複数の特定データのうち、前記文字データについては、その文字サイズを示すタグを順次抽出し、前記決定手段が決定した変倍率をかけあわせることで、該文字サイズを変更したうえで印刷処理のための画像処理を実行し、前記図形データについては、その幅と高さを示すタグを順次抽出し、前記決定手段が決定した変倍率をかけあわせることで、該幅と高さを変更したうえで印刷処理のための画像処理を実行する画像処理手段と、を有することを特徴とする。
【００１１】
上記画像処理装置において、例えば、前記構造化記述言語はＨＴＭＬであることを特徴とする。
【００１２】
上記画像処理装置において、例えば、前記構造化記述言語はＸＭＬであることを特徴とする。
【００１３】
上記画像処理装置は、更に、前記画像処理手段によって画像処理された文書データを描画する描画手段を有することを特徴とする。
【００１４】
上記画像処理装置は、更に、前記描画手段によって描画されたデータを記録媒体上に可視像化する画像形成手段を有することを特徴とする。
【００１５】
上記目的を達成するための一手段として、本発明の画像処理方法は以下の構成を備える。即ち、
ページの定義されていない構造化記述言語で記述され、特定データとして文字データと図形データとが含まれる文書データを、物理ページにレイアウトする画像処理方法であって、
前記文書データに含まれる複数の特定データのうち、前記図形データに関して、その幅を示すタグを解析することで、最大の幅を有する図形データを抽出するとともに、該抽出された図形データが、物理ページの印字可能領域の幅に収まるようにレイアウトする場合の変倍率を、物理ページにおける印字可能領域の幅を示す情報と、印刷する際の解像度を示す情報と、前記最大の幅を有する図形データの幅を示す情報とを用いて決定する決定ステップと、
前記文書データに含まれる複数の特定データのうち、前記文字データについては、その文字サイズを示すタグを順次抽出し、前記決定ステップが決定した変倍率をかけあわせることで、該文字サイズを変更したうえで印刷処理のための画像処理を実行し、前記図形データについては、その幅と高さを示すタグを順次抽出し、前記決定手段が決定した変倍率をかけあわせることで、該幅と高さを変更したうえで印刷処理のための画像処理を実行する画像処理ステップと、を有することを特徴とする。
【００１６】
上記画像処理方法において、例えば、前記構造化記述言語はＨＴＭＬであることを特徴とする。
【００１７】
上記画像処理方法において、例えば、前記構造化記述言語はＸＭＬであることを特徴とする。
【００１８】
上記画像処理方法は、更に、前記画像処理ステップによって画像処理された文書データを描画する描画ステップを有することを特徴とする。
【００１９】
上記画像処理方法は、更に、前記描画ステップによって描画されたデータを記録媒体上に可視像化する画像形成ステップを有することを特徴とする。
【００２０】
また、上記目的を達成するための一手段として、本発明の記憶媒体は、上記画像処理方法をコンピュータによって実現させるための制御プログラムを格納したことを特徴とする。
【００２１】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００２２】
＜第１実施形態＞
まず、本実施形態を適用するに好適なレーザービームプリンタ（以下、単に「プリンタ」と記述する）の構成について、図１を参照して説明する。尚、本実施形態が適用されるプリンタはレーザービーム方式に限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【００２３】
図１は、本実施形態が適用されるプリンタの内部構造を示す断面図であり、不図示のデータ源からの文字パターンの登録や定型書式（フォームデータ）などの登録が行える。同図において、１０００はプリンタ本体であり、外部に接続されているホストコンピュータから供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。１０１２は操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネル、１００１はプリンタ１０００全体の制御およびホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。  レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えする。
【００２４】
レーザ１００４は回転多面鏡１００５で左右方向に振られ静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲の現像ユニット１００７により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はプリンタ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００２５】
図２は、本実施形態におけるプリンタ制御システムの構成を説明するブロック図である。ここでは、図１に示したプリンタ１０００を制御する例について説明する。尚、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
【００２６】
図２において、３０００はホストコンピュータであり、ＲＯＭ内３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて文書データの取り出しやデータ変換を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００２７】
ＲＯＭ３内のプログラム用ＲＯＭには、ＣＰＵ１の制御プログラム等が記憶され、同じくフォント用ＲＯＭには上記データ変換処理の際に使用するフォントデ−タ等が記憶され、同じくデ−タ用ＲＯＭは上記データ変換処理等を行う際に使用する各種デ−タが記憶される。
【００２８】
２はＲＡＭであり、ＣＰＵ１の主メモリやワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）であり、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。尚、本実施形態においてキーボード９やＣＲＴディスプレイ１０は必ずしも必要ではないが、ホストコンピュータのメンテナンスや動作状況の確認のために、通常装備されている。
【００２９】
７はメモリコントローラ（ＭＣ）であり、ブートプログラム，種々のアプリケーション，フォントデータ，ユーザファイル，編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はネットワークコントローラ（ＮＴＣ）であり、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１０００に接続され、プリンタ１０００との通信制御処理を実行する。
【００３０】
尚、ＣＰＵ１は、例えばメモリコントローラ７を制御することによって外部メモリ１１に記憶された文書データを取り出したり、ネットワークコントローラ８を制御することによって文書データを外部へ転送することができる。
【００３１】
プリンタ１０００において、１２はプリンタＣＰＵであり、ＲＯＭ１３内のプログラム用ＲＯＭに記憶された制御プログラム或いは外部メモリ１４に記憶された制御プログラム等に基づいて、システムバス１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１６を介して接続される印刷部（プリンタエンジン）１７に、出力情報としての画像信号を出力する。
【００３２】
ＲＯＭ１３内のプログラムＲＯＭには、後述するフローチャートで示されるようなＣＰＵ１２の制御プログラムを記憶しても良い。同じくフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデ−タ等を記憶し、同じくデ−タ用ＲＯＭは、プリンタ１０００がハードディスク等の外部メモリ１４を備えない場合には、ホストコンピュ−タ３０００上で利用される情報等を記憶している。
【００３３】
ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理を行うことによって、プリンタ１０００内の情報等をホストコンピュータ３０００に通知することが可能である。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによってメモリ容量を拡張することができる。尚、ＲＡＭ１９は出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００３４】
上述したハードディスク（ＨＤ）、ＩＣカ−ド等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスが制御される。外部メモリ１４はオプションとして接続され、文書データ、フォントデ−タ、フォ−ムデ−タ等を記憶する。１８は操作パネルであり、プリンタ１０００に対する各種操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００３５】
尚、本実施形態における外部メモリ１４は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード，言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続しても良い。更に不図示のＮＶＲＡＭを有し、操作パネル１０１２からのプリンタモード設定情報を記憶するようにしても良い。
【００３６】
図３は、本実施形態におけるプリンタ１０００の機能構成を示すブロック図である。同図によればプリンタ１０００は、大きく分けてフォーマッタ制御部１１００、プリンタインタフェース１２００、出力制御部１３００、プリンタエンジン部１４００によって構成されている。
【００３７】
プリンタインターフェイス１２００は、フォーマッタ制御部１１００と外部とにおけるデータの入出力を制御するための手段である。
【００３８】
フォーマッタ制御部１１００は、プロトコル制御部１１０１、文書データ解析部１１０２、データ描画部１１０３、ページメモリ１１０４、物理レイアウト処理部１１０５により構成されている。一般的にフォーマッタ制御部１１００内のこれらの機能構成は、ＣＰＵやＲＯＭ，ＲＡＭ等を備えたコンピュータシステムによって実現される。
【００３９】
プロトコル制御部１１０１は、ネットワークプロトコルを解析・送信することによって外部との通信を行なう手段であり、例えば プロトコルとして HTTP(Hyper Text Transfer Protocol)を使用した場合、URL(Uniform Resource Locator)によって指示された文書の取得や、Webサーバへの情報の送信を行なう。
【００４０】
文書データ解析部１１０２は、構造化記述言語で記述された文書データを解析し、より処理しやすい形式の中間コードに変換する。文書データ解析部１１０２において生成された中間コードは、データ描画部１１０３に渡されてビットマップデータに展開された後、ページメモリ１１０４に逐次描画される。
【００４１】
物理レイアウト処理部１１０５においては、構造化記述言語によって記述された文書データの物理ページへの割り付け、即ちフォーマッティング処理を行なう。具体的には、文書データ解析部１１０２において解析された文書データがHTMLのようなページの概念がない文書データであった場合に、物理ページへの割り付けが行われたデータを作成する。
【００４２】
出力制御部１３００は、ページメモリ１１０４の内容をビデオ信号に変換し、プリンタエンジン部１４００への画像転送を行なう。プリンタエンジン部１４００は、受け取ったビデオ信号を記録紙上に永久可視画像形成するための印刷機構部である。
【００４３】
次に、上述した構成からなる本実施形態の印刷システムにおける印刷制御手順を、図４乃至図６に示すフローチャートを参照して説明する。
【００４４】
図４は、プリンタ１０００の動作開始から終了までのメイン処理を示すフローチャートである。まずステップＳ４０１で、プリンタインターフェイス１２００を介してネットワークからのデータを受け取る。次にステップＳ４０２でプロトコルの解析を行なった後、ステップＳ４０３においてフォーマッティング処理、即ち物理ページへの割り付けを行ない、ステップＳ４０４に進んで描画処理を行なう。その後、ステップＳ４０５で文書データが終了したか否かを判断し、終了であれば印刷動作を終了する。一方、文書データ終了でなければ、ステップＳ４０１に戻って上記処理を繰り返す。
【００４５】
図５は、図４のステップＳ４０３に示したフォーマッティング処理、即ち物理レイアウト処理部１１０５における物理ページへのレイアウト処理の詳細を示すフローチャートである。
【００４６】
まず、ステップＳ５０１で文書データを先頭から検索し、文字データを検出した時点でその文字サイズを算出し、ステップＳ５０２で該算出した文字サイズを保存する。そして、ステップＳ５０３で全ての文書データの検索が終了したか否かを判定し、終了するまでステップＳ５０１〜Ｓ５０２の処理を繰り返すことにより、文書中に使用されている文字サイズのリストが完成する。
【００４７】
ステップＳ５０３で全ての文書データの検索が終了した場合にはステップＳ５０４に進み、保存された文字サイズのリストから、最小の文字サイズminを検出する。そしてステップＳ５０５において、検出された最小文字サイズminを８ポイントと見立てた場合の拡大率を算出する。この拡大率が物理レイアウトの基準となるため、ステップＳ５０６ではこの拡大率を用いて、文書の先頭から順次、物理ページへの割り付けを行なう。
【００４８】
そしてステップＳ５０７において、全ての文書データに対して物理ページへの割り付けが終了したか否かを判断し、終了するまでステップＳ５０６の割り付け処理を繰り返す。
【００４９】
ここで、上記図５に示すフォーマッティング処理の具体例を示す。ステップＳ５０１〜Ｓ５０３によって、文書中に使用されている文字サイズとして例えば、６，８，１０ポイントがリストされた場合、ステップＳ５０４では最小文字サイズminとして６ポイントが検出される。するとステップＳ５０５において、これを８ポイントとするための拡大率が８／６倍として算出される。従って、リストされた他の８，１０ポイントの文字サイズはそれぞれ、８×（８／６），１０×（８／６）ポイントで物理ページに割り付けられる。尚、文字のみでなくテーブルやボーダーライン等、他の図形（オブジェクト）についてもこの拡大率（上記例では８／６）を掛け合わせることによって、物理ページへ割り付けられる。
【００５０】
図６は、図４のステップＳ４０４に示した描画処理の詳細を示すフローチャートである。尚、この描画処理は即ちデータ描画部１１０３における描画処理であり、実際に印刷を行う処理である。
【００５１】
まずステップＳ６０１において、文書データ解析部１１０２でページ終了タグが検出されたか否かを判別する。ページ終了タグが検出されなければステップＳ６０２に進み、次に解析したタグが文字印字または図形描画等、ページメモリ１１０４への展開処理を必要とするタグであるか否かを判別する。否であればステップＳ６０５に進み、属性設定や印字位置制御等、解析したタグに従った処理を直ちに実行する。
【００５２】
一方、印字・描画等のタグであればステップＳ６０３に進み、ビットマップへの展開処理が容易に行える形式の中間コードを生成する。そしてステップＳ６０４において、データ描画部１１０３でこの中間コードを受けて、ページメモリ１１０４へのビットマップ展開処理を行う。展開処理終了後は図４のステップＳ４０２に戻り、文書データのプロトコル解析処理を繰り返す。
【００５３】
一方、ステップＳ６０１においてページ終了タグが検出された場合はステップＳ６０６に進み、出力制御部１３００においてページメモリ１１０４の内容をプリンタエンジン部１４００に対するビデオ信号に変換し、画像転送出力を行う。そしてステップＳ６０７においてプリンタエンジン部１４００では、受け取ったビデオ信号に基づいて記録紙上に永久可視画像を形成し、印刷を行う。そしてステップＳ６０８において印刷が行われた記録紙が排紙されると、１ページの印刷制御処理が終了する。
【００５４】
ここで、本実施形態におけるフォーマッティング処理結果の具体例を示す。図１１はHTMLによって記述された入力文書データ例であり、この文書データは、本実施形態のフォーマッティング処理が施されることによって、図１２に示すような、ページレイアウト可能な構成に変換される。また、図１２に示す文書データを実際に印刷した結果を、図１５に示す。
【００５５】
この例によれば、図１１に示される最小文字("table 1")のサイズは４ポイントであるから、拡大率は８／４＝２倍として算出される。従って、図１１において"＜H1＞"のタグで示されるタイトル文字("Sample")のサイズが１４ポイント、その他の文字("This document...web browser.")のサイズが規定値である６ポイントであるとすると、図１２によれば、タイトルの文字サイズが２８ポイント、その他の文字サイズが１２ポイント、そして最小文字サイズが８ポイントとして変換されていることが分かる。また、テーブルオブジェクトについてもこの拡大率（２倍）が適用されるため、テーブルが２分割でページ内に割りつけられていることが分かる。
【００５６】
以上説明した様に本実施形態によれば、構造化記述言語をフォーマッティングする際に、その物理レイアウトの基準値を最小文字サイズに基づいて設定することによって、ページ内への適切な割り付けが可能となる。
【００５７】
尚、本実施形態における拡大率の算出は、構造化記述言語内において検出された最小文字サイズminを８ポイントに拡大する場合について説明したが、本発明はこの例に限定されず、他のサイズに拡大するように拡大率を算出する場合でも、同様に適用される。
【００５８】
また、算出された拡大率に基づいて文字サイズを決定する際に、単に拡大率を乗じるだけでなく、更に適切なポイント数（システムにおいて通常使用されるポイント数）へ切り上げ等の最適化処理を施しても良い。
【００５９】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００６０】
上述した第１実施形態においては、物理レイアウトの基準値として最小文サイズを参照する例について説明した。第２実施形態では、該基準値をオブジェクトの最大幅に基づいて設定することを特徴とする。ここで、オブジェクトとは文字以外の描画図形を指し、HTML文書ではテーブルやイメージ等がこれにあたる。
【００６１】
図７は、第２実施形態におけるフォーマッティング処理を示すフローチャートである。尚、第２実施形態におけるシステム構成、及び印刷動作のメイン処理、描画処理については、上述した第１実施形態と同様であるため、説明を省略する。
【００６２】
まずステップＳ７０１において文書データを先頭から検索し、文字以外のオブジェクトを検索する。例えばHTMLであれば、"＜TABLE＞"や"＜IMG＞"というタグを検索すれば良い。
【００６３】
次にステップＳ７０２において、検出したオブジェクトの幅を算出する。例えばオブジェクトがテーブルであれば、該テーブルに指定された幅情報、もしくはテーブル内に記述される文字サイズに基づいて幅が算出できる。また、イメージであれば、データフォーマットのヘッダに記述される画像情報に基づいて幅が算出できる。
【００６４】
そしてステップＳ７０３において、全ての文書データの検索が終了したか否かを判定し、終了するまでステップＳ７０１〜Ｓ７０２の処理を繰り返すことにより、文書中に使用されているオブジェクトの幅のリストが完成する。
【００６５】
ステップＳ７０３で全ての文書データの検索が終了した場合にはステップＳ７０４に進み、保存されたオブジェクト幅のリストから、最大のオブジェクト幅maxを検出する。そしてステップＳ７０５において、検出された最大オブジェクト幅maxをページ幅と比較する。ここでページ幅とは、記録紙内において物理的に印字可能となる主捜査方向の長さを指す。
【００６６】
最大オブジェクト幅maxがページ幅以下であればステップＳ７０７に進み、縮小率を１に設定する。一方、最大オブジェクト幅maxがページ幅よりも大きければステップＳ７０６に進み、最大オブジェクト幅maxをページ幅とみなした場合の縮小率を算出する。このようにして求められた縮小率が物理レイアウトの基準となるため、ステップＳ７０８ではこの縮小率を用いて、文書の先頭から順次、物理ページへの割り付けを行なう。
【００６７】
そしてステップＳ７０９において、全ての文書データに対して物理ページへの割り付けが終了したか否かを判断し、終了するまでステップＳ７０８の割り付け処理を繰り返す。
【００６８】
尚、文字以外のオブジェクトを備えない、即ち全てが文字によって構成されている文書データについては、ステップＳ７０１においてオブジェクトが検出されない。このような場合、図７のフローチャートには特に示していないが、縮小率を１に設定して、物理ページへの割り付け処理を行なう。そのために例えば、ステップＳ７０１でオブジェクトが検出されなかった場合、オブジェクト最大幅maxを最小値（例えば０）に設定するステップを設ければ良い。
【００６９】
ここで、上記図７に示すフォーマッティング処理の具体例を示す。ステップＳ７０１〜Ｓ７０３によって、文書中に使用されているオブジェクト幅として例えば、２０００，５０００ドットがリストされた場合、ステップＳ７０４では最大オブジェクトサイズmaxとして５０００ドットが検出される。一方、記録紙がＡ４サイズ、プリンタ解像度が６００dpiであれば、該記録紙を縦に搬送する場合のページ幅は４７２０ドットである。するとステップＳ７０５において最大オブジェクトサイズmax（５０００）がページ幅（４７２０）よりも大きいため、ステップＳ７０６で縮小率が４７２０／５０００として算出される。尚、オブジェクトのみでなく文字についてもこの縮小率を掛け合わせることによって、物理ページへ割り付けられる。
【００７０】
ここで、第２実施形態におけるフォーマッティング処理結果の具体例を示す。上述した第１実施形態で図１１に示したHTMLの入力文書データについて、第２実施形態のフォーマッティング処理を施すことによって、図１３に示すような変換結果が得られる。図１３に示す文書データを実際に印刷した結果は、図１６に示すようになる。図１３及び図１６によれば、最大幅を有するオブジェクトであるテーブルがページ内に適切に割りつけられ、文字サイズが第１実施形態に示した図１５よりも小さくなっていることが分かる。
【００７１】
以上説明した様に第２実施形態によれば、構造化記述言語をフォーマッティングする際に、その物理レイアウトの基準値を最大オブジェクト幅に基づいて設定することによって、ページ内への適切な割り付けが可能となる。
【００７２】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。
【００７３】
第３実施形態においては、物理レイアウトの基準値を最も使用頻度の高い文字サイズに基づいて設定することを特徴とする。
【００７４】
図８は、第３実施形態におけるフォーマッティング処理を示すフローチャートである。尚、第３実施形態におけるシステム構成、及び印刷動作のメイン処理、描画処理については、上述した第１実施形態と同様であるため、説明を省略する。
【００７５】
まずステップＳ８０１において文書データを先頭から検索し、文字データを検出した時点でその文字サイズを算出し、ステップＳ８０２で文字サイズ毎の文字数をカウントして保存する。そして、ステップ８０３で全ての文書データの検索が終了したか否かを判定し、終了するまでステップＳ８０１〜Ｓ８０２の処理を繰り返すことにより、文書中に使用されている文字サイズ及びその文字数のリストが完成する。
【００７６】
ステップＳ８０３で全ての文書データの検索が終了した場合にはステップＳ８０４に進み、保存された文字サイズのリストから、最も文字数の多い、即ち最頻出の文字サイズfreqを検出する。そしてステップＳ８０５において、検出された最頻出文字サイズfreqを１０ポイントと見立てた場合の拡大率を算出する。この拡大率が物理レイアウトの基準となるため、ステップＳ８０６ではこの拡大率を用いて、文書の先頭から順次、物理ページへの割り付けを行なう。
【００７７】
そしてステップＳ８０７において、全ての文書データに対して物理ページへの割り付けが終了したか否かを判断し、終了するまでステップＳ８０６の割り付け処理を繰り返す。
【００７８】
ここで、上記図８に示すフォーマッティング処理の具体例を示す。ステップＳ８０１〜Ｓ８０３によって、例えば文書中に使用されている文字サイズとして８ポイントが１０文字、１０ポイントが４００文字、２０ポイントが８文字リストされた場合、ステップＳ８０４では最頻出文字サイズfreqとして１０ポイントが検出される。するとステップＳ８０５において、これを１０ポイントとするための拡大率が１０／１０倍（＝１倍）として算出される。従って、リストされた他の８，２０ポイントの文字サイズもそれぞれ、８，２０ポイントで物理ページに割り付けられる。尚、文字のみでなくテーブルやボーダーライン等、他の図形（オブジェクト）についてもこの拡大率（上記例では１倍）を掛け合わせることによって、物理ページへ割り付けられる。
【００７９】
ここで、第３実施形態におけるフォーマッティング処理結果の具体例を示す。上述した第１実施形態で図１１に示したHTMLの入力文書データについて、第３実施形態のフォーマッティング処理を施すことによって、図１４に示すような変換結果が得られる。図１４に示す文書データを実際に印刷した結果は、図１７に示すようになる。
【００８０】
この例によれば、図１１に示される最頻出文字サイズ("This document...web browser.")は６ポイントであるから、拡大率は１０／６倍として算出される。従って、図１１におけるタイトル文字("Sample")のサイズが１４ポイント、最小文字("table 1")のサイズが４ポイントであるから、図１４によれば、最頻出文字サイズが１０ポイント、タイトルの文字サイズが１４×１０／６＝２３．３３（２３）ポイント、最小文字サイズが４×１０／６＝６．６６（７）ポイントとして変換されていることが分かる。また、最大幅を有するテーブルオブジェクトについてもこの拡大率（１０／６倍）が適用され、かろうじてページ内に割りつけられていることが分かる。
【００８１】
以上説明した様に第３実施形態によれば、構造化記述言語をフォーマッティングする際に、その物理レイアウトの基準値を最頻出文字サイズに基づいて設定することによって、ページ内への適切な割り付けが可能となる。
【００８２】
尚、本実施形態における拡大率の算出も第１実施形態と同様に、検出された最頻出文字サイズfreqを１０ポイントに拡大する例に限定されず、他のサイズへの拡大を想定しても同様に適用される。また、文字サイズの変換の際にも、拡大率を乗じるのみならず、適切なポイント数への切り上げ等の最適化処理を施しても良い。
【００８３】
＜第４実施形態＞
以下、本発明に係る第４実施形態について説明する。
【００８４】
第４実施形態においては、上述した第１乃至第３実施形態に示したフォーマッティング処理のいずれかを、任意に選択可能とすることを特徴とする。即ち、第４実施形態におけるシステム構成、及び印刷動作のメイン処理、描画処理については、上述した第１実施形態と同様であるが、フォーマッティング処理における物理レイアウトの基準値を、最小文字サイズ、最大オブジェクト幅、又は最頻出文字サイズのいずれかに基づいて設定することを特徴とする。
【００８５】
具体的には、プリンタ１０００の操作パネル１０１２において、ユーザがフォーマッティングの基準値として上記３種類のいずれかを選択する、即ち、第１乃至第３実施形態に対応するレイアウト方法のいずれかを選択できるように構成すれば良い。
【００８６】
また、選択した基準値に基づくフォーマッティング結果を、ホストコンピュータに接続されたＣＲＴ１０においてページ単位にプレビューできるようにすれば、更に操作性が向上する。
【００８７】
以上説明した様に第４実施形態によれば、ユーザの所望するようなフォーマッティングが可能となる。例えば、図１１に示すHTMLで記述された文書データについて、図１５乃至図１７のいずれかの出力形態が選択可能となる。
【００８８】
＜他の実施形態＞
上述した第１及び第３実施形態においては、文字サイズをポイント値として算出する例について説明したが、例えば文字サイズがその他の表現（例えば大／中／小）によって指定されている文書であっても、予め各サイズ（大／中／小）の比率を保持しておくことにより、本発明を適用することが可能である。
【００８９】
また、上述した各実施形態においては、フォーマッティング対象となる文書データとしてHTMLによって記述された文書を例として説明したが、本発明はこの例に限定されるものではなく、構造化記述言語であれば、XMLやSGMLといった他の言語であっても良いことは言うまでもない。
【００９０】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００９１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
【発明の効果】
以上説明したように本発明によれば、構造化記述言語によって記述された文書データを物理ページへレイアウトする際に、自由度の高いレイアウトが実現できる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態におけるプリンタの側断面図である。
【図２】本実施形態における印刷システムの構成を示すブロック図である。
【図３】本実施形態におけるプリンタの機能構成を示すブロック図である。
【図４】本実施形態における印刷処理を示すフローチャートである。
【図５】本実施形態におけるフォーマッティング処理を示すフローチャートである。
【図６】本実施形態における描画処理を示すフローチャートである。
【図７】第２実施形態におけるフォーマッティング処理を示すフローチャートである。
【図８】第３実施形態におけるフォーマッティング処理を示すフローチャートである。
【図９】ページ概念のない構造化記述言語による文書データの表示例を示す図である。
【図１０】図９に示す文書データのページレイアウト後の表示例を示す図である。
【図１１】ＨＴＭＬで記述された文書データ例を示す図である。
【図１２】本実施形態におけるフォーマッティング後の文書データ例を示す図である。
【図１３】第２実施形態におけるフォーマッティング後の文書データ例を示す図である。
【図１４】第３実施形態におけるフォーマッティング後の文書データ例を示す図である。
【図１５】本実施形態におけるフォーマッティング後の印刷例を示す図である。
【図１６】第２実施形態におけるフォーマッティング後の印刷例を示す図である。
【図１７】第３実施形態におけるフォーマッティング後の印刷例を示す図である。
【符号の説明】
１０００  プリンタ
１０１２  操作パネル
１１００  フォーマッタ制御部
１１０１  プロトコル制御部
１１０２  文書データ解析部
１１０３  データ描画部
１１０４  ページメモリ
１１０５  物理レイアウト処理部
１２００  プリンタインタフェース
１３００  出力制御部
１４００  プリンタエンジン部
【図１】
0004227294.tif 000002
【図２】
0004227294.tif 000003
【図３】
0004227294.tif 000004
【図４】
0004227294.tif 000005
【図５】
0004227294.tif 000006
【図６】
0004227294.tif 000007
【図７】
0004227294.tif 000008
【図８】
0004227294.tif 000009
【図９】
0004227294.tif 000010
【図１０】
0004227294.tif 000011
【図１１】
0004227294.tif 000012
【図１２】
0004227294.tif 000013
【図１３】
0004227294.tif 000014
【図１４】
0004227294.tif 000015
【図１５】
0004227294.tif 000016
【図１６】
0004227294.tif 000017
【図１７】
0004227294.tif 000018