(57)【特許請求の範囲】
【請求項１】
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別手段と、
前記判別手段により描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別手段により描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送手段とを有することを特徴とする情報処理装置。
【請求項２】
前記転送手段は、前記判別手段により描画順を考慮して描画すべき描画オブジェクトであると判別された場合、文字に対応する描画オブジェクトと図形に対応する描画オブジェクトとに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別手段により描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、文字に対応する描画オブジェクトに対応するコードデータを生成し、生成したコードデータと、図形に対応する描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータとを印刷データとしてプリンタに転送することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記描画オブジェクトは、文字および図形を含むことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記判別手段は、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの色が異なる場合、描画オブジェクトの描画が上書き及び論理和以外の描画がある場合、描画オブジェクトの描画が上書きで背景色の属性が透明でない場合、または、第１の描画オブジェクトと第２の描画オブジェクトとが描画順序を変更すると同一の描画結果が得られないオブジェクトの場合、描画順を考慮して描画すべき描画オブジェクトであると判別することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記判別手段は、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの色が同じであり、これらが上書きまたは論理和で描画される場合、第１の描画オブジェクトと第２の描画オブジェクトとが描画順序を変更しても同一の描画結果を得られるオブジェクトの場合第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの背景色が透明である場合、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンを論理和で描画する場合、または、第１の描画オブジェクトのパターンと第２の描画オブジェクトの背景色が透明なパターンとを上書きで描画する場合、描画順を考慮して描画しなくてもよい描画オブジェクトであると判別することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記プリンタは、転送されるコードデータに対応するイメージデータを生成し、生成したイメージデータと転送されるイメージデータとを合成し、合成されたイメージデータの印刷を行うことを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記判別手段により描画順を考慮して描画すべき描画オブジェクトであると判別された場合、描画オブジェクトが所定領域内の他の描画オブジェクト重なっているか否かを判定する判定手段を有し、前記転送手段は、前記判定手段により重なっていると判定された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判定手段により重なっていないと判定された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送することを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記判別手段は、描画オブジェクトが所定領域内の他の描画オブジェクトとが重なるか判定する判定手段を含むことを特徴とする請求項１記載の情報処理装置。
【請求項９】
前記判定手段による判定が所定回数に達した場合、または、前記判定手段による判定が所定時間経過した場合、前記判定手段による判定を中止し、描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータをプリンタに送信する手段を有することを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記所定領域は、１頁に対応する領域を１または複数に分割した領域であることを特徴とする請求項８、または、９記載の情報処理装置。
【請求項１１】
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別ステップと、
前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別ステップにより描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送ステップとを有することを特徴とする情報処理方法。
【請求項１２】
前記転送ステップは、前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、文字に対応する描画オブジェクトと図形に対応する描画オブジェクトとに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別ステップにより描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、文字に対応する描画オブジェクトに対応するコードデータを生成し、生成したコードデータと、図形に対応する描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータとを印刷データとしてプリンタに転送することを特徴とする請求項１１記載の情報処理方法。
【請求項１３】
前記描画オブジェクトは、文字および図形を含むことを特徴とする請求項１１記載の情報処理方法。
【請求項１４】
前記判別ステップは、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの色が異なる場合、描画オブジェクトの描画が上書き及び論理和以外の描画がある場合、描画オブジェクトの描画が上書きで背景色の属性が透明でない場合、または、第１の描画オブジェクトと第２の描画オブジェクトとが描画順序を変更すると同一の描画結果が得られない描画オブジェクトであると判別することを特徴とする請求項１１記載の情報処理方法。
【請求項１５】
前記判別ステップは、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの色が同じであり、これらが上書きまたは論理和で描画される場合、第１の描画オブジェクトと第２の描画オブジェクトとが描画順序を変更しても同一の描画結果を得られるオブジェクトの場合、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの背景色が透明である場合、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンを論理和で描画する場合、または、第１の描画オブジェクトのパターンと第２の描画オブジェクトの背景色が透明なパターンとを上書きで描画する場合、描画順を考慮して描画しなくてもよい描画オブジェクトであると判別することを特徴とする請求項１１記載の情報処理方法。
【請求項１６】
前記プリンタは、転送されるコードデータに対応するイメージデータを生成し、生成したイメージデータと転送されるイメージデータとを合成し、合成されたイメージデータの印刷を行うことを特徴とする請求項１１記載の情報処理方法。
【請求項１７】
前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、描画オブジェクトが所定領域内の他の描画オブジェクト重なっているか否かを判定する判定ステップを有し、前記転送ステップは、前記判定ステップにより重なっていると判定された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判定ステップにより重なっていないと判定された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送することを特徴とする請求項１１記載の情報処理方法。
【請求項１８】
前記判別ステップは、描画オブジェクトが所定領域内の他の描画オブジェクトとが重なるか判定する判定ステップを含むことを特徴とする請求項１１記載の情報処理方法。
【請求項１９】
前記判定ステップによる判定が所定回数に達した場合、または、前記判定ステップによる判定が所定時間経過した場合、前記判定ステップによる判定を中止し、描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータをプリンタに送信するステップを有することを特徴とする請求項１８記載の情報処理方法。
【請求項２０】
前記所定領域は、１頁に対応する領域を１または複数に分割した領域であることを特徴とする請求項１８、または、１９記載の情報処理方法。
【請求項２１】
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別ステップと、
前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別ステップにより描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送ステップとを有するプログラムを記憶する記憶媒体。
【請求項２２】
前記転送ステップは、前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、文字に対応する描画オブジェクトと図形に対応する描画オブジェクトとに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別ステップにより描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、文字に対応する描画オブジェクトに対応するコードデータを生成し、生成したコードデータと、図形に対応する描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータとを印刷データとしてプリンタに転送することを特徴とする請求項２１記載の記憶媒体。
【請求項２３】
前記描画オブジェクトは、文字および図形を含むことを特徴とする請求項２１記載の記憶媒体。
【請求項２４】
前記判別ステップは、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの色が異なる場合、描画オブジェクトの描画が上書き及び論理和以外の描画がある場合、描画オブジェクトの描画が上書きで背景色の属性が透明でない場合、または、第１の描画オブジェクトと第２の描画オブジェクトとが描画順序を変更しても同一の描画結果が得られない描画オブジェクトの場合、描画順を考慮して描画すべき描画オブジェクトであると判別することを特徴とする請求項２１記載の記憶媒体。
【請求項２５】
前記判別ステップは、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの色が同じであり、これらが上書きまたは論理和で描画される場合、第１の描画オブジェクトと第２の描画オブジェクトとが描画順序を変更しても同一の描画結果を得られるオブジェクトの場合、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンの背景色が透明である場合、第１の描画オブジェクトと第２の描画オブジェクトとにより表されるパターンを論理和で描画する場合、または、第１の描画オブジェクトのパターンと第２の描画オブジェクトの背景色が透明なパターンとを上書きで描画する場合、描画順を考慮して描画しなくてもよい描画オブジェクトであると判別することを特徴とする請求項２１記載の記憶媒体。
【請求項２６】
前記プリンタは、転送されるコードデータに対応するイメージデータを生成し、生成したイメージデータと転送されるイメージデータとを合成し、合成されたイメージデータの印刷を行うことを特徴とする請求項２１記載の記憶媒体。
【請求項２７】
前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、描画オブジェクトが所定領域内の他の描画オブジェクト重なっているか否かを判定する判定ステップを有し、前記転送ステップは、前記判定ステップにより重なっていると判定された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判定ステップにより重なっていないと判定された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送することを特徴とする請求項２１記載の記憶媒体。
【請求項２８】
前記判別ステップは、描画オブジェクトが所定領域内の他の描画オブジェクトとが重なるか判定する判定ステップを含むことを特徴とする請求項２１記載の記憶媒体。
【請求項２９】
前記判定ステップによる判定が所定回数に達した場合、または、前記判定ステップによる判定が所定時間経過した場合、前記判定ステップによる判定を中止し、描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータをプリンタに送信するステップを有することを特徴とする請求項２８記載の記憶媒体。
【請求項３０】
前記所定領域は、１頁に対応する領域を１または複数に分割した領域であることを特徴とする請求項２８、または、２９記載の記憶媒体。
【請求項３１】
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別手段と、前記判別手段により描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別手段により描画順を考慮して描画すべき描画オブジェクトでないと判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送手段とを有する情報処理装置と、
前記情報処理装置より転送されるコードデータに対応するイメージデータを生成し、生成したイメージデータと転送されるイメージデータとを合成し、合成されたイメージデータの印刷を行うプリンタとを有することを特徴とする印刷システム。
【請求項３２】
前記判別手段は、描画オブジェクトの重なりを判別しないことを特徴とする請求項１記載の情報処理装置。
【請求項３３】
前記判別ステップは、描画オブジェクトの重なりを判別しないことを特徴とする請求項１１記載の情報処理装置。
【請求項３４】
前記判別ステップは描画オブジェクトの重なりを判別しないことを特徴とする請求項２１記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタに印刷データを送信し、印刷させる情報処理装置、情報処理方法、記憶媒体、及び、印刷システムに関する。
【０００２】
【従来の技術】
従来のプリンティングシステムの中には、文字列オブジェクトをグラフィックスオブジェクトと違った方式で処理しプリンタに転送するものがあった。
【０００３】
図１４は、従来の方式に従うプリンティングシステム（以下、システムという）の１例を示す図である。
【０００４】
＜システム概要説明＞
図１４に示すように、ホストコンピュータ（以下、ホストという）３０００とプリンタ１５００は、例えばセントロニクス等の、何らかの通信インタフェース２１を介して結ばれており、文字列オブジェクト１０００１は文字列情報１０００３としてプリンタ１５００に転送される。また、グラフィクスオブジェクト１０００２はイメージ情報１０００４であるイメージビットマップデータとしてプリンタ１５００に転送される。
【０００５】
＜描画オブジェクトの種類に従って変更される転送方式＞
さて、このシステムにおいて、文字列オブジェクト１０００１のみが記録用紙１ページ分の描画オブジェクトとしてプリントされる場合を考えてみる。
【０００６】
一般的な文字だけの印刷の場合、１ページ分の文字列オブジェクトをイメージビットマップに展開したデータ量は、文字列コード情報のデータ量より多い。従って、すべての描画オブジェクトをビットマップイメージデータに展開してホストからプリンタに転送する方法より、文字列オブジェクトを文字列コード情報としてプリンタに転送する方式のほうが、転送データ量を押さえることができる。そのため、描画オブジェクトの種類に従って、転送方式を変更し、データ転送の効率化を図っているのである。
【０００７】
＜データ入力からデータ出力までの処理説明＞
このシステムでは、ホスト３０００で動作するサブシステムの１つ、例えば、文書処理サブシステムが、ホスト３０００で動作しているドライバ１０１に描画オブジェクトである文字列オブジェクト１０００１、或は、グラフィクスオブジェクト１０００２を入力することにより処理が開始される。
【０００８】
描画オブジェクトを入力されたドライバ１０１は、その入力描画オブジェクトの種類に従って、次のような処理を、記録用紙１ページ分の描画オブジェクトの入力が終わるまで行う。
【０００９】
（１）文字列オブジェクト１０００１が入力されると、ドライバ１０１では文字列変換部１００１を用いてその文字列オブジェクトを文字列コード情報に変換し、その変換された情報を、プリンタ１５００に文字列情報１０００３として転送する。
【００１０】
（２）グラフィックスオブジェクト１０００２が入力されると、描画部１００２を用いて一旦仮想出力媒体であるメモリ１００３にその入力オブジェクトをビットマップイメージ１００００１として展開する。この時、ビットマップイメージ１００００１には文字情報は含まれていない。そして、記録用紙１ページ分の描画オブジェクトが入力されたときに、それまで描画されてきたビットマップイメージ１００００１をイメージ情報１０００４としてプリンタ１５００に転送する。
【００１１】
記録用紙１ページ分のすべての描画オブジェクトがドライバで処理されたとき、プリンタ１５００には、記録用紙１ページ分の文字列オブジェクト１０００１に対応する文字列情報１０００３、及び／或は、記録用紙１ページ分のグラフィックスオブジェクト１０００２が展開されたイメージ情報１０００４が入力されたことになる。
【００１２】
一方、プリンタ１５００では次のような処理を行う。
【００１３】
（１） グリフ生成部１００４は、入力文字列情報１０００３を内蔵フォントメモリ（ＦＯＮＴ）１００６に格納されたフォント情報１０００６を利用して、文字列のビットマップ情報１０００５（Ｇｌｙｐｈ）に展開する。
【００１４】
（２）そして、グリフ合成部１００５は、展開されたＧｌｙｐｈ情報１０００５を、記録用紙１ページ分のイメージ情報１０００４であるビットマップイメージの上に上書きする。
【００１５】
上記の処理を行った結果得られるビットマップイメージ１００００２が印刷結果となる。
【００１６】
＜従来技術に共通する仕様＞
この例に挙げたシステムでは、一般の印刷物を印刷している限り文字列オブジェクトの上には、他の描画オブジェクトが重なる可能性が低いということを仮定しており、文字列の描画順を無視する仕様となっている。例えば、ホストに搭載される典型的なオペレーティングシステムであるMS-Windowsの一般的なドライバである付属のUniDriverの場合も同様な仕様を採用している。この仕様を採用することによりつぎのような恩恵を得ることができる。
【００１７】
（１）ドライバがグラフィックスオブジェクトをビットマップイメージに展開している間に、プリンタドライバ内部で文字列オブジェクトをＧｌｙｐｈ情報に展開することで、印刷時間の短縮を図ることができる。
【００１８】
（２）記録用紙１ページ分の描画オブジェクトが文字列オブジェクトのみで構成されていた場合、ビットマップイメージを転送する必要がなくなり、ホストとプリンタ間の転送データ量が減少する。
【００１９】
【発明が解決しようとする課題】
しかしながら、このシステムでは文字列オブジェクトにおける描画順番の情報が失われてしまう結果となる。
【００２０】
図２（ａ）は、文字列２０２を矩形フィル２０１の上に重ねた画像、すなわち文字列２０２を矩形フィル２０１の後で描画した画像の例であり、図２（ｂ）は、文字列２０４を矩形フィル２０３の下に重ねた画像、すなわち文字列２０２を矩形フィル２０１の前に描画した画像の例である。このように、画面内に同じオブジェクトが同じ位置に配置された画像であっても、描画順序の違いにより出力結果は異なるものとなる。このことから、従来の描画順を無視した処理を行う印刷システムの場合、プリンタにおける文字列オブジェクトの描画順番が、ユーザが本来意図した順序と異なる順序で描画されてしまい、本来あるべき印刷結果と実際に得られた印刷結果とが著しく異なるという場合が存在する。
【００２１】
このような間題点を解決するために最も簡単な方法としては、文字列オブジェクトを他の描画オブジェクトと区別することなくすぺての描画オブジェクトをドライバ１０１側で描画順序どおりにビットマップイメージに描画することが考えられる。しかしこの方法でプリントを行った場合、文字列オブジェクトのみで構成されている１ぺ一ジの描画オブジェクトを出力する際でも、すべてビットマップイメージでプリンタに転送する必要があるし、また、すべてのビットマップイメージの生成をホスト装置で行わなければならない。すなわち、図１４の装置において得られていた利点がすべて失われてしまうことになる。
【００２２】
本発明は上記従来例に鑑みてなされたもので、指定された描画結果でプリンタに印刷されるようにすることを目的とする。また、文字列オブジェクトと描画オブジェクトとの重なりを属性情報と空間情報より判定し、重なりを考慮しないでよい文字列オブジェクトについては文字列情報として印刷装置に送信することで、送信されるデータ量を減らし、印刷装置と並列にイメージを展開することで処理効率を向上させるとともに、描画オブジェクトの重なり具合を保存し、作成されたとおりの本来有るべき画像として印刷装置から出力させることを目的とする。
【００２３】
また、重なりの空間判定に時間／回数制限を設けているために、判定のために多大な時間を消費してしまう事態を防止することを目的とする。
【００２４】
【課題を解決するための手段】
上記目的を達成するための本発明の情報処理装置は、
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別手段と、
前記判別手段により描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別手段により描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送手段とを有することを特徴とする。
【００２５】
また、本発明の情報処理方法は、
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別ステップと、
前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別ステップにより描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送ステップとを有することを特徴とする。
【００２６】
また、本発明の記憶媒体は、
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別ステップと、
前記判別ステップにより描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別ステップにより描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送ステップとを有するプログラムを記憶する。
【００２７】
また、本発明の印刷システムは、
描画順を考慮して描画を行うべき描画オブジェクトであるか否かを判別する判別手段と、前記判別手段により描画順を考慮して描画すべき描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するイメージデータを生成し、生成したイメージデータを印刷データとしてプリンタに転送し、前記判別手段により描画順を考慮して描画しなくてもよい描画オブジェクトであると判別された場合、前記描画オブジェクトに対応するコードデータを生成し、生成したコードデータを印刷データとしてプリンタに転送する転送手段とを有する情報処理装置と、
前記情報処理装置より転送されるコードデータに対応するイメージデータを生成し、生成したイメージデータと転送されるイメージデータとを合成し、合成されたイメージデータの印刷を行うプリンタとを有することを特徴とする。
【００２８】
【発明の実施の形態】
本発明の実施形態である印刷システムの構成を図１に示す。
【００２９】
＜プリンタシステムの構成と動作＞
図１において、ホスト３０００では、不図示の種々のアプリケーションプログラムが稼働しており、印刷のために必要に応じて文字列やグラフィクス等の描画オブジェクトを出力し、後述するプリンタドライバ１０１に入力する。
【００３０】
なお、ここでいう描画オブジェクトとは、ホスト上のＯＳ等のシステムからプリンタに渡される文字列や、線、矩形、ポリゴン、ビットマップ、イメージ等の抽象化された描画命令の概念である。特に文字列の描画を表す描画オブジェクトを文字列オブジェクトと呼び、その他の描画に関する描画オブジェクトをグラフィックスオブジェクトと分類して呼ぶことにする。また、文字列情報とはホストからプリンタに転送する文字コード等を含んだ文字列印刷を表す情報とし、イメージ情報とはグラフィックスの印刷を表すためにホストからプリンタに転送するイメージマップ等の情報とする。
【００３１】
ホスト３０００とプリンタ１５００は、例えばセントロニクス等の何らかの通信媒体２１で結ばれており、文字列オブジェクト１０００１は、文字コードや印刷位置等を含む文字列情報１０００３としてプリンタ１５００に転送される。またグラフィクスオブジェクト１０００２は、ビットマップイメージを含むイメージ情報１０００４としてプリンタ１５００に転送される。
【００３２】
アプリケーションプログラムなどから描画オブジェクトを入力されたプリンタドライバ１０１は、入力された描画オブジェクトの種類によって、１ぺ一ジの描図オブジェクトの入力が終わるまで次のような処理を行う。
（１）描画オブジェクト（文字列オブジェクト１０００１及びグラフィクスオブジェクト１０００２）が入力されると、文字列分離部４００によって、１ぺ一ジ内の文字列オブジェクトに対して、それ以降に入力された描画オブジェクトを判定し、上に他のオブジェクトが重ならないもしくは、重なりを考慮しなくてもよい文字列オブジェクトを、非順序文字列オブジェクトとしてその他の描画オブジェクトと分離する。
（２）文字列変換部１００１により、分離された非順序文字列オブジェクトを文字列情報に変換し、随時プリンタ１５００に文字列情報１０００３として転送する。
（３）非順序文字列オブジェクト以外の描画オブジェクトから、描画部４０１によってビットマップイメージ１００００１を展開する。このとき、文字列オブジェクトは、フォント４０２を用いてビットマップイメージに展開する。展開されたビットマップイメージはイメージ情報１０００４としてプリンタ１５００側に転送される。
【００３３】
一方、プリンタ１５００では次のような処理を行う。
（１）入力された文字列情報１０００３を、内蔵フォント１００６格納のフォント情報１０００６を利用することにより、グリフ（Ｇｌｙｐｈ）生成部１００４でグリフ情報１０００５（文字列のビットマップ情報）を展開する。
（２）１ぺ一ジ分のグラフィックスオブジェクト１０００４をすべて展開したビットマップイメージ１００００１の上に、展開したグリフ情報１０００５をグリフ合成部１００１により重ね書きする。
【００３４】
本実施形態では、ドライバ部１０１は、文字列分離部４００と、グラフィックオブジェクト１０００２と文字列オブジェクト１０００１とをビットマップイメージに変換する描画部４０１と、描画部４０１にフォント情報を供給するフォントファイル４０２とを従来の構成に加えて有している。まず、文字列分離部４００から詳しく説明する。
【００３５】
＜文字列分離部の構成＞
文字列分離部は、２つの判断部より構成されている。
【００３６】
１）属性判断部
所定領域に該当する描画オブジェクトの集合に対して、描画順を考慮せずに描画を行っても影響を受けない場合はその集合中の文字列オブジェクトを文字列情報として転送し、影響を受ける場合はイメージ情報として転送することを実現する判断部。この判断部は記録用紙１ページ分に対応する領域を複数の論理的な領域に分割した、それぞれの領域内の描画データを調査し、以下に示すような条件を満たす領域内の文字列オブジェクトのみを抽出する。
・領域中に同色の文字列のみが存在する場合。
・描画順が前後しても描画結果に影響を与えない描画オブジェクトのみが存在する場合、即ち、領域内の文字列オブジェクトとグラフィックスオブジェクトがすべて同色であり、かつ、例えば、上書き、論理和以外の特殊なラスタオペレーションがかかっていない場合。
【００３７】
２）空間判断部
１ページ内の文字列オブジェクト上に描画オブジェクトが重なっていないことを判定するためには、１ページ内のそれぞれの文字列オブジェクトに対して、それ以降に入力された描画オブジェクトとの重なりをすべて判定しなければならず、描画オブジェクト数の２乗のオーダの回数の判定が必要となる。そこで空間判断部は次の２つの特徴を有する。
（１）１ページを複数の領域に分割し、その領域内にふくまれる描画オブジェクトに対して上記の重なりの判断を行う。
（２）判定に要する時間が所定の制限時間／回数を越えた場合は、判定をやめてすべての文字列オブジェクトをイメージ情報として出力する。
【００３８】
本実施の形態の場合、
属性判断部で、抽出できなかった文字列オブジェクトに対して、空間判断部を適応するという形で、描画順の影響を受けない文字列オブジェクトを抽出する。
【００３９】
図３は、ホスト３０００とプリンタ１５００とこれらを相互に接続する双方向インタフェース（以下、双方向Ｉ／Ｆという）２１とによって構成されるシステムの構成を示すブロック図である。
【００４０】
ホスト３０００は、メインユニット２０００と、キーボード（ＫＢ）９、 ＣＲＴディスプレイ（ＣＲＴ）１０、ブートプログラムや種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部記憶装置１１などの周辺機器とから構成されている。
【００４１】
メインユニット２０００において、 ＣＰＵ１はメインユニット２０００を構成するシステムバス４に接続される各要素を統括的に制御するとともに、プログラム用ＲＯＭ３ｂに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算を含む）等が混在した文書処理を実行する。また、プログラム用ＲＯＭ３ｂには文書処理プログラムの他にＣＰＵ１が実行する後述されるフローチャートに係るプログラムを含む制御プログラム等が記憶され、フォント用ＲＯＭ３ａには文書処理の際に使用するフォントデータ等が記憶され、データ用ＲＯＭ３ｃには文書処理等を行なう際に使用する各種定数データが記憶する。
【００４２】
また、２はＣＰＵ１が種々の処理や制御を実行するときにワークエリアとして用いられるＲＡＭであり、 ５はキーボード（ＫＢ）９やポインティングデバイス（不図示）からのキー入力を制御するキーボードコントローラ（ＫＢＣ）、６はＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御するＣＲＴコントローラ（ＣＲＴＣ）、７は外部記憶装置１１とのアクセスを制御するディスクコントローラ（ＤＫＣ）、８は双方向Ｉ／Ｆ２１を介してプリンタ１５００を接続してプリンタ１５００との通信制御処理を実行するプリンタコントローラ（ＰＲＴＣ）である。
【００４３】
なお、４はこれらの構成要素を互いに接続するＣＰＵバスである。
【００４４】
一方、プリンタ１５００は、コントローラ１０００、プリンタエンジン（以下、エンジンという）１７、外部記憶装置１４、操作部１５０１とで構成される。
【００４５】
コントローラ１０００において、 ＣＰＵ１２はプログラム用ＲＯＭ１３ｂに格納された制御プログラム等あるいは外部記憶装置１４に格納された制御プログラム等に基づいて、システムバス１５に接続される各種のデバイスとのアクセスを統括的に制御し、エンジンインタフェース（以下、エンジンＩ／Ｆという）１６を介して接続されるエンジン１７に画像信号を出力する。さらに、ＣＰＵ１２はホストインタフェース（以下、ホストＩ／Ｆという）１８を介してホスト３０００との通信処理が可能となっており、プリンタ１５００内の情報等をホスト３０００に通知することができる。
【００４６】
また、プログラムＲＯＭ１３ｂには、後述するようなＣＰＵ１２が実行する制御プログラム等を格納する。フォント用ＲＯＭ１３ａには画像情報をＣＰＵ１２が生成する際に使用するフォントデータ等を格納し、データ用ＲＯＭ１３ｃには、ハードディスク（ＨＤ）などの外部記憶装置１４がないプリンタの場合には、ホスト３０００上で利用される情報等を記憶している。
【００４７】
一方、ＲＡＭ１９はＣＰＵ１２が制御プログラムを実行するときにワークエリアとして用いられ、増設ポート（不図示）に収容されるオプションＲＡＭにより、メモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、画像情報展開領域、環境データ格納領域、ＮＶＲＡＭに用いられる領域、データを圧縮して格納するための蓄積用領域４１等が設けられている。ハードディスク（ＨＤ）、ＩＣカードなどは外部記憶装置１４として、ディスクコントローラ（ＤＫＣ）２０によりアクセス制御される。外部記憶装置１４はオプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル１５０１にはユーザ操作のためのスイッチおよびＬＥＤ、ＬＣＤなどが配されている。
【００４８】
図４は電子写真方式を採用して記録を行なうプリンタエンジン１７を含んだプリンタ装置の内部構造を示す側断面図である。
【００４９】
図４において、１５００はレーザビームプリンタ（ＬＢＰ）であり、供給される文字パターン等を基に、記録媒体である記録紙上に像を形成する。１５０１は操作のためのスイツチ及びＬＥＤ表示器などが配されている操作パネル、１０００はＬＢＰ１５００全体の制御及び文字パターン情報等を解析するコントローラである。図２のブロック図では、エンジン部１７と操作パネル１５０１と外部記憶装置１４を除いた部分は、コントローラ１０００に含まれている。
【００５０】
レーザドライバ１５０２は半導体レーザ１５０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１５０３から発射されるレーザ光１５０４をオン・オフ切替えする。レーザ光１５０４は回転多面鏡１５０５で左右方向に振られて静電ドラム１５０６上を走査する。これにより、静電ドラム１５０６上には文字パターンの静電潜像が形成される。この潜像は静電ドラム１５０６周囲の現像ユニツト１５０７により現像された後、記録紙に転写される。この記録紙にはカツトシートを用い、カツトシート記録紙はＬＢＰ１５００に装着した用紙カセツト１５０８に収納され、給紙ローラ１５０９及び搬送ローラ１５１０と１５１１とにより装置内に取込まれて、静電ドラム１５０６に供給される。また、ＬＢＰ１５００には、カードスロット（不図示）を少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語の異なる制御カード（エミュレーションカード）を接続できるように構成されている。
【００５１】
このようにして、与えられた印刷データは用紙上に記録出力される。
【００５２】
なお、この実施形態を適用できるプリンタは、レーザビームプリンタに限られるものではなく、他のプリント方式、例えば、インクジェット方式に従うプリンタでもよい。
【００５３】
図５は、インクジェットプリンタＩＪＲＡの構成の概要を示す外観斜視図である。図５において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５００９〜５０１１を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（不図示）を有し、ガイドレール５００３に支持されて矢印ａ，ｂ方向を往復移動する。キャリッジＨＣには、記録ヘッドＩＪＨとインクタンクＩＴとを内蔵した一体型インクジェットカートリッジＩＪＣが搭載されている。５００２は紙押え板であり、キャリッジＨＣの移動方向に亙って記録用紙Ｐをプラテン５０００に対して押圧する。５００７，５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジション検知器である。５０１６は記録ヘッドＩＪＨの前面をキャップするキャップ部材５０２２を支持する部材で、５０１５はこのキャップ内を吸引する吸引器で、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。５０１７はクリーニングブレードで、５０１９はこのブレードを前後方向に移動可能にする部材であり、本体支持板５０１８にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、５０２１は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達機構で移動制御される。
【００５４】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の動作を行うようにすれば、本例にはいずれも適用できる。
【００５５】
以上のように構成されたシステムにおいて、ホスト３０００を利用しているユーザが種々の文字列情報やイメージ情報等の印刷情報や印刷命令等を、双方向通信インタフェースを介してプリンタ１５００に供給すると、それらの情報に従ってプリンタ１５００は対応する印刷情報等を生成して記録用紙のような記録媒体上に画像を形成する。
【００５６】
以下で、図６に示す文字列分離部４００の詳細ブロック図をより具体的に説明する。
【００５７】
▲１▼バンド分割部Ｍ１
図７に１ぺ一ジを横長の４つのバンド４０１〜４０４に分割した例を示す。このページには、３つの文字列オブジェクト“ＡＢＣＤ”４１１，“ＥＦＧＨ”４１３，“ＩＪＫＬ”４１６と、３つのグラフィクスオブジェクト矩形フィル（塗り潰し）４１２，楕円４１５，線分４１４が含まれている。このうち、文字列オブジェクト“ＡＢＣＤ”は、その上に矩形フィルオブジェクトが描画され、一部が隠されている。
【００５８】
バンド分割部Ｍ１は、図７の描画オブジェクトの集合を処理して、図８のような描画オブジェクトのバンドリストを形成する。バンドリストとは、１ページの各バンドに領域的に重なる描画オブジェクトの情報のリストである。それぞれのバンドリスト５０１〜５０４は、バンド領域４０１〜４０４に対応している。バンドリストとハンド領域の対応関係は、図７と図８それぞれの参照番号の下一桁の番号が同じもの同士が対応している。バンドリスト５０１〜５０４には、それぞれのバンド領域の情報（この例ではバンドを成す矩形の左上の座標と右下の座標）が関連付けられている。このバンド領域の情報と各描画オブジェクトの領域情報の重なりを判定し、重なっている場合はそのハンドリストの最後尾にその描画オブジェクトヘのリンク付けを行う。例えば図４のバンド４０１には、文字列“ＡＢＣＤ”４１１が描画されたあと、矩形フィル５１３が描画されている。そのために、バンド４０１に対応するバンドリスト５０１には、文字列“ＡＢＣＤ”５１１と矩形フィル５１２が描画順番どおりに先頭からリンクされている。この様な処理を１ぺ一ジの描画オブジェクトがなくなるまで各バンドに対して行う。
【００５９】
図９にこのバンド分割処理のフローチャートを示す。図９のそれぞれのステップでの処理の詳細は以下の通りである。
【００６０】
ステップ６１：バンドリスト（図８ではバンドリスト５０１〜５０４）の配列を用意し、その中にそれぞれのバンドの領域の大きさを、左上座標と右下座標の形式で格納する。
【００６１】
ステップ６２：１ぺ一ジの描画オブジェクトがなくなるまで、ステップ６３からステップ６８までの処理を繰り返す。
【００６２】
ステップ６３：入力された描画オブジェクトを１つ受け取る。
【００６３】
ステップ６４：バンドリストの配列のそれぞれの要素に対して、ステップ６５からステップ６７までの処理を繰り返す。
【００６４】
ステップ６５：入力された描画オブジェクトが現在のバンドに含まれるか判定する。
【００６５】
ステップ６６：ステップ６５で含まれると判定されたなら、現在のバンドリストの最後尾に描画オブジェクトヘのリンクを登録する。
【００６６】
ステップ６７：ステップ６４のループの終端を示す。すなわち、ステップ６５からステップ６６までの処理を、すべてのバンドリストについて繰り返す。
【００６７】
ステップ６８：ステップ５２のループの終端を示す。すなわち、ステップ６３からステップ６７までの処理を、１ページに含まれる全描画オブジェクトについて繰り返す。
【００６８】
ステップ６９：バンドリストの配列を出力する。
【００６９】
以上の手順によって、１ページをバンドに分割し、各バンドに一部でも含まれる描画オブジェクトのリストを描画順に従って作成することができる。
【００７０】
▲２▼属性判断部Ｍ２
さて、以上の処理によってバンドリストが生成されると、そのバンドリストに基づいて、バンド毎に描画オブジェクトの描画順序と重なり合いとを属性判断部Ｍ２によって判定する。
【００７１】
図１０は文字列と図形の重なりを考慮しなければならない時とそうでない時の例を示す図である。なお、図１０は白黒のモノトーン階調での図になっているが、以下に示す“同一色”、“異なる色”等の表現はプリンティングシステムに対して定義された色に対する関係について言及したものである。また、図１０において、７１と７２は各々、記録用紙（この用紙の色が背景色となるがこの場合は透明とする）を示し、図１０（ａ）は文字列と図形の重なりを考慮すべき例を、図１０（ｂ）は文字列と図形の重なりを考慮しなくとも良い例を示している。以下、各々の例について詳細に説明する。
【００７２】
（ｉ）文字列と図形の重なりを考慮すべき図１０（ａ）の例
・文字列７０１と、中が塗り潰された矩形７０２とが異なる色で表現され、これらの描画オブジェクトが上書きで描画される場合（例：ａ１）。
・文字列７０３と線分７０４とが異なる色で表現され、これらの描画オブジェクトが上書きで描画される場合（例：ａ２）。
・文字列７０５と文字列７０６とが異なる色で表現され、これらの描画オブジェクトが上書きで描画される場合（例：ａ３）。
・文字列７０７の一部が文字列７０８の背景色（文字の色を強調する或は容易に区別させるために、文字列の背後に定義される領域の色）の領域の下に描画される場合（例：ａ４）。
・文字列７０８の一部が背景色が透明でないビットパターン７０９での上書きされる場合（例：ａ５）。
【００７３】
（ｉｉ）文字列と図形の重なりを考慮しなくとも良い図１０（ｂ）の例
・文字列７１１と中が塗り潰された矩形７１２は同一色で表現され、これらの描画オブジェクトが上書きまたは論理和で描画される場合（例：ｂ１）。
・文字列７１３と線分７１４とが同一色で表現され、これらの描画オブジェクトが上書きまたは論理和で描画される場合（例：ｂ２）。
・文字列７１５と文字列７１６とが同一色で表現され、これらの描画オブジェクトが上書きまたは論理和で描画される場合（例：ｂ３）。
・文字列７１７は文字列７１８の背景色がどちらの文字列も透明色である場合（例：ｂ４）。
・文字列７１８とビットパターン７１９とを論理和で描画するか、或は、文字列７１８と背景色が透明のビットパターン７１９とを上書きする場合（例：ｂ５）。
【００７４】
属性判断部Ｍ２は実際には、上記のような文字列と図形の重なりを考慮しなければならない例とそうでない例を判別するために図１１に示すフローチャートに従って判断を行なう。以下、その判断の処理について、図１１を参照して詳細に説明する。
【００７５】
まず、ステップＳ８１では、文字列がそのバンド領域内に存在するかどうかを調べる。ここで、文字列が存在しない場合は、処理はステップＳ８５に進み、空間判断部Ｍ３に処理を移す。その後、処理は終了する。これに対して、その領域内に文字列が存在する場合には、処理はステップＳ８２に進む。
【００７６】
ステップＳ８２では、その領域内に存在する描画オブジェクトが同一色かどうかを調べる。ここで、図１０で説明した例ａ１、ａ２、ａ３の場合を考慮して、違う色の描画オブジェクトが存在する場合は処理はステップＳ８５に進み、描画オブジェクトが同一色である場合には処理はステップＳ８３に進む。
【００７７】
さらに、ステップＳ８３では、例えば、２つの描画オブジェクトの論理積を演算して描画するなど特殊な描画方法が存在しないかどうかを調べる。言い換えると、上書きまたは論理和演算以外の特殊な描画を行なうかどうかを調べる。ここで、特殊な描画方法があると判断された場合には、処理はステップＳ８５に進み、描画方法が上書きまたは論理和演算のみであると判断された場合には処理はステップＳ８４に進む。
【００７８】
ステップＳ８４では、描画が上書きで文字またはビットパターンの背景色が透明色であるかどうかを調べる。ここで、図１０で説明した例ａ４、ａ５の場合を考慮して、背景色が透明色でない場合は処理はステップＳ８５に進み、背景色が透明色である場合には、処理はステップＳ８６に進み、その領域内の文字列オブジェクトを文字列情報として処理すると判定する。
【００７９】
このような判定結果に基づいて、最終的に判定モジュールＭ２はその領域内の文字列オブジェクトを文字列情報として処理する描画オブジェクト３０３とするのか、或は、空間判断部Ｍ３に処理を移すか決定する。
【００８０】
▲３▼空間判断部Ｍ３
属性判断部Ｍ２からのイメージ情報として処理される描画オブジェクトが１バンド分入力されると、文字列情報として処理すべき文字列オブジェクトと、イメージ情報として処理すべきグラフィックス情報をそれぞれ出力する。ただしここでは、イメージ情報として処理されるべき描画オブジェクトをグラフィックス情報と定義する。図１２に文字列の空間判断部Ｍ３のフローチャートを示す。以下にその各ステップでどのような処理を行っているのかを述べる。
【００８１】
ステップ７０１：入力されたバンドリストの先頭から順に文字列オブジェクトが見つかるまで描画オブジェクト情報を調べ、文字列オブジェクトでなければグラフィクス情報として出力する。これを文字列オブジェクトが見つかるまで繰り返す。見つかった文字列オブジェクトは文字列リストに登録する。文字列リストとは、文字列情報として出力される文字列オブジェクトの候補のリストであり、グラフィクスオブジェクトを含まない点を除いて図８と同様の構成を有する。
【００８２】
ステップ７０２：すべての描画オブジェクトを処理するためにループを形成する判断処理である。すべて処理したのであればステップ７１１に、そう出なければステップ７０３に分岐する。
【００８３】
ステップ７０３：これまで行ったオブジェクトの重なり判定回数を、本ステップを通るごとに１ずつ加算することでカウントし、その値が制限回数以下ならステップ７０４へ、制限回数を越えたならステップ７１０に分岐する。制限回数は予め設定しておく。
【００８４】
ステップ７０４：バンドリストから次の描画オブジェクトを注目オブジェクトとして読み出し、文字列リストに登録された各文字列オブジェクトと注目描画オブジェクトとの領域の重なりをチェックする。
【００８５】
ステップ７０５：ステップ７０４で領域が重なっている文字列オブジェクトが文字列リストに存在するならステップ７０６へ、全く重なっていないならステップ７０７に分岐する。
【００８６】
ステップ７０６：注目オブジェクトと重なっている文字列オブジェクトを文字列リストより外し、その文字列オブジェクトをグラフィックス情報として出力する。
【００８７】
ステップ７０７：注目オブジェクトの種類を判定する。グラフィックスオブジェクトの場合はステップ７０８に、文字列オブジェクトの場合ステップ７０９に分岐する。
【００８８】
ステップ７０８：注目オブジェクトをグラフィックス情報として出力する。
【００８９】
ステップ７０９：注目オブジェクトを文字列リストに登録する。
【００９０】
ステップ７１０：文字列オブジェクトとの重なりの判定回数が制限回数をこえたため、文字列リストの描画オブジェクトをグラフィックス情報として出力したのちに、残りの描画オブジェクトをグラフィックス情報として出力する。これは、文字列リスト内の文字列オブジェクトは、描画順序としてはバンドリスト内の未処理の描画オブジェクトよりも先に描画されるべき描画オブジェクトであるためで、この出力の順番には重要な意味がある。
【００９１】
ステップ７１１：文字列リストに登録された文字列オブジェクトが、重なり判定の制限回数以内にその上に重なりのない文字列オブジェクトであると確定したため、文字列リスト内の文字列オブジェクトを出力する。
【００９２】
本実施の形態によればオブジェクトの重なりを判別する前に属性の判断により、描画順を考慮しないでよいオブジェクトでよいか判別している。これは重なりを判別するのに、オブジェクトの数の階乗オーダの判断が必要となるからである。
【００９３】
この構成のホストコンピュータにおいて図１３のプログラムを実行することで、図１の構成のプリンタシステムを実現できる。図１３の手順はいわゆるプリンタドライバに含まれるものであり、１ページ分の画像の出力を行う。複数ページの出力を行うためにはこれをページ数分繰り返せばよい。その中で図９、図１１、図１２の手順がプログラムとして実現される。
【００９４】
図１３において、ステップ１０１で、まず１ページの画像に含まれる描画オブジェクトを順次入力する。ステップ１０２では、ステップ１０１で入力された描画オブジェクトから、図９の手順でバンドリストを作成する。バンドリストができたなら、先頭のバンドリストから順に注目して（ステップ１０３）、図１１および１２の手順により、重なりを考慮しないでよい文字列オブジェクトと、そうでないオブジェクトとを分離する。分離されたオブジェクトは、すなわち図１１，１２において出力されたオブジェクトは、いったんハードディスク装置等に格納されて１ページ分まとめてから次のよりに進む（ステップ１０５）。
【００９５】
ステップ１０６では、分離された１ページ分の文字列オブジェクトを文字情報に変換し、ステップ１０７でプリンタに送信する。また、ステップ１０８では分離されたその他のオブジェクトをイメージ情報に変換する。その他のイメージには、他のオブジェクトが上に重複する文字列オブジェクトも含まれている。これらはハードディスク等に格納されたフォントファイルを用いて展開される。なお、これらのオブジェクトは、重複の順にイメージに展開される。
【００９６】
作成されたイメージ情報は、プリンタに送信される。
【００９７】
以上の手順により、１ページ分のオブジェクトがプリンタに送信される。ここで、文字列オブジェクトはその他のオブジェクトに先んじてプリンタに送信されるため、ホストコンピュータにおけるイメージ情報の作成と並行して文字列オブジェクトの展開が可能となる。
【００９８】
なお、図１４ではページ単位にまとめて各描画オブジェクトから文字列情報あるいはイメージ情報の生成を行っているが、ステップ１０５の処理を、ステップ１０９の直後に移動し、バンド単位で情報の変換と送信とを行うようにできる。こうすることで、プリンタでは、生成されたバンドを順次印刷出力することができる。このため、印刷を開始するまでの時間を短縮でき、画像の生成に必要なメモリ容量を減らすこともできる。
【００９９】
（他の実施形態）
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１００】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【０１０１】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１０３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０５】
【発明の効果】
以上説明したように、本発明によれば下記のような効果を奏する。
（１）指定された描画結果でプリンタに印刷されるようにすることができる。
（２）文字列オブジェクトとグラフィクス等のその他のオブジェクトとの属性と重なりを判定し、重なりを考慮しないでよい文字列オブジェクトについては文字列情報として印刷装置に送信することで、送信されるデータ量を減らし、印刷装置と並列にイメージを展開することで処理効率を向上させるとともに、描画オブジェクトの重なり具合を保存し、作成されたとおりの本来有るべき画像として印刷装置から出力させることができる。
（３）また、重なりの判定に時間、回数制限を設けているために、判定のために多大な時間を消費してしまう事態を防止できる。
（４）さらに、印刷装置における処理は従来のとおりで良いため、画像処理装置側を変更するだけで上述の効果を享受できる。
【図面の簡単な説明】
【図１】実施の形態の印刷システムのブロック図である。
【図２】描画順による出力結果の違いを表す図である。
【図３】ホスト３０００とプリンタ１５００とこれらを相互に接続する双方向インタフェース２１とによって構成されるプリンティングシステムの構成を示すブロック図である。
【図４】電子写真方式を採用して記録を行なうプリンタエンジン１７を含んだプリンタの内部構造を示す側断面図である。
【図５】インクジェットプリンタＩＪＲＡの構成の概要を示す外観斜視図である。
【図６】文字列分離部の構成を表す図である。
【図７】バンド分割の処理概念をあらわした図である。
【図８】バンドリストの一例を示す図である。
【図９】バンド分割部における処理フローチャートである。
【図１０】文字列と図形の重なりを考慮しなければならない時とそうでない時の例を示す図である。
【図１１】文字列と図形の重なりを考慮しなければならないかどうかを判別する属性判断部の処理を示すフローチャートである。
【図１２】空間判断部における処理フローチャートである。
【図１３】各描画オブジェクトから文字列情報あるいはイメージ情報の生成を行う手順のフローチャートである。
【図１４】従来型の印刷システムのブロック図である。
【符号の説明】
Ｍ１  バンド分割部
Ｍ２  属性判断部
Ｍ３  空間判断部
１０１  ドライバ
４００  文字分離部
４０１  描画部
４０２  フォントメモリ（ＦＯＮＴ）
１００１  グリフ合成部
１００３  メモリ
１００４  グリフ生成部
１００６  内蔵フォントメモリ（ＦＯＮＴ）
１５００  プリンタ
３０００  ホストコンピュータ
１０００１  文字列オブジェクト
１０００２  グラフィクスオブジェクト
１０００３  文字列情報
１０００４  イメージ情報
１０００５  文字列のビットマップ情報（Ｇｌｙｐｈ）
１０００６  フォント情報
１００００１、１００００２  ビットマップイメージ
【図１】
0003780103.tif 000002
【図２】
0003780103.tif 000003
【図３】
0003780103.tif 000004
【図４】
0003780103.tif 000005
【図５】
0003780103.tif 000006
【図６】
0003780103.tif 000007
【図７】
0003780103.tif 000008
【図８】
0003780103.tif 000009
【図９】
0003780103.tif 000010
【図１０】
0003780103.tif 000011
【図１１】
0003780103.tif 000012
【図１２】
0003780103.tif 000013
【図１３】
0003780103.tif 000014
【図１４】
0003780103.tif 000015