(57)【要約】【課題】  所定の書式により階層的に記述した記述文書に他の書式による記述が含まれるものであっても解析して印刷する。【解決手段】  ＸＨＴＭＬ文書を解析して印刷することができるプリンタ２０にＳＶＧによる記述文を解析して描画するＳＶＧＰＩ３７を追加し、ＸＨＴＭＬ文書におけるＳＶＧによる記述文に対しては、ＸＭＬパーサー３４に代えてＳＶＧＰＩ３７を用いて解析してＤＯＭツリーを作成し、レイアウタ３８でレイアウトする際にはＳＶＧＰＩ３７により得られるボックスのサイズを用いてレイアウトし、ＲＰＩ４０によりメモリ５０に描画するときにはＳＶＧＰＩ３７を用いて描画する。これにより、ＳＶＧによる記述文が含まれるＸＨＴＭＬ文書を解析して印刷することができる。【選択図】        図１
2005135087.tif 000002
【特許請求の範囲】
【請求項１】
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置であって、
データを記憶可能なデータ記憶手段と、
印刷可能なオブジェクトを所定の様式による識別子を用いて記述した記述文を解析する主解析部と、印刷可能なオブジェクトを前記所定の様式とは異なる様式による識別子を用いて記述した記述文を解析する少なくとも一つの追加解析部とを有する記述文解析手段と、
記述文書が指定されたとき、該指定された記述文書における階層的なオブジェクトの木構造を前記記述文解析手段が有する主解析部と追加解析部とを用いて解析すると共に該解析した木構造を前記データ記憶手段に記憶させる構造解析手段と、
レイアウト作成指示がなされたとき、前記データ記憶手段に記憶された木構造と前記記述文解析手段が有する主解析部と追加解析部とを用いてオブジェクトの前記媒体へのレイアウトをページ毎に作成すると共に該作成したページ毎のレイアウトを前記データ記憶手段に記憶させるレイアウト作成手段と、
印刷実行指示がなされたとき、前記データ記憶手段に記憶されたページ毎のレイアウトに基づいてオブジェクトを取得すると共にレイアウトして印刷する印刷実行手段と、
を備える印刷装置。
【請求項２】
前記構造解析手段は、前記記述文解析手段が有する主解析部による解析では記述文が解析できないときに前記記述文解析手段が有する追加解析部による解析を行なう手段である請求項１記載の印刷装置。
【請求項３】
請求項１または２記載の印刷装置であって、
前記記述文は、オブジェクトの種類が記述された文であり、
前記構造解析手段は、オブジェクトの識別子と種類とを用いて木構造を解析する手段である
印刷装置。
【請求項４】
請求項１ないし３いずれか記載の印刷装置であって、
前記追加解析部は、オブジェクトの印刷時のサイズを解析結果の一部として解析する解析部であり、
前記レイアウト作成手段は、前記追加解析部による解析結果の一部としてのオブジェクトの印刷時のサイズを用いてレイアウトを作成する手段である印刷装置。
【請求項５】
前記構造解析手段は、木構造を解析した以降に該解析した木構造を指定して前記レイアウト作成手段にレイアウト作成指示を指示する手段である請求項１ないし４いずれか記載の印刷装置。
【請求項６】
前記レイアウト作成手段は、レイアウトの作成が完了したページ毎に前記印刷実行指示を前記印刷実行手段に行なう手段である請求項１ないし５いずれか記載の印刷装置。
【請求項７】
前記レイアウト作成手段は、１ページ分のレイアウトの作成が完了したときに前記印刷実行指示を前記印刷実行手段に行なう手段である請求項１ないし６いずれか記載の印刷装置。
【請求項８】
前記記述文書は、マークアップ言語により記述されてなる請求項１ないし７いずれか記載の印刷装置。
【請求項９】
請求項１ないし８いずれか記載の印刷装置であって、
前記所定の様式は、テキスト，画像，表の少なくとも一つに対応するオブジェクトを記述する様式であり、
前記異なる様式は、図形，図形の組み合わせ，数式の少なくとも一つに対応するオブジェクトを記述する様式である
印刷装置。
【請求項１０】
請求項９記載の印刷装置であって、
前記所定の様式による識別子を用いて記述した記述文は、ＸＨＴＭＬ言語により記述した記述文であり、
前記異なる様式による識別子を用いて記述した記述文は、ＳＶＧ言語，ＭａｔｈＭＬ言語，ＣＭＬ言語のいずれかにより記述された記述文である
印刷装置。
【請求項１１】
カラーインクジェットプリンタである請求項１ないし１０いずれか記載の印刷装置。
【請求項１２】
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷方法であって、
（ａ）記述文書が指定されたとき、該指定された記述文書における階層的なオブジェクトの木構造を、所定の様式による識別子を用いて記述した記述文として解析すると共に該所定の様式による識別子による解析では解析できない記述文に対しては該所定の様式とは異なる様式による追加の識別子を用いて記述した記述文として解析し、
（ｂ）レイアウト作成指示がなされたとき、前記解析された木構造の前記所定の様式による識別子を用いて記述した記述文に対する要素に対しては該所定の様式による識別子を用いて記述した記述文に基づいてオブジェクトの前記媒体へのページ毎のレイアウトを作成し、前記解析された木構造の前記異なる様式による識別子を用いて記述した追加の記述文に対する要素に対しては該追加の記述文を解析した結果の一部としてのオブジェクトの印刷時のサイズを用いてオブジェクトの前記媒体へのページ毎のレイアウトを作成し、
（ｃ）印刷実行指示がなされたとき、前記作成されたページ毎のレイアウトに基づいてオブジェクトを取得すると共にレイアウトして印刷する
印刷方法。
【請求項１３】
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置に用いるプログラムであって、
印刷可能なオブジェクトを所定の様式による識別子を用いて記述した記述文を解析する主解析モジュールと、印刷可能なオブジェクトを前記所定の様式とは異なる様式による識別子を用いて記述した記述文を解析する少なくとも一つの追加解析モジュールとを有する記述文解析モジュールと、
記述文書が指定されたとき、該指定された記述文書における階層的なオブジェクトの木構造を前記記述文解析モジュールが有する主解析モジュールと追加解析モジュールとを用いて解析する構造解析モジュールと、
レイアウト作成指示がなされたとき、前記解析された木構造と前記記述文解析モジュールが有する主解析モジュールと追加解析モジュールとを用いてオブジェクトの前記媒体へのレイアウトをページ毎に作成するレイアウト作成モジュールと、
印刷実行指示がなされたとき、前記作成されたページ毎のレイアウトに基づいてオブジェクトを取得して印刷可能にレイアウトする実行モジュールと、
を備えるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置および印刷方法並びに印刷装置用のプログラムに関する。
【背景技術】
【０００２】
従来、この種の印刷装置としては、ＳＶＧ文書を解析して印刷するプリンタとＨＴＭＬ文書をＳＶＧ文書に変換するフォーマッティングサーバとにより構成されたプリンタシステムが提案されている（例えば、特許文献１参照）。このシステムでは、ＨＴＭＬ文書を受け付けると、フォーマッティングサーバにより受け付けたＨＴＭＬ文書をＳＶＧ文書に変換し、この変換したＳＶＧ文書をプリンタで解析して印刷する。
【特許文献１】特開２００２−９１７２６号公報（図１，第５頁）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述のプリンタシステムでは、プリンタとフォーマッティングサーバとから構成されていることから大型化し、家庭のリビングなどの限られたスペースに設置する場合には不向きである。また、ＨＴＭＬ文書を受け付けたときには、フォーマッティングサーバによりＳＶＧ文書に変換すると共にこの変換したＳＶＧ文書を解析して印刷するから、変換や解析に時間を要し、迅速な印刷を行なうことができない。さらに、ＨＴＭＬ言語と他の言語とが混在した記述文書に対する印刷には考慮されていない。
【０００４】
本発明の印刷装置および印刷方法は、ＨＴＭＬ文書やこれを拡張したＸＨＴＭＬ文書などのようなオブジェクトを所定の書式により階層的に記述した記述文書に他の書式による記述が含まれるものであっても解析して印刷することを目的とする。本発明の印刷装置用のプログラムは、印刷装置に所定の書式により階層的に記述した記述文書に他の書式による記述が含まれるものであっても解析して印刷させることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の印刷装置および印刷方法並びに印刷装置用のプログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【０００６】
本発明の印刷装置は、
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置であって、
データを記憶可能なデータ記憶手段と、
印刷可能なオブジェクトを所定の様式による識別子を用いて記述した記述文を解析する主解析部と、印刷可能なオブジェクトを前記所定の様式とは異なる様式による識別子を用いて記述した記述文を解析する少なくとも一つの追加解析部とを有する記述文解析手段と、
記述文書が指定されたとき、該指定された記述文書における階層的なオブジェクトの木構造を前記記述文解析手段が有する主解析部と追加解析部とを用いて解析すると共に該解析した木構造を前記データ記憶手段に記憶させる構造解析手段と、
レイアウト作成指示がなされたとき、前記データ記憶手段に記憶された木構造と前記記述文解析手段が有する主解析部と追加解析部とを用いてオブジェクトの前記媒体へのレイアウトをページ毎に作成すると共に該作成したページ毎のレイアウトを前記データ記憶手段に記憶させるレイアウト作成手段と、
印刷実行指示がなされたとき、前記データ記憶手段に記憶されたページ毎のレイアウトに基づいてオブジェクトを取得すると共にレイアウトして印刷する印刷実行手段と、
を備えることを要旨とする。
【０００７】
この本発明の印刷装置では、指定された記述文書における階層的なオブジェクトの木構造を、印刷可能なオブジェクトを所定の様式による識別子を用いて記述した記述文を解析する主解析部と印刷可能なオブジェクトをこの所定の様式とは異なる様式による識別子を用いて記述した記述文を解析する追加解析部とを用いて解析し、この解析した木構造とこの主解析部と追加解析部とを用いてオブジェクトの媒体へのレイアウトをページ毎に作成して印刷する。従って、記述文書に所定の様式による識別子を用いて記述した記述文以外の異なる様式による識別子を用いて記述した記述文が含まれる場合でも適正に解析して印刷することができる。ここで、前記記述文書は、マークアップ言語により記述されてなるものとすることもできる。なお、印刷装置としては、カラーインクジェットプリンタを用いたり、レーザプリンタを用いるなど種々のプリンタを用いることができる。
【０００８】
こうした本発明の印刷装置において、前記構造解析手段は、前記記述文解析手段が有する主解析部による解析では記述文が解析できないときに前記記述文解析手段が有する追加解析部による解析を行なう手段であるものとすることもできる。こうすれば、効率よく木構造の解析を行なうことができる。
【０００９】
また、本発明の印刷装置において、前記記述文はオブジェクトの種類が記述された文であり、前記構造解析手段はオブジェクトの識別子と種類とを用いて木構造を解析する手段であるものとすることもできる。こうすれば、より迅速に木構造を解析することができる。
【００１０】
さらに、本発明の印刷装置において、前記追加解析部はオブジェクトの印刷時のサイズを解析結果の一部として解析する解析部であり、前記レイアウト作成手段は前記追加解析部による解析結果の一部としてのオブジェクトの印刷時のサイズを用いてレイアウトを作成する手段であるものとすることもできる。オブジェクトのレイアウトは印刷時のサイズにより行なうことができるからである。
【００１１】
あるいは、本発明の印刷装置において、前記構造解析手段は、木構造を解析した以降に該解析した木構造を指定して前記レイアウト作成手段にレイアウト作成指示を指示する手段であるものとすることもできる。
【００１２】
また、本発明の印刷装置において、前記レイアウト作成手段は、レイアウトの作成が完了したページ毎に前記印刷実行指示を前記印刷実行手段に行なう手段であるものとすることもできるし、１ページ分のレイアウトの作成が完了したときに前記印刷実行指示を前記印刷実行手段に行なう手段であるものとすることもできる。こうすれば、１ページ分の解析が終了した時点で印刷実行指示を行なうから、迅速に印刷することができる。
【００１３】
本発明の印刷装置において、前記所定の様式はテキスト，画像，表の少なくとも一つに対応するオブジェクトを記述する様式であり、前記異なる様式は図形，図形の組み合わせ，数式の少なくとも一つに対応するオブジェクトを記述する様式であるものとすることもできる。こうすれば、テキスト，画像，表などと図形，図形の組み合わせ，数式などとが混在しているものでも解析して印刷することができる。この場合、前記所定の様式による識別子を用いて記述した記述文はＸＨＴＭＬ言語により記述した記述文であり、前記異なる様式による識別子を用いて記述した記述文はＳＶＧ言語，ＭａｔｈＭＬ言語，ＣＭＬ言語のいずれかにより記述された記述文であるものとすることもできる。
【００１４】
本発明の印刷方法は、
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷方法であって、
（ａ）記述文書が指定されたとき、該指定された記述文書における階層的なオブジェクトの木構造を、所定の様式による識別子を用いて記述した記述文として解析すると共に該所定の様式による識別子による解析では解析できない記述文に対しては該所定の様式とは異なる様式による追加の識別子を用いて記述した記述文として解析し、
（ｂ）レイアウト作成指示がなされたとき、前記解析された木構造の前記所定の様式による識別子を用いて記述した記述文に対する要素に対しては該所定の様式による識別子を用いて記述した記述文に基づいてオブジェクトの前記媒体へのページ毎のレイアウトを作成し、前記解析された木構造の前記異なる様式による識別子を用いて記述した追加の記述文に対する要素に対しては該追加の記述文を解析した結果の一部としてのオブジェクトの印刷時のサイズを用いてオブジェクトの前記媒体へのページ毎のレイアウトを作成し、
（ｃ）印刷実行指示がなされたとき、前記作成されたページ毎のレイアウトに基づいてオブジェクトを取得すると共にレイアウトして印刷する
ことを要旨とする。
【００１５】
この本発明の印刷方法によれば、記述文書における階層的なオブジェクトの木構造を、所定の様式による識別子を用いて記述した記述文として解析すると共にこの所定の様式による識別子による解析では解析できない記述文に対しては該所定の様式とは異なる様式による追加の識別子を用いて記述した記述文として解析し、この解析した木構造の所定の様式による識別子を用いて記述した記述文に対する要素に対しては所定の様式による識別子を用いて記述した記述文に基づいてレイアウトを作成し、解析した木構造の異なる様式による識別子を用いて記述した追加の記述文に対する要素に対しては追加の記述文を解析した結果の一部としてのオブジェクトの印刷時のサイズを用いてレイアウトを作成し、作成されたページ毎のレイアウトに基づいてオブジェクトを取得すると共にレイアウトして印刷するから、記述文書に所定の様式による識別子を用いて記述した記述文以外の異なる様式による識別子を用いて記述した記述文が含まれる場合でも適正に解析して印刷することができる。
【００１６】
本発明の印刷装置用のプログラムは、
印刷可能なオブジェクトを階層的に記述した記述文書を解析して紙などの媒体に印刷する印刷装置に用いるプログラムであって、
印刷可能なオブジェクトを所定の様式による識別子を用いて記述した記述文を解析する主解析モジュールと、印刷可能なオブジェクトを前記所定の様式とは異なる様式による識別子を用いて記述した記述文を解析する少なくとも一つの追加解析モジュールとを有する記述文解析モジュールと、
記述文書が指定されたとき、該指定された記述文書における階層的なオブジェクトの木構造を前記記述文解析モジュールが有する主解析モジュールと追加解析モジュールとを用いて解析する構造解析モジュールと、
レイアウト作成指示がなされたとき、前記解析された木構造と前記記述文解析モジュールが有する主解析モジュールと追加解析モジュールとを用いてオブジェクトの前記媒体へのレイアウトをページ毎に作成するレイアウト作成モジュールと、
印刷実行指示がなされたとき、前記作成されたページ毎のレイアウトに基づいてオブジェクトを取得して印刷可能にレイアウトする実行モジュールと、
を備えることを要旨とする。
【００１７】
この本発明の印刷装置用のプログラムによれば、このプログラムをインストールすることにより、指定された記述文書における階層的なオブジェクトの木構造を、印刷可能なオブジェクトを所定の様式による識別子を用いて記述した記述文を解析する主解析モジュールと印刷可能なオブジェクトをこの所定の様式とは異なる様式による識別子を用いて記述した記述文を解析する追加解析モジュールとを用いて解析し、この解析した木構造とこの主解析モジュールと追加解析モジュールとを用いてオブジェクトの媒体へのレイアウトをページ毎に作成して印刷する印刷装置とすることができる。即ち、記述文書に所定の様式による識別子を用いて記述した記述文以外の異なる様式による識別子を用いて記述した記述文が含まれる場合でも適正に解析して印刷する印刷装置とすることができるのである。
【発明を実施するための最良の形態】
【００１８】
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
【実施例】
【００１９】
図１は、本発明の一実施例としてのカラーインクジェットプリンタ２０の構成の概略を示す構成図である。実施例のカラーインクジェットプリンタ２０は、図示するように、コンピュータ１０やデジタルテレビ１２，デジタルカメラ１４などと接続してデジタル画像（以下、画像という）の入力を司る入力インターフェース２２と、入力インタフェース２２に入力される画像の形式に基づいてデータの出力先を割り振る信号処理部２４と、マークアップ言語としてのＸＨＴＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）により記述されたＸＨＴＭＬ文書を解析して要素の木構造としてのＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）ツリーを作成すると共にＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）により記述されたＣＳＳ文書を読み込んでスタイルオブジェクトを作成してメモリ５０に書き込む解析部３０と、解析部３０により作成されたＤＯＭツリーとスタイルオブジェクトとを用いてＸＨＴＭＬ文書に記述された要素（オブジェクト）としての画像やテキストを印刷用の印刷用のページ毎にレイアウトしてページボックスとしてメモリ５０に書き込むレイアウタ３８と、レイアウタ３８によりレイアウトして得られるページボックスを用いてＲＢＧデータとしての印刷用画像を描画するレンダリングプラグイン（以下、ＲＰＩという）４０と、描画されたＲＧＢ（Ｒｅｄ  Ｇｒｅｅｎ  Ｂｌｕｅ）データの印刷用画面をＣＭＹＫ（Ｃｙａｎ  Ｍａｇｅｎｔａ  Ｙｅｌｌｏｗ  Ｂｌａｃｋ）データに変換する色変換部４２と、変換されたＣＭＹＫデータを誤差拡散処理などの画像処理を行なって２値化する２値化部４４と、２値化されたＣＭＹＫの各データを図示しない印刷ヘッドを備える印刷実行部４８にバンド単位で出力するために一時的にデータを蓄えるイメージバッファ４６とを備える他、ＸＨＴＭＬ文書に組み込まれたベクタ図形記述用の規格としてのＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）による文を解析するＳＶＧプラグイン（以下、ＳＶＧＰＩという）３７も備えている。
【００２０】
信号処理部２４は、入力された信号が直ちに印刷可能な印刷用データの場合には印刷実行部４８のイメージバッファ４６にデータを出力し、ＲＧＢデータの場合にはメモリ５０の印刷用画面格納領域に出力し、ＸＨＴＭＬ文書で記述されたファイルの場合には解析部３０に出力する。
【００２１】
解析部３０は、ＸＨＴＭＬ文書の解析を指示することによりＤＯＭツリーを作成するコア３２と、コア３２からの指示に基づいてＸＨＴＭＬ文書を解析するＸＭＬパーサー３４と、作成されたＤＯＭツリーのｌｉｎｋタグ内の初期化処理により依頼されたＣＳＳ文書を解析するＣＳＳプラグイン（以下、ＣＳＳＰＩという）３６とから構成されている。
【００２２】
ＳＶＧＰＩ３７は、解析部３０やレイアウタ３８，ＲＰＩ４０によっては処理できないＸＨＴＭＬ文書に書き込まれたＳＶＧ文に対して、これらから問い合わせがあったときに、解析部３０に対してはコア３１にＳＶＧ要素として認識させてＤＯＭツリーに加えさせるためのモジュールとして機能し、レイアウタ３８に対しては記述された図形を印刷したときの縦横のサイズをボックスのサイズとして認識させてＳＶＧ要素をボックスとしてレイアウトさせるためのモジュールとして機能し、ＲＰＩ４０に対しては記述された図形を実際に描画するモジュールとして機能する。
【００２３】
次に、こうして構成された実施例のカラーインクジェットプリンタ２０の動作、特にＳＶＧ文が記述されたＸＨＴＭＬ文書を印刷する際の動作について説明する。図２は、解析部３０により実行される解析レイアウト指示処理の一例を示すフローチャートである。この処理は所定時間毎（例えば、８ｍｓｅｃ毎）に繰り返し実行される。解析レイアウト指示処理が実行されると、まず、ＸＨＴＭＬ文書を特定するためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｃｅ  Ｌｏｃａｔｏｒ）の指定があるか否かを判定し（ステップＳ１００）、ＵＲＬの指定があるときにはそのＵＲＬをメモリ５０に領域設定されたＵＲＬ格納用バッファ領域に格納し（ステップＳ１１０）、ＵＲＬの指定がないときには次の処理に進む。ＵＲＬ指定は、例えば、操作者がデジタルテレビ１２で表示された印刷可能な項目のうちカラーインクジェットプリンタ２０で印刷しようとする項目を選択したときデジタルテレビ１２からのカラーインクジェットプリンタ２０に出力されることにより行なうものとすることができるし、コンピュータ１０から単にＵＲＬを選択してカラーインクジェットプリンタ２０に印刷要求することによっても行なうことができる。なお、コンピュータ１０からのＵＲＬ指定では、コンピュータ１０によってもＸＨＴＭＬ文書の解析やレイアウト，色変換や２値化などを行なうことができるが、コンピュータ１０によってはこうした処理を一切行なわず、ＵＲＬだけをカラーインクジェットプリンタ２０に送信する場合となる。
【００２４】
続いて、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているか否かを判定すると共に（ステップＳ１２０）、ＸＨＴＭＬ文書を現在解析中であるか否かを判定する（ステップＳ１３０）。ＸＨＴＭＬ文書を現在解析中であるか否かの判定は、この解析レイアウト指示処理と同時に並列に解析部３０自身によって行なっているか否かを判定することにより、例えば解析開始時と解析終了時にフラグ操作するものとすればフラグを調べることにより行なうことができる。ＵＲＬが格納されており、現在ＸＨＴＭＬ文書の解析中ではないときには、メモリ５０のＵＲＬ格納用バッファ領域に格納されている最初のＵＲＬを読み出してそのＵＲＬにより特定されるＸＨＴＭＬ文書の解析を開始し（ステップＳ１４０）、ＵＲＬが格納されていないときやＵＲＬが格納されていても現在ＸＨＴＭＬ文書を解析している最中のときには次の処理に進む。ＸＨＴＭＬ文書の解析は、図３に例示する解析処理に基づいて行なわれる。この解析処理ではＵＲＬにより特定されるＸＨＴＭＬ文書が解析されてＤＯＭツリーが作成され、ＸＨＴＭＬ文書に記述されたＣＳＳ文書を解析してスタイルオブジェクトが作成され、関連付けられてメモリ５０のＤＯＭツリー用格納領域とスタイルオブジェクト用格納領域とに記憶される。このとき、ＤＯＭツリーには識別情報としてＤＯＭツリーＩＤが付与され、スタイルオブジェクトには識別情報としてスタイルオブジェクトＩＤが付与される。解析処理の詳細については後述する。
【００２５】
次に、レイアウタ３８によってレイアウトが行なわれている最中であるか否かを判定し（ステップＳ１５０）、レイアウタ３８によるレイアウトが行なわれていないときにはメモリ５０のＤＯＭツリー用格納領域に格納されたＤＯＭツリーのうち最初のＤＯＭツリーをＤＯＭツリーＩＤを用いて指定してレイアウタ３８にレイアウト開始指示を出力し（ステップＳ１６０）、この解析レイアウト指示処理を終了し、レイアウタ３８によってレイアウトが行なわれている最中であるときにはレイアウト開始指示を出力せずに解析レイアウト指示処理を終了する。ここで、レイアウタ３８によってレイアウトが行なわれている最中であるか否かの判定は、レイアウタ３８からレイアウト終了の信号を入力したか否かにより行なうことができる。レイアウト終了の信号に受信についてはレイアウタ３８の処理を説明する際に詳述する。
【００２６】
こうした解析レイアウト指示処理は、前述したように繰り返し実行されるから、解析部３０ではＵＲＬが指定される毎にＸＨＴＭＬ文書の解析中であるか否かに拘わらずに指定されたＵＲＬをメモリ５０のＵＲＬ格納用バッファ領域に格納する。また、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、レイアウタ３８によるレイアウトの実行中であるか否かに拘わらずにＸＨＴＭＬ文書の解析を順次行なう。従って、メモリ５０のＵＲＬ格納用バッファ領域には複数のＵＲＬが格納される場合が生じ、ＤＯＭツリー用格納領域に複数のＤＯＭツリーが格納される場合が生じ、スタイルオブジェクト用格納領域に複数のスタイルオブジェクトが格納される場合が生じる。実施例では、複数のＵＲＬを格納することができるようにＵＲＬ格納用バッファ領域が設定されており、複数のＤＯＭツリーを格納することができるようにＤＯＭツリー用格納領域が設定されており、複数のスタイルオブジェクトを格納することができるようにスタイルオブジェクト用格納領域が設定されている。
【００２７】
次に、解析部３０により実行される解析処理について説明する。解析処理は、前述したように図３に例示するフローチャートに基づいて行なわれる。説明の容易のために具体例として図４に例示するＸＨＴＭＬ文書を用いて説明する。図５はこの具体例のＸＨＴＭＬ文書により用いられているＪＰＥＧ形式として格納された２つの画像の一例を示し、図６はＳＶＧ文として記述された図形の一例を示す。解析レイアウト指示処理によりＵＲＬを指定して解析開始の指示がなされると、ＵＲＬにより特定されるＸＨＴＭＬ文書を読み出し（ステップＳ２００）、読み出したＸＨＴＭＬ文書における最初の記述文をＸＨＴＭＬによる記述文として解析する（ステップＳ２０２）。ここで、ＸＨＴＭＬ文書の読み出しは、具体的には、コア３２がＵＲＬを指定してＸＭＬパーサー３４に解析依頼することによりＸＭＬパーサー３４が行なう。ＸＨＴＭＬによる記述文として解析できたときには要素を作成してＤＯＭツリーに追加登録（最初の記述文の場合には「Ｄｏｃｕｍｅｎｔ」の下に要素を追加登録）し（ステップＳ２１０）、ＸＨＴＭＬ文書に次の記述文があるか否かを判定し（ステップＳ２１２）、次の記述文があるときには、次の記述文をＸＨＴＭＬによる記述文として解析するステップＳ２０２に戻る。ここで、要素の追加登録は、メモリ５０のＤＯＭツリー用格納領域に関連付けて格納することにより行なう。図４の具体例では、ｂｏｄｙタグのすぐ下のｄｉｖタグまではＸＨＴＭＬによる記述文として解析し、それらを要素として作成し、ＤＯＭツリーに追加登録する。図４に例示したＸＨＴＭＬ文書を解析して作成されたＤＯＭツリーを図７に示す。
【００２８】
一方、記述文がＸＨＴＭＬによっては解析できないときにはＳＶＧＰＩ３７に指示してＳＶＧによる記述文として解析する（ステップＳ２０６）。ＳＶＧによる記述文として解析できたときには、要素を作成すると共にＤＯＭツリーに追加登録し（ステップＳ２１０）、ＸＨＴＭＬ文書に次の記述文があるか否かを判定し（ステップＳ２１２）、次の記述文があるときには、次の記述文をＸＨＴＭＬによる記述文として解析するステップＳ２０２に戻る。図４の具体例では、ｂｏｄｙタグのすぐ下のｄｉｖタグの次のｓｖｇタグについてはＸＨＴＭＬによる記述文としては解析されず、ＳＶＧによる記述として解析され、その要素が作成されてＤＯＭツリーに追加登録される。このとき、追加登録されるＤＯＭツリーにはＳＶＧによる記述文であることが解るようその種類に対応するｓｖｇ要素とされて追加登録される。なお、ＳＶＧによる記述文としても解析できないときには、実施例のカラーインクジェットプリンタ２０では、印刷できないとしてエラー処理を実行して（ステップＳ２２２）、この処理を終了する。
【００２９】
すべての記述文の解析が終了すると、ＸＨＴＭＬ文書に指定されたＣＳＳ文書を読み出し（ステップＳ２１４）、読み込出したＣＳＳ文書を解析してスタイルオブジェクトを作成する（ステップＳ２１６）。ＣＳＳ文書の読み出しは、具体的には、ＤＯＭツリーのｌｉｎｋタグ内の初期化処理内の依頼により依頼されたＣＳＳＰＩ３６が行なう。ＣＳＳ文書の解析およびスタイルオブジェクトの作成は、具体的には、ＣＳＳＰＩ３６がＣＳＳ文書を最初から順に解析して各ルールをメモリ５０のスタイルオブジェクト用格納領域に格納することにより行なう。図８に具体例のＸＨＴＭＬ文書により指定されたＣＳＳ文書の一例を示し、図９にこのＣＳＳ文書を解析して作成されたスタイルオブジェクトの一例を示す。
【００３０】
こうしてＤＯＭツリーとスタイルオブジェクトが作成されると、作成したＤＯＭツリーとスタイルオブジェクトの関連付け処理を実行し（ステップＳ２１８）、ＵＲＬ格納用バッファ領域から解析の対象のＵＲＬを削除して（ステップＳ２２０）、解析処理を終了する。
【００３１】
次に、レイアウタ３８の処理について説明する。図１０は、解析部３０によりＤＯＭツリーを指定してレイアウト開始指示がなされたときにレイアウタ３８により実行されるレイアウト描画指示処理の一例を示すフローチャートである。レイアウト描画指示処理が実行されると、レイアウタ３８は、まず、指定されたＤＯＭツリーに基づいてレイアウトを開始する（ステップＳ３００）。レイアウトは、図１１に例示するレイアウト処理により実行される。説明の都合上、ここで、レイアウト処理について説明する。
【００３２】
レイアウト処理では、レイアウタ３８は、まず、ＤＯＭツリーの各要素に対してその要素の特性に従って要素ボックスを作成する（ステップＳ４００）。例えば、要素が画像であればイメージボックスを作成し、要素がテキストであればテキストボックスを作成し、要素がＳＶＧにより記述された図形であればｓｖｇボックスを作成するのである。続いて、ページ毎に対応するページボックスを作成し（ステップＳ４１０）、そのページボックスの下にｂｏｄｙタグ内の要素ボックスをレイアウトできなくなるまで順にレイアウトする（ステップＳ４２０〜Ｓ４６０）。要素ボックスのレイアウトは、要素ボックスの特性を判定し（ステップＳ４２０）、ＸＨＴＭＬの特性、即ちイメージボックやテキストボックスなどであればＸＨＴＭＬによる要素ボックスとしてレイアウトする。例えば、イメージボックスの場合には画像サイズを取得すると共に行を作成してイメージボックスを登録することにより行なうのである。取得した画像サイズによりイメージボックスをレイアウトすることができないときにはステップＳ４５０でレイアウト不可の判定がなされ、次ページに対応するページボックスが作成される（ステップＳ４１０）。要素ボックスがテキストボックスの場合には、要素ボックスのレイアウトは、行に入るだけのテキストボックスを生成して行に登録し、残余のテキストについては、行を作成し、作成した行に入るだけのテキストボックスを作成して登録することを繰り返すことにより行なわれる。なお、ページの最終行にテキストボックスを登録しても、テキストのすべてを登録できないときには、ステップＳ４５０でレイアウト不可の判定がなされ、次ページに対応するページボックスが作成され、残余のテキストを同様にしてテキストボックスとして行に登録する。ステップＳ４２０で要素ボックスの特性がＳＶＧの特性、即ちｓｖｇボックスと判定されたときにはＳＶＧによる要素ボックスとしてレイアウトする。このレイアウトは、レイアウタ３８がＳＶＧＰＩ３７に対してボックスのサイズを出力するよう指示することにより、ＳＶＧＰＩ３７が記述文に基づいて描かれる図形の印刷時の縦横のサイズをボックスのサイズとして出力し、これをレイアウタ３８が画像のときと同様にそのサイズを用いて業を作成してｓｖｇボックスを登録することにより行なわれる。この際、図形のサイズによりｓｖｇボックスをレイアウトすることができないときにはステップＳ４５０でレイアウト不可の判定がなされ、次ページに対応するページボックスが作成される（ステップＳ４１０）。図１２に具体例のＤＯＭツリーを用いてレイアウトした際の各ページのページボックスを示す。こうしてすべての要素ボックスをレイアウトすると、指定されたＤＯＭツリーをメモリ５０のＤＯＭツリー用格納領域から削除して（ステップＳ４７０）、レイアウト処理を終了する。このように、レイアウト処理を終了するときに用いたＤＯＭツリーをメモリ５０のＤＯＭツリー用格納領域から削除することにより、ＤＯＭツリー用格納領域に不要なＤＯＭツリーが格納された状態が継続されるのを回避することができる。この結果、解析部３０によって作成される新たなＤＯＭツリーの格納領域を確保することができる。
【００３３】
レイアウト描画指示処理（図１０）の説明に戻る。レイアウトを開始すると、最初のページ分のレイアウトが完了するのを待って（ステップＳ３１０）、レイアウトが完了したページを指定してＲＰＩ４０に描画開始指示を出力する（ステップＳ３２０）。ページ分のレイアウトが完了したか否かの判定は、次ページに対応するページボックスが作成されたか否かにより、１ページだけしかないときにはレイアウト処理が終了したか否かにより行なうことができる。描画開始指示されたＲＰＩ４０は、図１３に例示する描画処理を実行し、ページボックスに従ってテキストや画像，図形をメモリ５０の印刷用画像格納領域を用いてＲＧＢデータとして描画する（ステップＳ５００）。ここで、画像に対応する「ＩｎｌｉｎｅＩｍｇＢｏｘ」に対しては、画像ファイルを読み出し、ファイル形式によっては展開等を行なって描画することにより行ない、ｓｖｇボックスに対応する「ＩｎｌｉｎｅＳｖｇＢｏｘ」に対しては、ＳＶＧＰＩ３７にメモリ５０の印刷用画像格納領域に図形の描画を指示することにより行なう。そして、描画が終了すると、色変換部４２に色変換指示を出力すると共に（ステップＳ５１０）、描画終了をレイアウタ３８に出力する。図１４に具体例の印刷結果の一例を示す説明図である。図中の破線はｂｏｄｙタグ内のｄｉｖタグの領域やｓｖｇタグの領域を示し、画像の上部および左側部の「１２ｃｍ」はＣＳＳ文書により記述された画像サイズを示す。実際の印刷結果には、こうしたｄｉｖタグやｓｖｇタグの領域や画像サイズは表示されないのは言うまでもない。
【００３４】
描画開始指示を出力した後はそのページの描画が終了するのを待って（ステップＳ３３０）、そのページに対応するページボックスを削除する（ステップＳ３４０）。このように、ページの描画が終了する毎にそのページに対応するページボックスを削除することにより、ボックス用格納領域に不要なページボックスが格納された状態が継続されるのを回避することができる。こうしてページボックスを削除すると、次ページがあるか否かを判定し（ステップＳ３５０）、次ページがあるときにはステップＳ３１０の処理に戻る。即ち、次ページに対するページ分のレイアウトが完了しているか否かを判定し、レイアウトが完了していないときには完了するまで待ってレイアウトが完了したページを指定してＲＰＩ４０に描画開始指示を出力するのである。こうしてすべてのページを描画し、次ページがなくなると、レイアウト終了を解析部３０に出力して（ステップＳ４６０）、レイアウト描画指示処理を終了する。このように、レイアウタ３８からレイアウト終了の信号を解析部３０に出力することにより、解析部３０は、レイアウタ３８によるレイアウトの最中であるか否かを判定することができる。
【００３５】
以上説明した実施例のカラーインクジェットプリンタ２０によれば、ＳＶＧＰＩ３７を備え、ＳＶＧによる記述文に対してＳＶＧＰＩ３７を用いて解析したりレイアウトしたり描画するようにすることにより、ＸＭＬパーサー３４により解析できないＳＶＧによる記述文が含まれたＸＨＴＭＬ文書でも解析して印刷することができる。従って、画像やテキストなどＸＨＴＭＬによって記述されるオブジェクトに加え、ＳＶＧによって記述される図形などのオブジェクトも画像やテキストなどのオブジェクトと同時に印刷することができる。しかも、ＵＲＬが指定される毎にＸＨＴＭＬ文書の解析中であるか否かに拘わらずに指定されたＵＲＬをメモリ５０のＵＲＬ格納用バッファ領域に格納することができる。また、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、レイアウタ３８によるレイアウトの実行中であるか否かに拘わらずにＸＨＴＭＬ文書の解析を順次行なうことができる。この結果、レイアウタ３８によるレイアウトの実行中であるか否かに拘わらず、ＵＲＬの指定を格納し、ＵＲＬにより特定されるＸＨＴＭＬ文書を読み込んで解析することができる。したがって、印刷を完了する毎にＵＲＬにより特定されるＸＨＴＭＬ文書を読み込んで解析して印刷するものに比して、迅速に解析して印刷することができる。
【００３６】
ここで、実施例のカラーインクジェットプリンタ２０では、メモリ５０がデータ記憶手段に相当し、ＸＭＬパーサー３４とＳＶＧＰＩ３７とが主解析部と追加解析部とからなる記述文解析手段に相当し、コア３２とＣＳＳＰＩ３６とが構造解析手段に相当し、レイアウタ３８がレイアウト作成手段に相当し、ＲＰＩ４０と色変換部４２と２値化部４４とイメージバッファ４６と印刷実行部４８とが印刷実行手段に相当する。
【００３７】
実施例のカラーインクジェットプリンタ２０では、ベクタ図形記述用の規格としてのＳＶＧによる記述文を解析するＳＶＧＰＩ３７を備え、ＳＶＧによる記述文に対してＳＶＧＰＩ３７を用いて解析したりレイアウトしたり描画するものとしたが、数学関連の式を記述するための規格としてのＭａｔｈＭＬ（Ｍａｔｈｅｍａｔｉｃｌ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）による記述文を解析するモジュールや化学関連の式を記述するための規格としてのＣＭＬ（Ｃｈｅｍｉｃａｌ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）による記述文を解析するモジュールなどを備え、ＳＭａｔｈＭＬによる記述文やＣＭＬによる記述に対しては対応するモジュールを用いて解析したりレイアウトしたり描画するものとしてもよい。
【００３８】
実施例のカラーインクジェットプリンタ２０では、ＸＨＴＭＬ文書の記述文を解析する際に、まずＸＨＴＭＬによる記述文として解析し、解析できないときにＳＶＧによる記述文として解析するものとしたが、逆に、まずＳＶＧによる記述文として解析し、解析できないときにＸＨＴＭＬによる記述文として解析するものとしても差し支えない。
【００３９】
実施例のカラーインクジェットプリンタ２０では、ＳＶＧＰＩ３７を独立した機能ブロックとして説明したが、ＳＶＧＰＩ３７に含まれるｓｖｇ要素を認識して登録するモジュールについては解析部３０内に含ませ、ｓｖｇボックスのサイズを出力するモジュールについてはレイアウタ３８に含ませ、図形を描画するモジュールについてはＲＰＩ３７に含ませるものとしてもよい。
【００４０】
実施例のラーインクジェットプリンタ２０では、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、メモリ５０のＤＯＭツリー用格納領域に格納されているＤＯＭツリーの数に拘わらずに、ＸＨＴＭＬ文書の解析を順次行なうものとしたが、メモリ５０のＤＯＭツリー用格納領域に格納されているＤＯＭツリーが所定数のときには所定数未満となるまで次のＸＨＴＭＬ文書の解析を保留するものとしてもよい。所定数としては例えば値２をとすることができる。こうすれば、メモリ５０のＤＯＭツリー用格納領域を小さくすることができる。
【００４１】
実施例のカラーインクジェットプリンタ２０では、メモリ５０のＵＲＬ格納用バッファ領域にＵＲＬが格納されているときには、ＸＨＴＭＬ文書の解析を終了次第、直ちに次のＸＨＴＭＬ文書を解析するものとしたが、ＸＨＴＭＬ文書の解析を終了した以降であれば如何なるタイミングで次のＸＨＴＭＬ文書を解析するものとしてもよい。
【００４２】
実施例のカラーインクジェットプリンタ２０では、ＳＶＧによる記述文を含むＸＨＴＭＬ文書を解析して印刷するものとしたが、他のマークアップ言語による記述文が含まれるマークアップ言語により記述された記述文書を解析して印刷するものとしてもよい。また、マークアップ言語以外の言語により記述された文書を解析して印刷するものとしても差し支えない。
【００４３】
実施例のカラーインクジェットプリンタ２０では、入力インターフェース２２に接続される機器としてコンピュータ１０やデジタルテレビ１２やデジタルカメラ１４などを記載したが、如何なる機器を接続するものとしても差し支えない。
【００４４】
実施例では、ＸＨＴＭＬ文書を解析して印刷する本発明の印刷装置としてカラーインクジェットプリンタを用いたが、カラーレーザプリンタやモノクロのインジェットプリンタやレーザプリンタなどの種々のプリンタを用いるものとしてもよい。
【００４５】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【００４６】
本発明は、印刷機器産業に利用可能である。
【図面の簡単な説明】
【００４７】
【図１】実施例のカラーインクジェットプリンタ２０の構成を例示する構成図。
【図２】解析レイアウト指示処理の一例を示すフローチャート。
【図３】解析処理の一例を示すフローチャート。
【図４】具体例のＸＨＴＭＬ文書の一例を示す説明図。
【図５】具体例のＸＨＴＭＬ文書に記述された画像の一例を示す説明図。
【図６】具体例のＳＶＧ文書として記述された図形の一例を示す説明図。
【図７】具体例のＤＯＭツリーの一例を示す説明図。
【図８】具体例のＣＳＳ文書の一例を示す説明図。
【図９】具体例のスタイルオブジェクトの一例を示す説明図。
【図１０】レイアウト描画指示処理の一例を示すフローチャート。
【図１１】レイアウト処理の一例を示すフローチャート。
【図１２】具体例のページボックスの一例を示す説明図。
【図１３】描画処理の一例を示すフローチャート。
【図１４】具体例の印刷結果の一例を示す説明図。
【符号の説明】
【００４８】
１０  コンピュータ、１２  デジタルテレビ、１４  デジタルカメラ、２０  カラーインクジェットプリンタ、２２  入力インターフェース、２４  信号処理部、３０  解析部、３２  コア、３４  ＸＭＬパーサー、３６  ＣＳＳＰＩ、３７  ＳＶＧＰＩ、３８  レイアウタ、４０  ＲＰＩ、４２  色変換部、４４  ２値化部、４６  イメージバッファ、４８  印刷実行部。
【図１】
2005135087.tif 000003
【図２】
2005135087.tif 000004
【図３】
2005135087.tif 000005
【図４】
2005135087.tif 000006
【図５】
2005135087.tif 000007
【図６】
2005135087.tif 000008
【図７】
2005135087.tif 000009
【図８】
2005135087.tif 000010
【図９】
2005135087.tif 000011
【図１０】
2005135087.tif 000012
【図１１】
2005135087.tif 000013
【図１２】
2005135087.tif 000014
【図１３】
2005135087.tif 000015
【図１４】
2005135087.tif 000016