(57)【要約】【課題】  同じ形状の文字オブジェクトが同じ多数重なっているプリントデータに対する描画処理において、重なり整列処理を行なう描画オブジェクトの数を削減することを課題とする。【解決手段】  画像形成装置の輪郭書き出し処理部において、中間データを読み込み文字オブジェクトを追加するとき、同一の座標に同一の形状をもった文字オブジェクトが展開されているか、否かを判定する。前記の判定結果において、同一の座標に同一の形状をもった文字オブジェクトが展開されていると判定されたとき、前記新規文字オブジェクトの登録をしない。【選択図】  図５
2011002977.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬデータにより生成された中間データに基づいて、画像を形成する画像形成装置において、
輪郭書き出し処理部において、中間データで指定された描画オブジェクトが文字オブジェクトか否かを判定する文字オブジェクト判定手段と、（Ｓ５０４）
前記文字オブジェクト判定手段で文字オブジェクトと判定された場合、新規文字オブジェクトの描画座標に、既に描画用作業領域に輪郭情報を展開済みの文字オブジェクトが存在するか否かを描画座標判定する文字座標判定手段と、（Ｓ６０１、Ｓ８０１）
前記文字座標判定手段において、座標が同じと判定された場合、前記新規文字オブジェクトと前記展開済み文字オブジェクトが同じ形状をもつ文字であるか否かを判定する文字形状判定手段と、（Ｓ６０２〜Ｓ６０３、Ｓ８０２〜Ｓ８０７）
前記形状判定手段において、前記新規文字オブジェクトと前記展開済み文字オブジェクトが同じ形状であると判定された場合に、前記新規文字オブジェクトを前記描画用作業領域へ輪郭情報を展開することを行なわない展開中止手段（Ｓ６０４、Ｓ８１０）
を持つことを特徴とする画像形成装置。
【請求項２】
前記文字形状判定手段は、前記新規文字オブジェクトと前記展開済み文字オブジェクトそれぞれの塗り色の指定が同じであるか否か、重なりルールが上書きか不透明であるか否か、参照元を示す情報が同じか否かを判定する手段であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記文字オブジェクトの参照元を示す情報は、文字の実体である文字画像が格納されている位置を一意に特定する請求項２に記載の画像形成装置。
【請求項４】
前記文字形状判定手段は、前記新規文字オブジェクトと前記展開済み文字オブジェクト文字それぞれの塗り色の指定が同じであるか否か、重なりルールが上書きか不透明であるか否か、主走査方向毎に文字オブジェクトの輪郭の開始水平座標と輪郭幅が、一致しているか否かを判定することを特徴とする請求項１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムおよび印刷システムの処理方法に関係するものである。詳しくは、プリントデータに基づいて画像を形成する画像形成方法に関するものである。
【背景技術】
【０００２】
近年、印刷システムにおける描画処理技術が発達している。描画処理技術の発達の一例として、オブジェクト並列で描画する描画処理において、予め描画オブジェクト同士の重なりを調べることで、最適なオブジェクト並列の組み合わせを導き出す方法など、オブジェクト同士の重なりに関連した最適化処理が実施されている。最近、オブジェクト同士の重なりに関連して、ユーザの故意あるいは過失ないし、使用しているアプリケーションの仕様によって、プリントデータの中には、同一の文字列が同一の座標上に数百万回から数十万回も重なって存在してしまうことがある。このようなプリントデータを描画処理する場合、描画処理の一工程である重なり整列処理では、文字列が重なっている部分に対して膨大な回数の整列処理を実行しなければならなくなる。そのため、印刷結果が出力されるまでに掛かる時間が長くなり、ユーザの不快感を招くという問題がある。その一方で、同じ座標上に文字列が一回だけ重なっているプリントデータであっても、文字列が同一の座標上にも幾重にも重なっているプリントデータであっても、出力結果は同じとなる。そのため、重なり整列処理には、不要な重なり分の文字列データは送られてこないことが望ましいと考えられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−３３３８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、以上のことを省みて同じ形状の文字オブジェクトが同じ位置に多数重なっているプリントデータに対する描画処理において、重なり整列処理を行なう描画オブジェクトの数を削減することを課題とする。
【課題を解決するための手段】
【０００５】
ＰＤＬデータにより生成された中間データに基づいて、画像を形成する画像形成装置において、
輪郭書き出し処理部において、中間データで指定された描画オブジェクトが文字オブジェクトか否かを判定する文字オブジェクト判定手段と、
前記文字オブジェクト判定手段で文字オブジェクトと判定された場合、新規文字オブジェクトの描画座標に、既に描画用作業領域に輪郭情報を展開済みの文字オブジェクトが存在するか否かを描画座標判定する文字座標判定手段と、
前記文字座標判定手段において、座標が同じと判定された場合、前記新規文字オブジェクトと前記展開済み文字オブジェクトが同じ形状をもつ文字であるか否かを判定する文字形状判定手段と、
前記形状判定手段において、前記新規文字オブジェクトと前記展開済み文字オブジェクトが同じ形状であると判定された場合に、前記新規文字オブジェクトを前記描画用作業領域へ輪郭情報を展開することを行なわない展開中止手段
を持つことを特徴とする画像形成装置である。
【発明の効果】
【０００６】
描画処理部の重なり整列処理で整列処理を行なうべき描画オブジェクトの数が削減される。そのため、本提案の課題で挙げたよう同じ場所に同じ形状の文字が数千から数万回積み重なっているデータを高速に印刷することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本発明に掛かる印刷システムの概要を示したブロック図
【図２】本発明に掛かるプリントコントローラの概要を示したブロック図
【図３】本発明に掛かる描画処理部の概要を示したブロック図
【図４】本発明に掛かる輪郭書き出し処理部から重なり整列処理部へ渡すデータのフォーマットの一例を示した図
【図５】本発明に掛かる輪郭書き出し処理部の処理手順のフローチャートを示した図
【図６】本発明に掛かる実施例１の処理手順のフローチャートを示した図
【図７】本発明に掛かる実施例２の処理内容の一例を示した図
【図８】本発明に掛かる実施例２の処理手順を示したフローチャートを示した図
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【０００９】
図１は、本発明を適用される印刷システムの一例を示している。１００は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｉｎｔｅｒ）である。ＭＦＰ１００は、ユーザがホストＰＣ１０２からＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０３を経由して届いた印刷指示に従って、印刷処理を行なう。またＭＦＰ１００は、パネル操作部１０３を使用したユーザの印刷指示に従って印刷処理を行なう。１０４は、プリントコントローラである。プリントコントローラ１０４は、ＭＦＰの印刷に関わる制御処理及び画像処理を行なう。プリンタコントローラ１０４は、ホストＰＣ１０２あるいは、パネル操作部１０３から印刷指示を受けると、印刷指示の命令とともに送られるプリントデータに対して画像を形成するための画像処理を行ない画像データの生成を行なう。プリントコントローラ１０４で生成された画像データは、プリントエンジン１０５に送られる。プリントエンジン１０５では、画像データを元にトナーを紙媒体に定着させ排紙処理を行なう。
【００１０】
図２は、プリントコントローラ１０４の構成の一例を示している。まず、プリントコントローラ内部の各種モジュールはシステムバス２０１で相互に接続されている。そして、外部モジュールとのデータの入出力を取り扱うＩ／Ｆとして、ユーザＩ／Ｆ２０２、プリントエンジンＩ／Ｆ２０３、ネットワークＩ／Ｆ２０４が存在する。ユーザＩ／Ｆ２０２は、操作パネル１０３とプリントコントローラ１０４間におけるデータのＩ／Ｆである。ユーザが操作パネルで指定した命令内容は、ユーザＩ／Ｆ２０２を経由してプリントコントローラ１０４に送られる。プリントエンジンＩ／Ｆ２０３は、プリントエンジン１０５とプリントコントローラ１０４間におけるデータのＩ／Ｆである。プリントコントローラ１０４で生成した画像データは、プリントエンジンＩ／Ｆ２０３を経由してプリントエンジン１０５に送られる。ネットワークＩ／Ｆ２０４は、ＬＡＮ１０２を経由したホストＰＣ１０１とプリンタコントローラ間におけるデータのＩ／Ｆである。ユーザがホストＰＣで指定した印刷命令は、ネットワークＩ／Ｆ２０４を経由してプリントコントローラ１０４に送られる。ＣＰＵ２０５は、プリントコントローラ１０４において、一部ないし全体の制御処理及び画像処理を担っている。プリントコントローラ１０４では、ユーザＩ／Ｆ２０２ないし、ネットワークＩ／Ｆ２０４からプリントデータが送られたとき、まずＰＤＬ（Ｐｒｉｎｔ  ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）解釈処理部２０７でプリントデータの内容解釈を行なう。ＰＤＬ解釈部処理部２０７で解釈したプリントデータの内容は、中間データ生成処理部２０６に送られる。中間データ生成処理部２０６は、ＰＤＬ解釈処理部２０７で行なったプリントデータの解釈結果に基づいて、描画処理部２０８が解釈可能な描画処理に必要な中間データの生成を行ない、中間データ格納部２０９に格納する。中間データ格納部２０９に１ページ分の中間データが格納されたら、描画処理部２０８が中間データ格納部２０９に格納された中間データの読み込みを行なう。描画処理部２０８は、中間データ格納部２０９に格納された中間データから画像データの生成を行なう。画像処理部２０８が生成した画像データは、画像データ格納部２１０に格納される。画像データ格納部２１０に格納された画像データは、プリントエンジンＩ／Ｆを経由して、プリントエンジン１０５に送られる。
【００１１】
図３は、描画処理部２０８で実施される処理手順の概要を示している。描画処理部２０８では、中間データ格納部２０９から中間データを入力データとして、輪郭書き出し処理部３０１、重なり整列処理部３０２、色塗り処理部３０３、色合成処理部３０４を経て画像データ格納部２１０に画像データの出力を行なっている。輪郭書き出し処理部３０１は、中間データに含まれる描画オブジェクトから輪郭情報を取得する処理を行なっている。ここで、輪郭情報は、描画オブジェクトの輪郭の開始位置及び輪郭幅の２つの情報を指している。輪郭書き出し処理部３０１で取得された輪郭の情報が画像データの１スキャンライン分揃ったら、輪郭書き出し処理部３０１は、輪郭座標の情報を重なり整列処理部３０２に送る。重なり整列処理部３０２では、輪郭座標の情報と描画オブジェクト同士の重なりの上下関係を元に紙面に対して描画オブジェクトが正しい順番で並ぶように整列処理を行なう。重なり整列処理部３０２で生成された整列済みの輪郭情報は、画像データの１スキャンライン分揃ったら、色塗り処理部３０３へ送られる。色塗り処理部３０３では、整列済みの輪郭情報に対して、輪郭で区切られる一つ一つの区間に対して色情報を付加することを行なっている。また、輪郭で区切られた区間に色ではなく、写真データが付加される場合も、その写真データは、色塗り処理部で展開される。画色塗り処理部３０３で生成された色情報が付加された整列済みの輪郭情報は、１スキャンライン分揃ったら、色合成処理部３０４へ送られる。色合成処理部３０４では、色情報が付加された整列済みの輪郭情報を元に輪郭で区切られた領域かつ、その区切られた領域のうち他の輪郭で区切られた領域と重なっている部分同士に対して、中間データに従った重なりルールを適用する。重なりルールとは、ＲＯＰ（ＲａｓｔｅｒＯＰｅｒａｔｏｒ）とアルファブレンドがある。ＲＯＰとは、領域同士が重なっている部分における、前面側と背面側の色値を表現するｂｉｔ同士で行なわれる論理演算である。重なりルールとしてＲＯＰが指定された場合、前面側と背面側の領域を表現する色値の間で論理演算が行なわれた結果が出力される。アルファブレンドとは、輪郭で区切られた領域同士で重なっている部分に対して、重なっている両者のうち前面側及び背面側の色を混ぜた色を出力するときの、その混ぜるときの前面側と背面側の割合比の指定である。色合成処理部３０４では、重なりルールを適用し、重なっている領域の前面と背面の領域からどのような色を出力するか決定する。色合成処理部３０４で行なわれた結果は、画像データの一つ一つのピクセルの色情報として、画像格納部２１０に出力される。
【００１２】
図４は、輪郭書き出し処理部３０１で中間データを元に生成され輪郭情報である輪郭情報リストのデータ構造と実際の描画オブジェクトの関係について示した図である。図４において４００は、高さｙ＝Ｙ１における輪郭情報リストのデータ構造を示しており、４１０は、描画オブジェクト同士の座標位置関係を示している。４１１は、文字オブジェクトである。文字オブジェクトは、文字オブジェクトの内部に文字の輪郭を表現する内部輪郭の開始座標及び輪郭幅の情報を持っている。文字オブジェクト４１１では、ｙ＝Ｙ１において開始ｘ座標Ｘ２、輪郭幅Ｗ２の内部輪郭４１２及び開始ｘ座標Ｘ３輪郭幅Ｗ３の内部輪郭４１３を持っている。また、図形オブジェクト４１４描画オブジェクトの開始ｘ座標Ｘ４、輪郭幅Ｗ４であり、図形オブジェクト４１５は描画オブジェクトの開始ｘ座標Ｘ５、輪郭幅Ｗ５となっている。開始座標の位置関係としては、Ｘ１＜Ｘ２＜Ｘ３＜Ｘ４＜Ｘ５となっている。４０１は、文字オブジェクト４１１の輪郭情報を格納した輪郭情報リストのノードである。４０２は、文字オブジェクト４１１の内部輪郭４１２の輪郭情報を格納した輪郭情報リストのノードである。４０３は、文字オブジェクト４１１の内部輪郭４１３の輪郭情報を格納した輪郭情報リストのノードである。４０４は、図形オブジェクト４１４の輪郭情報を格納した輪郭情報リストのノードである。４０５は、図形オブジェクト４１５の輪郭情報を格納した輪郭情報リストのノードである。輪郭情報リストは、１スキャンライン分の輪郭情報を格納するデータ構造であり、そのノードには、輪郭の開始座標及び幅が含まれる。また、色塗り処理部で実行される塗り色の指定などの情報を持っている。また、ノードに対応する描画オブジェクトが文字オブジェクトであった場合は、文字の実体がどのような画像であるか、その在り処を示すＩＤ情報や内部輪郭のノードへのポインタも含んでいる。輪郭情報リストのノード間の接続については、各スキャンライン単位で、描画オブジェクトの開始位置ｘ座標が昇順に接続されている。ただし、文字オブジェクトの場合は、内部輪郭のノードとそれ以外のノードが区別付くようにノードが接続されている。そして、輪郭情報リストに描画オブジェクトを追加するときは、新規に追加する描画オブジェクトと輪郭情報リストに格納されている描画オブジェクトのｘ座標が大小比較を行い、ノードが接続される順番がｘ座標に対して昇順であることを保つように追加される。
【００１３】
図５は、輪郭書き出し処理部３０１の処理内容を示したフローチャートである。Ｓ５０１では、輪郭書き出し処理部３０１は、中間データから描画終了の命令を検知したか、否かを判定する。輪郭書き出し処理部は、中間データから描画終了の命令を検知するまで、Ｓ５０２からＳ５０７までの処理を繰り返し実行する。Ｓ５０２では、輪郭書き出し処理部３０１は、中間データから輪郭情報リストを重なり整列処理部に送出する命令を検知したか否かを判定する。輪郭書き出し処理部３０１は、中間データから輪郭情報リストを重なり整列処理部に送出する命令を検知するまで、Ｓ５０３からＳ５０６までの処理を繰り返し実行する。Ｓ５０３では、輪郭書き出し処理部３０１は、中間データから読み込み、描画オブジェクトの開始ｘ座標及び輪郭幅及び輪郭情報リストを構成する上で必要な情報を取得する。Ｓ５０４では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ描画オブジェクトが文字オブジェクトであるか否かを判定する。Ｓ５０４の結果、輪郭書き出し処理部３０１が文字オブジェクトと判定した結果Ｓ５０５を行なう。Ｓ５０５では、輪郭書き出し処理部３０１は、文字オブジェクトの輪郭情報登録処理を行なう。文字オブジェクトの輪郭情報登録処理の詳細については、後述することにする。Ｓ５０４の結果、が文字オブジェクトではないと判定した場合、輪郭書き出し処理部３０１は、Ｓ５０６で文字オブジェクト以外の描画オブジェクトの輪郭情報を輪郭情報リストに輪郭情報リストに追加することを行なう。Ｓ５０７では、輪郭書き出し処理部３０１は、輪郭情報リストを重なり整列処理部３０２へ送ることを行なう。
【実施例１】
【００１４】
図６は、文字オブジェクトの輪郭情報登録処理Ｓ５０５の処理内容を示したフローチャートである。図６に示したフローチャートでは、文字オブジェクト同士が同一の形状を持っているか否かを比較に用いる情報として文字オブジェクトの参照元を特定する情報を使用している。この参照元を特定する情報とは、文字画像自体が格納されているメモリの物理アドレスであっても、文字画像を一元管理するキャッシュテーブルのテーブルＩＤといった仮想アドレスでも良く、文字画像の参照元を一意に特定することが可能な情報を意図している。Ｓ６０１では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ文字オブジェクトと開始ｘ座標が一致する文字オブジェクトが輪郭情報リストに存在するか否かを判定する。輪郭書き出し処理部３０１がＳ６０１で輪郭情報リストに存在しないと判定した場合、Ｓ６０６で輪郭情報リストにＳ５０３で中間データから読み込んだ文字オブジェクトの輪郭情報を輪郭情報リストに登録を行なう。輪郭書き出し処理部３０１がＳ６０１で開始ｘ座標が同じと判定した場合、輪郭書き出し処理部３０１は、Ｓ６０２を行なう。Ｓ６０２では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ文字オブジェクトと輪郭情報リストに存在する文字オブジェクトの塗り色の指定が同じか否かを判定する。輪郭書き出し処理部３０１がＳ６０２で塗り色が異なると判定した場合、輪郭書き出し処理部３０１は、Ｓ６０６を行なう。輪郭書き出し処理部３０１がＳ６０２で塗り色が同じと判定した場合、輪郭書き出し処理部３０１は、Ｓ６０３を行なう。Ｓ６０３では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ文字オブジェクトの重なりルールを調べる。重なりルールがＲＯＰで指定され、その内容が上書きであるかあるいは、アルファブレンドで指定され、その内容が不透明である場合、輪郭書き出し処理部３０１は、Ｓ６０４を行なう。また、重なりルールがＲＯＰで指定され上書き以外であるか、アルファブレンドの指定され、その内容が不透明以外である場合、輪郭書き出し処理部３０１は、Ｓ６０６を行なう。Ｓ６０４では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ文字オブジェクトと輪郭情報リストに存在する文字オブジェクトの実体である文字画像の参照元が同じであるか、否かを判定する。輪郭書き出し処理部３０１がＳ６０４で参照元が異なると判定した場合、輪郭書き出し処理部３０１は、Ｓ６０６を行なう。輪郭書き出し処理部３０１がＳ６０４で参照元が同じと判定した場合、輪郭書き出し処理部３０１は、Ｓ６０５を行なう。Ｓ６０５では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ文字オブジェクトを輪郭情報リストに登録することを行なわない。
【実施例２】
【００１５】
図７は、文字オブジェクト同士が同一か否かを比較する方法として、文字オブジェクトの文字形状を比較することで判定する方法を例示した図である。判定処理は、まず塗り色指定、文字画像自体の幅及び高さが一致しているか、否かを判定する。ここで一致していないと判定されたら、輪郭書き出し処理部３０１は、中間中間データから読み込んだ文字オブジェクトの輪郭情報を輪郭情報リストに登録することを行なう。一方、一致していると判定された場合は、さらに文字画像内部の文字形状を示す内部輪郭が一致しているか否かをスキャンライン単位で＝０からｙある一定の閾値ｙ＿ｔｈまでことを行なう。ここで、内部輪郭が一致しているか否かを判定するため手段として、内部輪郭の個数、開始ｘ座標及び内部輪郭間の幅の比較を行なう。図７では、幅Ｗａ、高さＨａの文字画像７００と幅Ｗａ’、高さＨａ’の文字画像７１０における文字形状が一致しているか否かを判定する処理を図示している。ここで、文字画像７００と文字画像７１０は、同じ形状の文字であるとする。この場合、文字形状を比較する処理としては、まず文字画像の幅Ｗａ、Ｗａ’と高さＨａ、Ｈａ’を比較する。比較した結果、一致していると判定された場合、ｙ＝０からスキャンライン単位で、文字画像の内部輪郭が一致しているか否かの判定を行なう。ｙ＝ｙ１では、文字画像７００は、内部輪郭として開始ｘ座標ｘａ＿１、幅ｗａ＿１の内部輪郭７０１と開始ｘ座標ｘａ＿２、幅ｗａ＿２の内部輪郭７０２、合計２つの内部輪郭（ただし、ｘａ＿１＜ｘａ＿２）をもっている。一方、文字画像７１０は、内部輪郭として開始ｘ座標ｘａ＿１’、幅ｗａ＿１’の内部輪郭７１１と開始ｘ座標ｘａ＿２’、幅ｗａ＿２’の内部輪郭７１２の合計２つ（ただし、ｘａ＿１’＜ｘａ＿２’）の内部輪郭をもっている。内部輪郭の個数はそれぞれ内部輪郭を数え上げた個数を比較する。また、開始ｘ座標及び幅については、文字画像７００、７１０それぞれ内部輪郭同士を総当りで比較するのではなく、開始ｘ座標の昇順に一致するか否かの比較処理を行なう。つまり開始ｘ座標については、ｘａ＿１とｘａ＿１’及びｘａ＿２とｘａ＿２’で比較を行なうことになる。一方、幅についは、ｗａ＿１とｗａ＿１’及びｗａ＿２とｗａ＿２’で比較処理を行なうことになる。
【００１６】
図８は、図７を用いて示した文字オブジェクトの文字形状を比較することで判定する文字オブジェクト同士が同一か否かを方法についてを処理内容を示したフローチャートである。Ｓ８０１では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ文字オブジェクトと開始ｘ座標が一致する文字オブジェクトが輪郭情報リストに存在するか否かを判定する。輪郭書き出し処理部３０１がＳ８０１で輪郭情報リストに存在しないと判定した場合、Ｓ８１１で輪郭情報リストにＳ５０３で中間データから読み込んだ文字オブジェクトの輪郭情報を輪郭情報リストに登録を行なう。輪郭書き出し処理部３０１がＳ８０１で輪郭情報リストに存在すると判定した場合、輪郭書き出し処理部３０１は、Ｓ８０２を行なう。Ｓ８０２では、輪郭書き出し処理部３０１は、Ｓ８０２で中間データから読み込んだ文字オブジェクトと輪郭情報リストに存在する文字オブジェクトの塗り色の指定が同じか否かを判定する。輪郭書き出し処理部３０１がＳ８０２で塗り色が異なると判定した場合、輪郭書き出し処理部３０１は、Ｓ８１１で輪郭情報リストにＳ５０３で中間データから読み込んだ文字オブジェクトの輪郭情報を輪郭情報リストに登録を行なう。輪郭書き出し処理部３０１がＳ８０２で塗り色が同じと判定した場合、輪郭書き出し処理部３０１は、Ｓ８０３を行なう。Ｓ８０３では、輪郭書き出し処理部３０１は、Ｓ８０３で中間データから読み込んだ文字オブジェクトの重なりルールを調べる。重なりルールがＲＯＰで指定され、その内容が上書きであるかあるいは、アルファブレンドで指定され、その内容が不透明である場合、輪郭書き出し処理部３０１は、Ｓ８０４を行なう。また、重なりルールがＲＯＰで指定され上書き以外であるか、アルファブレンドの指定され、その内容が不透明以外である場合、輪郭書き出し処理部３０１は、Ｓ８１１を行なう。Ｓ８０４では、輪郭書き出し処理部３０１は、Ｓ５０３で中間データから読み込んだ文字オブジェクトの輪郭情報と輪郭情報リストに存在する文字オブジェクトの文字画像の幅及び高さが一致しているか否かを判定する。輪郭書き出し処理部３０１がＳ８０４で幅及び高さが異なると判定した場合、Ｓ８１１を行なう。輪郭書き出し処理部３０１がＳ８０４で幅及び高さが同じと判定した場合、Ｓ８０５を行なう。Ｓ８０５では、輪郭書き出し処理部３０１は、文字画像の内部輪郭の比較を行なったスキャンラインの個数が文字画像の高さを超えるまで、Ｓ８０６からＳ８０９の処理を繰返し行なう。Ｓ８０６では、輪郭書き出し処理部３０１がＳ８０７及びＳ８０８の処理を注目している文字オブジェクトの内部輪郭の個数分だけ繰返し処理を行なう。Ｓ８０７では、輪郭書き出し処理部３０１がＳ５０３で中間データから読み込んだ文字オブジェクトの現在注目している輪郭について、開始ｘ座標及び輪郭幅が同じか否かを判定する。Ｓ８０７で輪郭書き出し処理部３０１が現在注目している輪郭について、開始ｘ座標及び輪郭幅が異なると判定した場合、輪郭書き出し処理部３０１は、Ｓ８１１を行なう。Ｓ８０７で輪郭書き出し処理部３０１が現在注目している輪郭について、開始ｘ座標及び輪郭幅が同じと判定した場合、Ｓ８０８を行なう。Ｓ８０８では、輪郭書き出し処理部３０１は、次の内部輪郭を見に行く。Ｓ８０６で制御しているＳ８０７からＳ８０８の繰返し処理を抜けた後Ｓ８０９では、輪郭書き出し処理部３０１は、次のスキャンラインを見にいく。Ｓ８０４で制御しているＳ８０５からＳ８０９の繰返し処理を抜けた後Ｓ８１０では、Ｓ５０３で中間データから読み込んだ文字オブジェクトの輪郭情報と輪郭情報リストに存在する文字オブジェクトが同じ文字形状の文字であると判定し、Ｓ５０３で中間データから読み込んだ文字オブジェクトを輪郭情報リストに登録すること止めることを行なう。
【００１７】
［その他の実施例］
実施例１で参照元の情報を比較する方法、実施例２で文字形状を比較する方法を述べた。
【００１８】
更に、同じ形状の文字であっても、参照元の文字画像の在り処がことなる場合ある。そのため、実施例１の比較方法を実施して、参照元が異なると判定された場合に、実施例２の方法を行なうことで、より効率良く文字の比較が可能となる。
【００１９】
以上、実施例１あるいは、実施例２の方法を行なうことによって、描画処理部の重なり整列処理の負担が軽減される。そのため、本提案の課題で挙げたよう同じ場所に同じ形状の文字が多数積み重なっているデータを高速に印刷することが可能となる。
【符号の説明】
【００２０】
Ｓ５０５  文字オブジェクトの輪郭登録処理
【図１】
2011002977.tif 000003
【図２】
2011002977.tif 000004
【図３】
2011002977.tif 000005
【図４】
2011002977.tif 000006
【図５】
2011002977.tif 000007
【図６】
2011002977.tif 000008
【図７】
2011002977.tif 000009
【図８】
2011002977.tif 000010