(57)【特許請求の範囲】
【請求項１】
オブジェクトの線を含む図形を定義するページ記述言語の表現を変更する方法であって、
前記線を調べ、
前記線が他のオブジェクトと交わるかどうか判断し、交わる場合は、さらに該線の全体が該他のオブジェクトに重なるかどうか判断し、
前記線が他のオブジェクトと交わるか、あるいはその全体が該他のオブジェクトに重なると判断された場合に、前記図形が変更されるように修正属性を再定義するために、前記図形の修正属性を変更する、
方法であって、
前記修正属性は線幅であり、
好ましくない線成長特性を補償するために、前記線が他のオブジェクトと交わり、かつ、該線の全体が他のオブジェクトに重なる場合であって、該線の線幅が所定の値よりも狭い場合には、線全体の線幅を広くし、
好ましくない線成長特性を補償するために、前記線が他のオブジェクトと交わり、かつ、該線の全体が他のオブジェクトに重ならない場合であって、該線の線幅が所定の値よりも狭い場合には、他のオブジェクトと重なる線の部分の線幅だけを広くする、
方法。
【請求項２】
前記線幅が第１の値以下の場合には、該線幅を第３の値だけ増加し、
前記線幅が前記第１の値より大きく、前記第２の値以下の場合には、該線幅を第４の値だけ増加する、
請求項１に記載の方法。
【請求項３】
前記好ましくない線成長特性は、所望の出力マーキングデバイスのインクにじみを介した着色剤の拡散である、請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ページ記述言語（ＰＤＬ）定義画像でオペレータ（命令）を多重定義することによって、望ましい線幅及び外観が得られるように、あるいはターゲットとなるプリンタまたは表示装置のマーキング特性を補償するように線幅やその他の画像属性を調整するための方法及び装置に関するものである。詳細には、線が色で塗りつぶしたオブジェクト上に描かれているかあるいは空白の背景上に描かれるかに基づいて線幅を制御することができる。
【０００２】
【従来の技術及び発明が解決しようとする課題】
ユーザは、ネットワークあるいスタンド・アロン環境で、１セクション以上のテキスト、図形や写真を含むプリントしようとするページを表すジョブを生成することがある。あるいは、ジョブはスキャンして入力されたり、または既存のファイルからコピーされることもある。このジョブは、Ｐｏｓｔｓｃｒｉｐｔ（ポストスクリプト）（アドビ・システムズ（Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．）社の商標）のようなページ記述言語にコード化されて、プリンタあるいはその他のマーキングシステムによってプリントするためにプリンタドライバに送られるか、あるいはモニタのようなディスプレイシステムに表示される。現存する、あるいは近年開発されるであろう他のページ記述言語については、「線画」オペレータを適用するための本発明の多重定義型の方法が、任意の適切なコンピュータ言語あるいは制御コードで使用することができる。
【０００３】
Ｐｏｓｔｓｃｒｉｐｔは、図形またはテキストをプリントするために最適化されたプログラミング言語である。これは機器に依存しない形で画像を記述するのに適した言語を提供する。すなわち、プリンタあるいはその他の出力装置の如何にかかわらず同じコードが使用される。Ｐｏｓｔｓｃｒｉｐｔはスタックベースのインタプリタ型言語である。Ｐｏｓｔｓｃｒｉｐｔでは、指名することによってオペランド（命令の操作対象）をオペランドスタック上にプッシュした後、オペランドを使用するためのオペレータを呼び出す。
【０００４】
“ｄｅｆ”オペレータは、定義を辞書スタックの最上部の辞書に入れる。オペランドスタックの最上部のオペランドは値であり、値の下のオペランドはキーである。“ｄｅｆ”オペレータは新しいオペレータを定義することもできる。Ｐｏｓｔｓｃｒｉｐｔ定義画像における重要な結果は、プロシージャが呼び出されるまで、画像を記述するプロシージャ中の要素が評価されないということである。また、プロシージャが呼び出される都度各オペレータを検索しなければならないということである。バインドが使用されない限り、プロシージャ・コンポーネントの評価は手間取り、プロシージャで使用されるオペレータの定義は、それが定義されたときではなく、プロシージャが実行されるとき有効になる定義である。
【０００５】
Ｐｏｓｔｓｃｒｉｐｔで画像を定義するには、画像はページ上に配置された互いに結合された、あるいは結合されていない線分及び曲線の集まりである軌跡によって記述される。実際には、軌跡は用紙上の実際のインクについては記述せず、ページ上における想像上のトレース動作を記述する。種々のオペレータが提供されており、ユーザは、“ｓｔｒｏｋｅ”オペレータを使って軌跡沿いにインクで線を描き、“ｆｉｌｌ”オペレータを使って閉軌跡内にインクを満たし、あるいは“ｃｌｉｐ”オペレータを使ってペイント領域を設定することができる。
【０００６】
軌跡は“ｎｅｗｐａｔｈ”オペレータで始まる。軌跡は線分と曲線で構成される。簡単に説明すると、例えば矩形は、軌跡の始点を定義する“ｍｏｖｅｔｏ”オペレータと矩形の４つの頂点の周りに順次線分を加える“ｌｉｎｅｔｏ”オペレータを用いてＰｏｓｔｓｃｒｉｐｔで定義することができる。あるいは、“ｃｌｏｓｅｐａｔｈ”オペレータを用いて可能な限り小さい線分で軌跡を閉じ切ることができ、これは、矩形オブジェクトの場合、４つの“ｌｉｎｅｔｏ”オペレータを使うのと同じオブジェクト軌跡をもたらす。
【０００７】
軌跡が定義されたならば、その軌跡を“ｓｔｒｏｋｅ”オペレータで描くことができる。“ｓｔｒｏｋｅ”オペレータは軌跡をたどることによって描画する。ストローク線の外見は、もう１つのオペレータ“ｓｅｔｌｉｎｅｗｉｄｔｈ”によって調整することができる。“ｓｅｔｌｉｎｅｗｉｄｔｈ”オペレータは、全てのストロークする（描く）線の幅をポイントで指定した値に設定する。Ｐｏｓｔｓｃｒｉｐｔでは、１ポイントは１/７２インチに等しい。“ｓｅｔｌｉｎｅｗｉｄｔｈ”オペレータは、ポイントで表す線幅である１つの引数を取り、“ｓｔｒｏｋｅ”オペレータが呼び出された後ストロークされる全ての線に影響を及ぼす。“ｓｅｔｌｉｎｅｗｉｄｔｈ”オペレータは、それが呼び出された後ページ上に置かれるマーキングに影響を与え、軌跡に沿って線がストロークされるか、あるいは色が塗り込まれるまでは軌跡には影響を与えない。軌跡は１度描かれるだけであるから、通常は軌跡の１つの部分に幅を設定した後それを別の幅に変更することはできない。“ｓｔｒｏｋｅ”オペレータは、カレントのインクペンの色、カレントのダッシュパターン及びその他のセッティングによっても影響される。
【０００８】
シェープに色を塗ることは、前記と同様に軌跡を生成することによって達成される。ただし、“ｓｔｒｏｋｅ”オペレータを呼び出す代わりに、“ｆｉｌｌ”オペレータが呼び出される。“ｆｉｌｌ”オペレータは、カレントのインク設定を用いて閉軌跡の内側あるいは外側に色を塗る。
【０００９】
Ａｄｏｂｅ  Ｐｏｓｔｓｃｒｉｐｔラスタ画像プロセッサ(Raster Image Processor)のような一般的なインタプリタが、次のプリンタによるプリントに備えてＰＤＬデータからのデータを処理する。ＰＤＬインタプリタは、レーザプリンタのようなプリンタ内に搭載することもできれば、パーソナルコンピュータあるいはサーバのような画像データソースに置くこともできる。しかしながら、このような従来のインタプリタあるいは他の分析装置がＰＤＬ画像を分析して、その結果得られるプリント画像が、プリント装置のマーキング特性あるいは分析の結果、あるいはユーザの基本設定のために、所期の画像を望み通りに描写しない場合が数多くある。
【００１０】
イメージ・オン・イメージ（ＩＯＩ）マーキングシステムは、他のマーキングシステム同様、ある好ましくない線成長特性を呈することが知られている。例えば、着色されたフィールド中の細い反転色（白色）の線は過度に細くプリントされることがあり、実際には完全に塗り込まれてしまって、情報が失われることが起こり得る。従来、線幅を制御するための努力は、リアルタイム・ディジタル・アルゴリズムの形で行われてきた。さらに、線幅は物理的なマーキングプロセス・パラメータの修正を通して制御されて来た。
【００１１】
しかしながら、このようなフィルタ処理機能のために必要なウィンドウサイズは法外に大きくなり得、多くの製品用途の場合、高価な走査線バッファが必要になる。ＰＤＬ定義画像の線幅を制御するための新たな方法及び装置の必要性がある。
【００１２】
従来のインタプリタについての情報は、Ｐｏｓｔｓｃｒｉｐｔ言語レファレンスマニュアル第２版、アディソン-ウェスリー・パブリッシング・カンパニー（Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏ．）社刊（１９９０年）に記載されている。
【００１３】
通常は、オブジェクトの全ての線幅が同じ線幅に設定されるように、オブジェクト全体が１ステップでストロークされる。オブジェクトが着色されたオブジェクトの上に部分的に重なる場合は、その重なりの結果使用される線幅は、実際の線幅であれ、あるいは目で感知される線幅であれ、その線の一部が望ましくない線幅になることがある。
【００１４】
【課題を解決するための手段】
上記の問題を解決するために、本発明は、同じ色のこともあれば、別の色のこともある別のオブジェクトと交わるか、あるいはその上に重なる線を補償するために、ＰＤＬ定義図形の判断属性を調べて、１つ以上の修正属性を再定義することによって、線の表現を再定義することができる装置を提供するものである。このような装置は出力プリンタのマーキング特性を補償することができる。このような装置によれば、着色されたオブジェクト上にある線分を、白の背景の上にある線分のような、着色されたオブジェクトから離れた位置にある線と別途に調整することができる。
【００１５】
また、本発明は、ＰＤＬ定義図形で線を調べて、結果のプリント画像あるいは表示画像がより正確で所望の状態をよりよく表したものとなるようにオペレータを多重定義するプロセスを提供する。これは、図形を調べて、判断属性から図形の１つ以上の線分が着色オブジェクト上にあると判断し、種々の線分の線幅を別々に再定義する、等のように、１つ以上の修正属性を再定義してその図形の表現を補償することによって達成することができる。
【００１６】
【発明の実施の形態】
以下、本発明を添付図面に示す実施例に基づき詳細に説明する。なお、図中同じ参照符号は同様の構成要素を指す。
図１のような、ネットワークあるいはスタンドアロン環境で、ユーザは１セクション以上のテキスト、図形及び写真を含むプリントされるべきページを表すジョブを生成することがある。あるいは、ジョブはスキャンすることによって入力することもできれば、既存のファイルからコピーすることもできる。このジョブは、Ｐｏｓｔｓｃｒｉｐｔ（アドビ・システムズ（Ａｄｏｂｅ  ＳｙｓｔｅｍｓＩｎｃ．）社の商標）のようなページ記述言語にコード化されて、ホストソース１００に保存される。ホストソース１００は、例えばパーソナルコンピュータであってもよい。このジョブは、プリンタあるいは他のマーキングシステムによるプリントのためにプリンタあるいは他のマーキング装置に送られたり、あるいはモニタのようなディスプレイシステム上に表示することができる。しかしながら、プリンタ１２０でジョブに基づいてプリントする（あるいは図示省略したディスプレイ上に表示する）には、その前にまずコード化されたジョブをラスタ画像プロセッサ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）（ＲＩＰ）のようなデコンポーザ１１０により分析しなければならない。デコンポーザ（ＲＩＰ）１１０は、ジョブを特定のプリンタ１２０でプリントするために分析する。
【００１７】
図２は、本発明により線幅制御を実施するするための構成一例を示す。この実施例においては、デコンポーザ１１０は汎用コンピュータであってもよく、インタプリタ１１２を備えたＣＰＵを有する。ＣＰＵは入出力ポート１１６及びメモリ１１４に接続されている。デコンポーザ１１０は、その入出力ポート１１６を介して通常のケーブル配線によりプリンタ１２０あるいはホスト１００に接続することができるが、最も好ましくは、デコンポーザ１１０はプリンタ１２０内に設けて、バスラインあるいは他の従来の電気的接続を介してプリンタのプリントヘッドに電気的に内部接続する。
【００１８】
イメージ・オン・イメージ（ＩＯＩ）マーキングシステム（カラー）は、他のマーキングシステム同様、次のようなある好ましくない線成長特性を呈することが知られている。例えば、着色されたフィールド内の細い線は過度に細くプリントされることがあり、実際には完全に塗り込まれてしまって、情報が失われることが起こり得る。適切な処置をしなければ、静電写真マーキングで穴が塗り込まれ、最終的にプリントされた線が間違った色になり得る。このような状態を修正し、補償するために、ＰＤＬ定義画像の線幅は、所与の線をレンダリングしたときそれまでと異なる、より好適な線幅となるように線幅を制御するオペレータを「多重定義する」ことによって、制御することができる。この点に関しては、「多重定義する」とは、オペレータが別の、あるいは拡張された意味を持つように再定義されるということを意味する。これを達成することができる一つの方法は、ストロークされた線がある一定の基準を満たす場合に、それらの線が所望の線幅で再定義されるようにＰｏｓｔｓｃｒｉｐｔで“ｓｔｒｏｋｅ”オペレータを多重定義することである。しかしながら、線幅を補償するために線全体がより太くなるよう修正される場合、色で塗りつぶしたオブジェクトの外側にある線の部分が太く見えることがある。
【００１９】
Ｐｏｓｔｓｃｒｉｐｔ画像のためのオペレータ多重定義は、Ｐｏｓｔｓｃｒｉｐｔスタートアップ・ファイル内で行うことができる。また、多重定義は、線をレンダリングするディジタル・フロントエンド（ＤＦＥ）内でＤＦＥコードで行うこともできる。さらに、多重定義は、Ｐｏｓｔｓｃｒｉｐｔファイル自体にコード行を追加することによっても行うことができる。
【００２０】
一部のマーキングプロセスでは、ある細い線幅の場合に線のプリント強度が弱いことがあり、そのために見かけの線幅がより細くなることがある。このような見かけ上細く見える線幅を補償するためには、いずれかの色の線幅が指定された幅より細いときにはそれを太くするように“ｓｔｒｏｋｅ”オペレータを再定義することによって、線の強度をその幅あるいは色に基づいて大きくすることができる。これに代わる修正処置の例としては、線幅を大きくする、色を変える、パターンを変える、そしてカレントの線と同じ位置において追加の線をストロークする等の方法がある。しかしながら、この場合も、背景色によって異なる修正処置を用いることが最良の結果をもたらすと考えられる。
【００２１】
次に、図３において、コンピュータ１００で生成することができる図示例のＰＤＬ定義図形の画像は、複数のオブジェクトを含み、その中のいくつかのオブジェクトは部分的に、あるいは全体的に互いに重なっている。この画像はライトグレーの三角形１０、ダークグレーの線２０、ダークに塗りつぶされた矩形３０、黒の矩形輪郭線４０、黒の細線５０及びグレーの楕円形輪郭線６０を含む。図示のように、線２０は三角形１０及び矩形３０と交わる。線５０は完全に三角形１０の内部にある。矩形４０も三角形１０と交わる。
【００２２】
図４は、ＰＤＬ定義図形画像のプリントアウトの一例で、マーキングシステム（プリンタ）のマーキング特性故にプリント後に見える状態を示したものである。図から明らかなように、図形のいくつかの様相は、意図した図形とは異なって見える。特に、線２０は少なくとも１つのエラーを有する。三角形１０と交わる線の部分は、陰影部分で示す三角形１０の内部の斜線領域による隣接効果のために細くなっている。同様に、線５０及び矩形４０の重なり部分も一部縮んで見える。
【００２３】
図５は、ＰＤＬ定義図形画像のプリントアウトの一例で、フルカラー・プリンタのような異なるＩＯＩマーキングシステム（プリンタ）のマーキング特性故にプリント後に見える状態を示す。この例の場合、オブジェクトは種々異なる色を有するものと仮定されているが、図示のプリントアウト例は、図解の便宜上モノクロで示されている。図から明らかなように、図形のいくつかの様相は意図した図形とは異なって見える。まず第１に、線２０の右側の部分は矩形３０と同じ色（ダークグレー）であると仮定されている。しかしながら、マーキングプロセスのために、プリントされた色はにじみ、混ざり合って、意図したよりも暗い色合いになっている。同様に、三角形１０と重なる線２０の部分は、インクのにじみと混合のために色が変わっている。また、矩形輪郭線４０は、三角形１０と重なる左上でにじんでおり、意図した色とは異なる色になっている。これらの変化はいずれも最初に定義されたＰＤＬ図形画像によって意図されたものではない。
【００２４】
本発明は、各特定のマーキングシステムのマーキング特性を認識して、図形をプリントする前に図形を分析し、そのようなマーキング特性を補償するために図形を再定義することで、このような問題の補正を達成するものである。図６は、全面的には許容されない線再定義の比較例を示す。この例では、線と別のオブジェクトとの重なりが検出されると、細い線はその重なり部分の塗り込みを防ぐために拡幅される。
【００２５】
残念なことには、このような再定義はプリントされたＰＤＬ画像に新たなエラーを導入する結果になる。それらの重なり部分は適切に補償されるかもしれないが、その線の重ならない部分（背景上だけにある部分）は所望の幅以上に広げられることになる。
【００２６】
本発明は、このような問題を、線幅を検知すると共に、各線が別のオブジェクトと交わるかどうかを検知することによって解消するものである。線が別のオブジェクトと交わる場合は、さらにその線が完全に他のオブジェクト内にあるか、あるいは他のオブジェクトと部分的に重なるだけであるかが調べられ、判断される。次に、これらの判断に基づいて、特定のマーキングシステムに対して補償するようＰＤＬ定義画像を補正するために、線の種々の再定義が行われる。本発明は、フルカラー・マーキングシステム用として最も適しているが、モノクロあるいはハイライトカラー・プリンティングにも使用することができる。
【００２７】
図７は、本発明による第１例のオペレータ多重定義プロセスにより再定義されたＰＤＬ定義画像を示す。本発明のこの多重定義プロセスは、線と他のオブジェクトとの交わりの有無を検知すると共に、交わりがあった場合、それらの線が完全に他のオブジェクト内にあるか、あるいは部分的にオブジェクトと交わるだけであるかどうかを判断する。これらの判断に基づいて、他のオブジェクトの上に重なる線の部分だけが再定義される。例えば、図示のように、線２０の三角形１０と重なる部分は、マーキング時の塗り込みを補償するために拡幅されている。容易には分らないが、線２０の矩形３０と重なる部分も拡幅されている。あるいは、線の色または色合いを検知して、重なり部分が同じ色を持つ場合は、拡幅プロシージャは省くことができる。線５０は、完全に三角形１０内にあるので、全体が拡幅されている。楕円形６０は、他のオブジェクトと全く交わらないので、変更はない。線２０と同様、三角形１０と交わる矩形輪郭線４０の部分は拡幅されている。矩形輪郭線４０の残りの部分は元の線幅のまま保たれているということに留意するべきである。
【００２８】
図８は、本発明による第２例のオペレータ多重定義プロセスにより再定義されたＰＤＬ定義画像を示し、この場合は線の色またはもう１つのパラメータがマーキングエラーを補償するように、あるいはプリント時に所望の効果が達成されるよう再定義される。この実施例は、特に中間色にじみを生じ、色を重ねる方法が用いられるフルカラー・マーキングシステムに好適である。
【００２９】
プリントシステムで、図３の画像をさらに処理することなしにプリントするとしたら、得られるプリント画像は図５に示ような外観を呈するものになろう。容易にわかるように、三角形１０内の細い線２０及び矩形４０の三角形１０との重なり部分の好ましくない着色は、それらの一方のオブジェクトが他方のオブジェクトの上にプリントされる時、着色剤が混合することにより起こる。一例としてシアンとマゼンタを用いると、重なり部分のプリント結果は、所望の色が実はマゼンタであるのに対して、混色の青を生じるかもしれない。このような多層系においては、最終的な見かけの色は、同じ領域に塗布された色の組合せによって影響される。
【００３０】
しかしながら、ＰＤＬ定義図形画像を再定義することによってこれを補償することができる。図示のように、線５０は初めに定義されたのと同じ線幅のままである。しかしながら、線５０の色合いは異なる色となるように再定義されている。これは、オブジェクトの塗り込みによるインクにじみは線５０の色を変化させるので、色を重ねる方法を用いるマーキングシステムで有用である。プリント画像は、色の組合せによって所望の色より暗くなったり、明るくなったりする。しかしながら、対象とする色の重なりの効果を知り、所望のプリント色を達成するために線５０の色を再定義して所望の正しいプリント色を得ることができる。これには、塗り込みの程度を知ることも必要である。同様に、線２０及び４０の重なり部分も再定義することができる。このように、多重定義に使用できるのは単に線幅だけの再定義にとどまらない。このための適切なオペレータとしては、例えば次のようなものがある：ｓｅｔｃｍｙｋｃｏｌｏｒ、ｓｅｔｃｏｌｏｒ、ｓｅｔｃｏｌｏｒｔｒａｎｓｆｅｒ、ｓｅｔｇｒａｙ、ｓｅｔｈｓｂｃｏｌｏｒ、及びｓｅｔｒｇｂｃｏｌｏｒ。
【００３１】
図９は、本発明によるＲＩＰ１１０で使用することができるオペレータ多重定義プロセスの一例のフローチャートを示し、図１０乃至１３は、このプロセスを実施するためのＰｏｓｔｓｃｒｉｐｔで書かれたコードの一例を示したものである。図１０乃至１３において、線（１画素幅）はＰｏｓｔｓｃｒｉｐｔのデフォルト解像度７２スポット／インチに基づいて０.１２幅とされる。
【００３２】
プロセスは図９のステップＳ９００で開始されて、ステップＳ９０５に進み、ここで全てのｆｉｌｌオペレータが多重定義される。このオペレータとしては、Ｐｏｓｔｓｃｒｉｐｔにおける“ｆｉｌｌ”、“ｅｏｆｉｌｌ”、及び“ｒｅｃｔｆｉｌｌ“オペレータがあり、別のＰＤＬ言語が使用される場合は他の同等のオペレータを含めることができる。ステップＳ９０５でのｆｉｌｌオペレータの多重定義は、ｆｉｌｌオペレータが呼び出されたときは、色を塗ろうとするオブジェクト（ｆｉｌｌオペレータの引数）のためのユーザ生成軌跡をｆｉｌｌを実行する前にセーブすることができるようになっている。ページ上のオブジェクトに色が塗られる際には、多重定義されたｆｉｌｌオペレータを呼び出すことによって、メモリ１１４のようなダイナミックメモリが、全ての塗りつぶしオブジェクトのためのユーザ生成軌跡を保存する。次に、ｓｔｒｏｋｅオペレータが選択的に特定の幅の線を調整し、かつ線とオブジェクトの交わりに関する判断を行うよう多重定義される。ステップＳ９１０では、プロセスが最初の線をチェックするプロシージャが開始される。
【００３３】
次に、プロセスはステップＳ９２０に進み、ここで線をチェックして、他のオブジェクトと交わるかどうか判断される。線が他のオブジェクトと交わらないようならば、プロセスはステップＳ９５０にジャンプし、線がストロークされる。線が交わるようであれば、プロセスはステップＳ９２５に進み、ここで線の全体がこれと交わるオブジェクトの上に重なるかどうかが判断される。その判断結果がノーならば、プロセスはその線の一部だけがそのオブジェクトと交わり、あるいは重なると判断し、ステップＳ９２８に進む。ステップＳ９２８では、下にあるオブジェクトのユーザ生成軌跡まで、塗られる領域がクリップされる。そして、プロセスはステップＳ９３０に進み、線幅が１画素以下であるかどうかが調べられ、判断される。判断結果がイエスならば、プロセスはステップＳ９３３に進み、その線の幅は１.５画素分だけ増やされる。ノーならば、プロセスはステップＳ９４０に進み、線幅が１画素より大きく２画素以下であるかどうかが調べられる。その結果がイエスならば、プロセスはステップＳ９４３に進み、線幅が１画素分だけ増やされる。ノーならば、プロセスはステップＳ９４５に進み、線幅が２画素より大きく３画素以下であるかどうかが調べられる。その結果がイエスならば、プロセスはステップＳ９４８に進み、線幅が０.５画素分だけ増やされる。ノーならば、プロセスはステップＳ９３５に進み、クリップされていた部分だけがストロークされ、線幅は元の線幅に戻される。プロセスは、ステップＳ９３３、Ｓ９４３及びＳ９４８からもステップＳ９３５へ進む。ステップＳ９３５の後、プロセスはステップＳ９５０に進み、線全体がストロークされる。ステップＳ９５３では、他の線が存在するるかどうかが調べられる。他に線がなければ、プロセスはステップＳ９５５で終了する。他の線についてチェックする必要がある場合は、プロセスはステップＳ９１５に進み、次の線が選択される。そして、プロセスの流れは再びステップＳ９２０に移る。
【００３４】
しかしながら、ステップＳ９２５で線が完全にオブジェクト上に重なると判断されると、プロセスはステップＳ９６０に進み、そこで線幅が１画素以下であるかどうかが調べられる。その結果がイエスならば、プロセスはステップＳ９６３に進み、線幅が１.５画素分だけ増やされる。ノーならば、プロセスはステップＳ９６５に進み、線幅が１画素より大きく２画素以下であるかどうかが調べられる。その結果がイエスならば、プロセスはステップＳ９６８に進み、線幅は１画素分だけ増やされる。ノーならば、プロセスはステップＳ９７０に進み、そこで線幅が２より大きく３画素以下であるかどうかが調べられる。その結果がイエスならば、プロセスはステップＳ９７５に進み、線幅が０.５画素分だけ増やされる。ステップＳ９６３、Ｓ９６８、Ｓ９７５及びＳ９７０のノーへの分岐のいずれのフローも、線がストロークされるステップＳ９５０へ進む。再度ステップＳ９５３で、さらに他の線についてチェックする必要があるかどうかが判断される。
【００３５】
上記好適な実施例では線幅の可変調節方式を用いたが、例えば３画素幅のような所与のスレッショルドより小さい全ての線の幅については一律に１画素分の幅を加えるというように、単一の線幅インクリメント値を使用することも可能である。また、上に重なる太い線の幅を減らすことを含めて、他の様々な修正方式を行うことができる。
【００３６】
さらに、図８を参照して簡単に説明したように、線幅以外のＰＤＬ定義画像の属性を再定義することによってプリント画像のプリンティングエラーあるいは外見を修復することができる。これらの属性としては、色補正あるいは線の下に別の色の線を何本か付加することを含めてもよい。後者は、白でない線の下により太い白い線を入れるよう線を再定義することによって、いわゆる「クッキー抜き型」塗り込みを防ぐのに好都合である。
【００３７】
どの線を修正するべきかを決定するためには、大方の任意の基準を使用することができる。本発明の必須の部分は、１)他のどのオブジェクトにも重ならない２)１つ以上のオブジェクトに部分的に重なる３)オブジェクトに完全に重なる、線の同定確認にある。従って、本発明によれば、調整すべき範囲内の幅を有する線が検知される都度、ストロークしようとするその線の軌跡と交わるか、あるいはその線を完全に取り囲むオブジェクトを求めて、ユーザ生成軌跡アレイをサーチする。そのような交差が見つかると、その線の幅が背景オブジェクトによってクリップされた部分内で調整され、ストロークされる。その後、その軌跡は、クリップされた軌跡を越える線の部分を描くために元の線幅あるいは他の選択線幅によって再度ストロークしてもよい。この方法では、背景色上にある線だけ幅を変えることが可能になる。線が完全に塗りつぶしオブジェクトの範囲内にあることが確認された場合は、線幅が調整され、線がストロークされる。交わりが生じない場合は、その線は全く調整されず、意図した線幅でストロークされる。上に重なる線の部分だけを再定義することで、背景（白）上にプリントされる重ならない部分に新たなエラーを持ち込むことなしに補正を行うことができる。
【００３８】
ラスタ画像プロセッサ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）（ＲＩＰ）１１０は好ましくは汎用コンピュータに実装される。しかしながら、インタプリタは、専用コンピュータ、プログラムされたマイクロプロセッサあるいはマイクロコントローラと周辺集積回路コンポーネント、ＡＳＩＣあるいは他の集積回路、ディジタル信号プロセッサ、離散素子回路のような配線された電子回路あるいは論理回路、ＰＤＬ、ＰＬＡ、ＦＰＧＡあるいはＰＡＬのようなプログラム可能論理回路デバイス等に実装することもできる。前述のように、ＲＩＰ１１０はプリンタ１２０の一部として実装することができる。
【００３９】
以上、本発明をいくつかの好適な実施例に関して詳細に説明したが、発明の精神及び範囲を逸脱することなく種々の修正態様を実施することができる。例えば、本願においては主にプリントシステムに関連して説明したが、本発明のプロセスはディスプレイシステム上におけるジョブの表示用としても容易に実施可能である。
【００４０】
【発明の効果】
本発明は、ＰＤＬ等で定義された図形の判断属性を調べて、１つ以上の修正属性を再定義することによって別のオブジェクトと交わるあるいはその上に重なる線を補償し、また結果のプリント画像あるいは表示画像がより正確で所望の状態をよりよく表したものとなるようにオペレータを多重定義するようにしたため、より正確に線幅を制御することができる。
【図面の簡単な説明】
【図１】本発明による線幅制御のプロセスを図解したデータフローダイアグラムである。
【図２】本発明により次のプリンタによるプリントに備えてＰＤＬ定義画像を処理するラスタ画像プロセッサ（ＲＩＰ）を示すブロック図である。
【図３】インタプリタで表現されるような部分的に重なる複数の図形を含むＰＤＬ画像の一例を示す説明図である。
【図４】ＩＯＩマーキングシステムによってプリントされた図３のＰＤＬ定義画像の表現の一例を示す図で、好ましくないマーキング特性が示されている。
【図５】ＩＯＩマーキングシステムによってプリントされた図３のＰＤＬ定義画像の表現の一例を示す別の図で、図４とは異なる好ましくないマーキング特性が示されている。
【図６】比較のための簡単な再定義ＰＤＬ定義画像の説明図である。
【図７】本発明の第１の実施例によるＰＤＬ画像を再定義するための第１例のオペレータを多重定義した図である。
【図８】本発明のもう１つの実施例によるＰＤＬ画像を再定義するための第２例のオペレータを多重定義した図である。
【図９】本発明の第１の実施例による線幅を調整するためのプロセスを示すフローチャートで、図１のデータフロー図に対応する。
【図１０】図９のフローチャートのプロセスを実施するためのＰｏｓｔｓｃｒｉｐｔで書かれたコードの一例を示す説明図である。
【図１１】図９のフローチャートのプロセスを実施するためのＰｏｓｔｓｃｒｉｐｔで書かれたコードの一例を示す説明図である。
【図１２】図９のフローチャートのプロセスを実施するためのＰｏｓｔｓｃｒｉｐｔで書かれたコードの一例を示す説明図である。
【図１３】図９のフローチャートのプロセスを実施するためのＰｏｓｔｓｃｒｉｐｔで書かれたコードの一例を示す説明図である。
【符号の説明】
１００  ホスト
１１０  ＲＩＰ
１１２  インタプリタ
１１４  メモリ
１２０  プリンタ
【図１】
0004295874.tif 000002
【図２】
0004295874.tif 000003
【図３】
0004295874.tif 000004
【図４】
0004295874.tif 000005
【図５】
0004295874.tif 000006
【図６】
0004295874.tif 000007
【図７】
0004295874.tif 000008
【図８】
0004295874.tif 000009
【図９】
0004295874.tif 000010
【図１０】
0004295874.tif 000011
【図１１】
0004295874.tif 000012
【図１２】
0004295874.tif 000013
【図１３】
0004295874.tif 000014