(57)【特許請求の範囲】
【請求項１】
外部から２つの端点座標で定まる直線を定義する情報として直線の始点情報、傾きおよび高さ、または、始点情報および終点情報を受信し、前記２つの端点座標で定まる直線を、所定の幅を有する、４つの頂点座標で定まる太線に変換する機能を有するプロッタであって、
作画すべき直線の２つの端点の座標を得る手段と、
与えられた直線の傾き情報と太線の幅情報に対応して、前記直線の各端点からの前記４つの頂点座標のうちの２つの頂点までの相対的なＸ，Ｙ変位座標量を前記２つの頂点について別個に決定し予め格納した太線相対位置テーブルと、
作画すべき直線が与えられたとき、その直線の傾きと太線の幅とに基づいて前記太線相対位置テーブルを参照し、前記相対的なＸ，Ｙ変位座標量を求め、当該直線の２つの端点の座標に対して前記Ｘ，Ｙ変位座標量を加算することにより前記４つの頂点座標を求める手段と、
該求められた４つの頂点座標に基づいて太線を作画する手段と、
を備えたプロッタ。
【請求項２】
前記太線相対位置テーブルは、直線の傾きとして３６０度を８分割した４５゜の範囲内についてのみの絶対値データを格納しており、与えられた直線の傾きの範囲がどの分割範囲内にあるかに応じて前記絶対値データの符号を決定し、どの分割範囲内にあるかに応じて前記Ｘ，Ｙ変位座標量を互いに置換して用いることを特徴とする請求項１記載のプロッタ。
【請求項３】
前記第１の範囲をＮ分割したときの前記傾き情報の値をＫとすると、まず、次式で表される角度ＡＴを求め、
ＡＴ＝（ＰＥｘ−ＰＳｘ）／（ＰＥｙ−ＰＳｙ）
（ここに、ＰＳｘは開始座標点のｘ座標値、ＰＳｙは開始座標点のｙ座標値、ＰＥｘは終了座標点のｘ座標値、ＰＥｙは終了座標点のｙ座標値）
次に、このＡＴの符号が正か負かおよびＡＴの値が１より大きいか否かの４つの場合に応じて、次の４式のいずれかによりＫ値（小数は整数化）を求めることを特徴とする請求項２記載のプロッタ。
Ｋ＝Ｎ＊ＡＴ
Ｋ＝Ｎ／ＡＴ
Ｋ＝Ｎ／（ＡＴ＊（−１））
Ｋ＝Ｎ＊（ＡＴ＊（−１））
【請求項４】
外部から２つの端点座標で定まる直線を定義する情報として直線の始点情報、傾きおよび高さ、または、始点情報および終点情報を受信し、前記２つの端点座標で定まる直線に対して所定の幅を有する、４つの頂点座標で定まる太線の端部を当該幅と等しい直径の円形形状とする機能を有するプロッタであって、
作画すべき円形の直径および中心点座標を得る手段と、
作図対象となる円の各直径値毎に、その円の中心線上の各点から、その中心線に直交する弦の第１および第２の端点までの距離を整数値として別個に決定し格納した円形相対位置テーブルと、
端部を円形形状とすべき太線の幅および円の中心座標に基づいて、円の中心線上にある円周上の１点の座標を求め、この１点から中心線上の各点を順次辿って、当該各点からその点を通る前記弦の第１及び第２の端点の相対位置を前記円形相対位置テーブルを参照して求めることにより、円周上のすべての点の座標を決定する円周座標決定手段と、
を備えたことを特徴とするプロッタ。
【請求項５】
プロッタにおいて、外部から２つの端点座標で定まる直線を定義する情報として直線の始点情報、傾きおよび高さ、または、始点情報および終点情報を受信し、前記２つの端点座標で定まる直線を、所定の幅を有する、４つの頂点座標で定まる太線に変換する工程を有する図形作成方法であって、
作画すべき直線の２つの端点の座標を得る工程と、
与えられた直線の傾き情報と太線の幅情報に対応して、前記直線の各端点からの前記４つの頂点座標のうちの２つの頂点までの相対的なＸ，Ｙ変位座標量を前記２つの頂点について別個に決定し予め格納した太線相対位置テーブルを用意し、作画すべき直線が与えられたとき、その直線の傾きと太線の幅とに基づいて前記太線相対位置テーブルを参照して前記相対的なＸ，Ｙ変位座標量を求め、当該直線の２つの端点の座標に対して前記Ｘ，Ｙ変位座標量を加算することにより前記４つの頂点座標を求める工程と、
該求められた４つの頂点座標に基づいて太線を作画する工程と、
を備えた図形作成方法。
【請求項６】
前記太線相対位置テーブルは、直線の傾きとして３６０度を８分割した４５゜の範囲内についてのみの絶対値データを格納しており、与えられた直線の傾きの範囲がどの分割範囲内にあるかに応じて前記絶対値データの符号を決定し、どの分割範囲内にあるかに応じて前記Ｘ，Ｙ変位座標量を互いに置換して用いることを特徴とする請求項５記載の図形作成方法。
【請求項７】
前記第１の範囲をＮ分割したときの前記傾き情報の値をＫとすると、まず、次式で表される角度ＡＴを求め、
ＡＴ＝（ＰＥｘ−ＰＳｘ）／（ＰＥｙ−ＰＳｙ）
（ここに、ＰＳｘは開始座標点のｘ座標値、ＰＳｙは開始座標点のｙ座標値、ＰＥｘは終了座標点のｘ座標値、ＰＥｙは終了座標点のｙ座標値）
次に、このＡＴの符号が正か負かおよびＡＴの値が１より大きいか否かの４つの場合に応じて、次の４式のいずれかによりＫ値（小数は整数化）を求めることを特徴とする請求項６記載の図形作成方法。
Ｋ＝Ｎ＊ＡＴ
Ｋ＝Ｎ／ＡＴ
Ｋ＝Ｎ／（ＡＴ＊（−１））
Ｋ＝Ｎ＊（ＡＴ＊（−１））
【請求項８】
プロッタにおいて、外部から２つの端点座標で定まる直線を定義する情報として直線の始点情報、傾きおよび高さ、または、始点情報および終点情報を受信し、前記２つの端点座標で定まる直線に対して所定の幅を有する、４つの頂点座標で定まる太線の端部を当該幅と等しい直径の円形形状とする工程を有する図形作成方法であって、
作画すべき円形の直径および中心点座標を得る工程と、
作図対象となる円の各直径値毎に、その円の中心線上の各点から、その中心線に直交する弦の第１および第２の端点までの距離を整数値として別個に決定し格納した円形相対位置テーブルを用意し、端部を円形形状とすべき太線の幅および円の中心座標に基づいて、円の中心線上にある円周上の１点の座標を求め、この１点から中心線上の各点を順次辿って、当該各点からその点を通る前記弦の第１及び第２の端点の相対位置を前記円形相対位置テーブルを参照して求めることにより、円周上のすべての点の座標を決定する円周座標決定工程と、
を備えたことを特徴とする図形作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロッタに係り、特に、直線を太線に変換する際に、高速に且つ精度よく太線を構成する各点の座標を導きだす手段、及び太線端部の円形処理を高速に且つ精度よく行う手段を有するプロッタ（以下、図形作成装置ともいう）およびその図形作成方法に関する。
【０００２】
【従来の技術】
１）太線作画について
通常、太線を構成する各点の座標は実数演算で求めていることが多い。一方、プロッタなどの作画座標点は通常整数値である。したがって、太線を構成する各点を求めるときはより正確な値を求めるため実数型で演算を行うが、小数点付きの正確な各点（座標値〉が求められても作画座標点にするときに整数値に変換されて使用されている。
【０００３】
プロッタなどの制御を司るＣＰＵは、コスト的な制約から安価なＣＰＵが使われていることが多く、実数型の演算に対してはそれをソフトウエア処理で行っていることが多い。
【０００４】
２）端部の円形作画について
通常、直線（太線）の端部の円形処理を行うときは、その端部に想定された円の弦（円の弧の両端を結ぶ線）の長さを求めて作画することが多く、弦の長さは実数演算で求めていることが多い。１）でも記述した様に一般的にプロッタなどの作画座標点は整数値となっていることが多く、小数点付きで正確に各点（座標値）を求めても整数値に変換されて使用されている。
【０００５】
【発明が解決しようとする課題】
１）ＣＰＵに浮動小数点演算プロセッサを内蔵しているコンピュータや浮動小数点演算専用プロセッサを持っているコンピュータでは、ＣＰＵが実数演算処理をしているので実数演算処理と整数値演算との処理速度はあまり変わらない。しかし、前述のようにプロッタなどのＣＰＵはコスト的制約から安価なＣＰＵが使われているため、浮動小数点演算プロセッサ等を内蔵していないことが多く、実数を含む実数演算処理をおこなう場合の多くはソフトウエア処理で行っているため処理速度が著しく遅くなる。
【０００６】
２）直線端部の円形処理は作画ドット数が太線作画より少ないため太線作画ほど影響はないが、１）と同じ理由から処理速度が遅くなる。
【０００７】
そこで、本発明は、浮動小数点演算プロセッサを内蔵していないＣＰＵを用いた場合でも、作画の精度を下げることなく処理の高速化を実現することができる図形作成装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明による図形作成装置は、２つの端点座標で定まる直線を、所定の幅を有する、４つの頂点座標で定まる太線に変換する機能を有する図形作成装置であって、作画すべき直線の２つの端点の座標を得る手段と、与えられた直線の傾き情報と太線の幅情報に対応して、前記直線の各端点からの前記４つの頂点座標のうちの２つの頂点までの相対的なＸ，Ｙ変位座標量を前記２つの頂点について別個に決定し予め格納した太線相対位置テーブルと、作画すべき直線が与えられたとき、その直線の傾きと太線の幅とに基づいて前記太線相対位置テーブルを参照し、前記相対的なＸ，Ｙ変位座標量を求め、当該直線の２つの端点の座標に対して前記Ｘ，Ｙ変位座標量を加算することにより前記４つの頂点座標を求める手段と、該求められた４つの頂点座標に基づいて太線を作画する手段とを備える。
【０００９】
また、本発明による図形作成方法は、２つの端点座標で定まる直線を、所定の幅を有する、４つの頂点座標で定まる太線に変換する機能を有する図形作成方法であって、作画すべき直線の２つの端点の座標を得る工程と、与えられた直線の傾き情報と太線の幅情報に対応して、前記直線の各端点からの前記４つの頂点座標のうちの２つの頂点までの相対的なＸ，Ｙ変位座標量を前記２つの頂点について別個に決定し予め格納した太線相対位置テーブルを用意し、作画すべき直線が与えられたとき、その直線の傾きと太線の幅とに基づいて前記太線相対位置テーブルを参照して前記相対的なＸ，Ｙ変位座標量を求め、当該直線の２つの端点の座標に対して前記Ｘ，Ｙ変位座標量を加算することにより前記４つの頂点座標を求める工程と、該求められた４つの頂点座標に基づいて太線を作画する工程とを備える。
このように、太線相対位置テーブルの値を使用することにより実数演算をおこなう回数を減らし処理速度を向上させることができる。かつ、前記直線の各端点からの前記４つの頂点座標のうちの２つの頂点までの相対的なＸ，Ｙ変位座標量を前記２つの頂点について別個に決定するので、太線の傾きや中心座標点を極力変えないようにしながら、より正確な太線幅の太線を作画することができる。
【００１０】
好ましくは、前記太線相対位置テーブルは、直線の傾きとして３６０度を８分割した４５゜の範囲内についてのみの絶対値データを格納しており、与えられた直線の傾きの範囲がどの分割範囲内にあるかに応じて前記絶対値データの符号を決定し、どの分割範囲内にあるかに応じて前記Ｘ，Ｙ変位座標量を互いに置換して用いる。これによって、太線相対位置テーブルのテーブルサイズを小さくすることができる。
【００１１】
より具体的には、前記第１の範囲をＮ分割したときの前記傾き情報の値をＫとすると、まず、次式で表される角度ＡＴを求め、
ＡＴ＝（ＰＥｘ−ＰＳｘ）／（ＰＥｙ−ＰＳｙ）
（ここに、ＰＳｘは開始座標点のｘ座標値、ＰＳｙは開始座標点のｙ座標値、ＰＥｘは終了座標点のｘ座標値、ＰＥｙは終了座標点のｙ座標値）
次に、このＡＴの符号が正か負かおよびＡＴの値が１より大きいか否かの４つの場合に応じて、次の４式のいずれかによりＫ値（小数は整数化）を求める。
【００１２】
Ｋ＝Ｎ＊ＡＴ
Ｋ＝Ｎ／ＡＴ
Ｋ＝Ｎ／（ＡＴ＊（−１））
Ｋ＝Ｎ＊（ＡＴ＊（−１））
本発明による他の図形作成装置は、所定の幅を有する、４つの頂点座標で定まる太線の端部を当該幅と等しい直径の円形形状とする機能を有する図形作成装置であって、作画すべき円形の直径および中心点座標を得る手段と、作図対象となる円の各直径値毎に、その円の中心線上の各点から、その中心線に直交する弦の第１および第２の端点までの距離を整数値として別個に決定し格納した円形相対位置テーブルと、端部を円形形状とすべき太線の幅および円の中心座標に基づいて、円の中心線上にある円周上の１点の座標を求め、この１点から中心線上の各点を順次辿って、当該各点からその点を通る前記弦の第１及び第２の端点の相対位置を前記円形相対位置テーブルを参照して求めることにより、円周上のすべての点の座標を決定する円周座標決定手段とを備える。
【００１３】
本発明による他の図形作成方法は、所定の幅を有する、４つの頂点座標で定まる太線の端部を当該幅と等しい直径の円形形状とする機能を有する図形作成方法であって、作画すべき円形の直径および中心点座標を得る工程と、作図対象となる円の各直径値毎に、その円の中心線上の各点から、その中心線に直交する弦の第１および第２の端点までの距離を整数値として別個に決定し格納した円形相対位置テーブルを用意し、端部を円形形状とすべき太線の幅および円の中心座標に基づいて、円の中心線上にある円周上の１点の座標を求め、この１点から中心線上の各点を順次辿って、当該各点からその点を通る前記弦の第１及び第２の端点の相対位置を前記円形相対位置テーブルを参照して求めることにより、円周上のすべての点の座標を決定する円周座標決定工程とを備える。
このように、太線端部作画用の円形相対位置テーブルを用いることにより、実数演算を行うことなく端部円形の円周座標を迅速に求めることができるようになる。
【００１４】
【発明の実施の形態】
以下、図面を参照しながら本発明の好適な実際について詳細に説明する。
【００１５】
本実施の形態に係る図形作成装置は、インクジェット記録ヘッドを搭載したキャリッジの走査を伴うインクジェット記録方式のプロッタ装置に適用したものである。
【００１６】
図１に示すように、このプロッタ装置は、上位のホストコンピュータ装置１１から入力画像データを受信するためのデータ通信部１と、このデータ通信部１により受信した入力画像データを、一旦記憶するためのリングバッファである入力バッファメモリ２と、本プロッタ装置全体の制御を行うデータ解析部３と、本プロッタ装置の操作パネルを含み、各種修飾情報等の入力を行うための入力部５と、この入力部５からの入力情報等を検出し、これを上記データ解析部３に供給する入力検知部４とを有している。
【００１７】
プロッタ装置は、さらに、本装置の制御プログラム、後述するテーブル、１バンド分の印字画像データを記憶するバンドバッファ、その他各種の作業データ、パラメータ等が記憶される記憶部６と、プロットを行う画像等を事前に表示してそのレイアウトの確認を行うことができる表示部８と、この表示部８の画像表示制御等を行う表示制御部７と、上記入力画像データに応じた画像をプロットする印字部（プリントエンジン）１０と、この印字部１０の印字を制御する印字制御部９とを有している。記憶部６は、例えば半導体メモリの他、光磁気ディスク、磁気ディスク（フロッピーディスク、ハードディスク等）等を含みうる。
【００１８】
より具体的には、図１に示した主としてデータ解析部３の機能および装置全体の制御の機能を、ＣＰＵ（中央演算回路）を用いた公知のハードウェア構成（図示せず）で実現できる。
【００１９】
本プロッタ装置は、図２のフローチャートに示すように、データ通信部ｌが入力画像データを受信し（Ｓ１０１）、これを入力バッファメモリ２に一旦記憶する。次に、データ解析部３は、この入力バッファメモリ２に記憶された入力画像データを読み出し、該入力画像データに含まれる単線分（ベクタ）の端点（始点および終点）（ベクトルデータ）を求める（Ｓ１０２）。
【００２０】
さらに、データ解析部３は、これらのベクトルデータをディスプレイリストと呼ばれる中間コードに変換する（Ｓ１０３）。この中間コードは記憶部６に格納される。中間コードは入力画像全体について格納しても、あるいは、続くベクタ・ラスタ変換処理時に必要な容量分だけ一時的に格納するようにしてもよい。中間コード内で使用される座標を表わす数値は、実際に印字を行うために印字ドットによる単位系を用いる。ディスプレイリストの作成では、中間コードに対して、直線の修飾情報の各線分への反映を行う。すなわち、ベクトルデータの座標値に基づいて、バンド毎に実際に印字する線分の輪郭の座標を算出する。
【００２１】
さらに、データ解析部３は、このようにして求められた中間コードをラスタデータに変換して、印字部１０へ供給する（Ｓ１０５）。
【００２２】
中間コードは、たとえば、各バンドについて、バンド番号と、そのバンドに含まれる各ベクタの輪郭（アウトライン）の水平セグメントの個数（１，２等）と、各セグメントの頂点の座標データとにより構成される。
【００２３】
中間コードは、このように四角形の集合となるため、各四角形の４頂点の座標が１つのデータ単位となる。１点の座標データは、（ｘ座標）と（ｙ座標）からなるため、計８個の数値で表わされる（この８個の数値からなるデータ単位を１ＤＬ(Display List)と呼ぶ）。したがって、中間コードは、実用紙上のバンド番号とバンド内に存在するＤＬ数とＤＬデータとの組を用紙上のバンド数だけ繰り返して記述したシーケンシャルデータである。
【００２４】
本発明における直線の太線化処理は、Ｓ１０３のディスプレイリスト作成処理の前提処理として行われる。
【００２５】
今、図１５により、始点ＰＳで終点ＰＥで定義される直線を、太線を定める長方形の４頂点Ｐ１，Ｐ２，Ｐ３，Ｐ４を有する太線に変換する場合を考える。
【００２６】
（太線相対位置テーブル作成）
図３は、本実施の形態において太線相対位置テーブルを作成する処理フローの概要を示している。一旦、太線相対位置テーブルが作成された後は、この内容を記憶部６内のＲＯＭ等に予め記憶しておくことにより、以後は特にテーブル内容を変更する場合以外、この処理を実行する必要はない。
【００２７】
以下、説明のために、太線幅値Ｗｉは３から３１までの整数値を取り、傾き値Ａｊは４５゜の範囲に対応して０〜６４の整数値を取ることにする。この整数値は、Ｘ値６４に対するＹ数値０〜６４の傾きに相当する。すなわち、４５度範囲内の相対的な傾き角度は、Ａｊが０のとき０゜、Ａｊが１のとき４５゜である。
【００２８】
図３において、与えられた太線幅値Ｗｉを取得する（Ｓ１）。Ｗの添字のｉは太線幅値の序数を表す変数であり、その太線幅値がｉ番目であることを意味する。Ｓ２において、傾き値Ａｊを取得する。Ａの添字のｊは、傾き値の序数を表す変数であり、ｊ番目であることを意味する。
【００２９】
本実施の形態では、直線を定義する基本的な情報として外部から始点座標、傾き、高さの３情報を受けるが、これらの代わりに始点座標および終点座標を受けるようにしてもよい。
【００３０】
Ｓ３では、取得した太線幅値Ｗｉと傾き値Ａｊに基づいて、直線の２端点（始点または終点）から太線近似長方形の短辺の延長直線上の２頂点Ｐａ，Ｐｂの相対位置（Δｘ１，Δｙ１）と（Δｘ２，Δｙ２）を実数値で求める。これらの点Ｐａ，Ｐｂは座標点上に一致するとは限らない。Ｓ４では、これらの点Ｐａ，Ｐｂから最も近い座標点Ｐ１，Ｐ２の座標を求め、さらにこれらの座標から太線論理幅値Ｗ１を算出する。直線の端点からこれらの座標点までの相対位置（整数）が、求める相対位置の第１の候補となる。Ｓ５では、太線幅値Ｗｉが太線論理幅値Ｗ１と等しいかどうかを判定する。太線論理幅値Ｗ１と等しい場合は相対位置テーブル格納Ｓ６に処理を移す。Ｓ７では、取得した太線幅値Ｗｉが大線論理幅値Ｗ１より大きいかどうかを判定する。太線論理幅値Ｗ１より大きい場合は太線幅延長方向第２候補相対位置検索・テーブル格納Ｓ８に処理を移す。このＳ８の処理の詳細については後述する。
【００３１】
太線幅値Ｗｉが太線論理幅値Ｗ１より小さい場合は、太線幅短縮方向第２候補相対位置検索・テーブル格納９に処理を移す。このＳ９の処理の詳細については後述する。
【００３２】
ｊ値を更新しながら、Ｓ２からＳ１０の処理を、全傾きに対して順次行うことで所定の幅の１つに対しての太線相対位置テーブルの作成が終了する。（Ｓ１０）
さらにｉ値を更新しながら、以上の処理を全ての幅値に対して順次行うことで太線幅対位置テーブル作成が完了することになる（Ｓ１１）。
【００３３】
次に、図４、図５で、図３のＳ８の太線幅延長方向第２候補相対位置検索・テーブル格納処理について、すなわち、図３のＳ４で算出した太線論理値幅Ｗ１と太線幅延長方向第２候補の相対位置から算出した太線第２論理値幅Ｗ２との比較について説明する。
【００３４】
図４は、太線幅延長方向の第２候補相対位置の検索およびテーブル値の格納の例を説明するための図である。ここに、「延長方向」とは、太線幅を太らせる方向を意味する。
【００３５】
図５は、太線幅延長方向第２候補相対位置検索・テーブル格納処理のフローを表している。まず、Ｓ１２では、取得した太線幅値Ｗｉが奇数かどうかを判定する。奇数個のドットの幅に相当する太線幅の場合、太線４頂点で定まる長方形の短辺直線上には、あるドットを中心としてその両側（左右）に同一個数のドットが配置されるのに対し、偶数個のドット幅の場合には中心ドットの左右のドット数が１個だけ異なる。したがって、偶数ドット幅の場合と奇数ドット幅の場合で処理を異ならせている。すなわち、中心ドットの左右が非対称となる場合には中ドットから左右のいずれが長くなるかを統一するようにしている。図の例では左側が長くなるようにしている。
【００３６】
太線幅値Ｗｉが奇数の場合は、点Ｐｂ（左側）を短辺の理想線ＬＮ上で外側（中心と逆方向）に１ドット分移動した点Ｐｂ’の相対位置（実数値）を算出する（Ｓ１３）。点Ｐａ’の相対位置としては相対位置Ｐａをそのまま使用する。
【００３７】
太線幅値Ｗｉが偶数の場合は、点Ｐａ（右側）を上記理想線ＬＮ上で外側に１ドット分移動した点Ｐａ’の相対位置（実数値）を算出する（Ｓ１４）。点Ｐｂ’の相対位置としては点Ｐｂの相対位置をそのまま使用する。続くＳ１５では、点Ｐａ’とＰｂ’の相対位置をそれぞれの直近の座標点Ｐ１’，Ｐ２’の相対位置（整数値）に置き換え、これらの点の座標値から太線論理幅値Ｗ２（実数値）を算出する。Ｓ１６では、太線幅値Ｗｉと太線論理幅値Ｗ１の差を、太線幅値Ｗｉと太線論理幅値Ｗ２の差と比較する。太線幅値Ｗｉと太線論理幅値Ｗ１の差より太線幅値Ｗｉと太線論理幅値Ｗ２の差の方が大きい場合は、Ｐ１’とＰ２’の相対位置を太線相対位置テーブル値として格納する（Ｓ１７）。太線幅値Ｗｉと大線論理幅値Ｗ１の差より太線幅値Ｗｉと太線論理幅値Ｗ２の差の方が大きいか等しい場合はＰ１とＰ２の相対位置を太線相対位置テーブル値として格納する（Ｓ１８）。
【００３８】
図４の例では、直線の傾きから求まる長方形短辺の直線ＬＮの傾きと太線幅値Ｗｉ＝８に基づいて、点Ｐａ，Ｐｂの相対位置が求まる（図４（ａ）。ただし、点Ｐａ，Ｐｂは座標点（格子点）上に位置するとは限らないので、直近の座標点Ｐ１，Ｐ２を求める（図４（ｂ））。このＰ１，Ｐ２間の論理幅値Ｗ１を算出すると、Ｗ１≒７．６１となる。この値はＷｉ＝８より小さいので、さらに、理想線ＬＮ上で１ドット増加した位置、すなわち位置Ｐａ’の直近の座標点Ｐ１’を求める。座標点Ｐ２はそのまま座標点Ｐ２’とする。点Ｐ１’、Ｐ２’間の論理幅値Ｗ２は、Ｗ２≒８．９４となる。Ｗ１とＷ２とを比べて、Ｗ１の方がＷｉに近いので、座標点Ｐ１，Ｐ２を、求める２頂点の座標とし、それらの相対位置をテーブル値として採用する。
【００３９】
図６は、太線幅短縮方向の第２候補相対位置の検索およびテーブル値の格納の例を説明するための図である。ここに、「短縮方向」とは、太線幅を細らせる方向を意味する。
【００４０】
図３のＳ９の太線幅短縮方向第２候補相対位置検索・テーブル格納処理について、即ち、図３のＳ４で算出した論理値幅Ｗ１と太線幅短縮方向第２候補の相対位置から算出した太線第２論理幅値Ｗ２との比較について説明する。
【００４１】
図７は太線幅短縮方向第２候補相対位置検索・テーブル格納処理のフローを表している。まず、Ｓ１９では、取得した太線幅値Ｗｉが奇数かどうかを判定する。太線幅値Ｗｉが奇数の場合は点Ｐａ（右）を理想線ＬＮ上で中心側に１ドット移動したＰａ’の相対位置（実数値）を算出する（Ｓ２０）。Ｐｂ’の相対位置としてはＰｂの相対位置をそのまま使用する。太線幅値Ｗｉが偶数の場合は、Ｐｂ（左側）を理想線ＬＮ上で中心側に１ドット移動したＰｂ’の相対位置（実数値）を算出する（Ｓ２１）。Ｐａ’の相対位置としてはＰａの相対位置をそのまま使用する。続くＳ２２では、点Ｐａ’とＰｂ’を直近の座標点Ｐ１’，Ｐ２’の座標（整数値）に置き換え、Ｐ１’、Ｐ２’から太線論理幅値Ｗ２を算出する。Ｓ２３では、太線幅値Ｗｉと太線論理幅値Ｗ１の差を、太線幅値Ｗｉと太線論理幅値Ｗ２の差と比較する。太線幅値Ｗｉと太線論理幅値Ｗ１の差が太線幅値Ｗｉと太線論理幅値Ｗ２の差より小さい場合は、Ｐ１’とＰ２’の相対位置を太線相対位置テーブル値として格納する（Ｓ２４）。そうでない場合は、Ｐ１とＰ２の相対位置を太線相対位置テーブル値として格納する（Ｓ２５）。
【００４２】
図６の例では、太線幅値Ｗｉ＝７に対して、論理幅値Ｗ１≒７．２１となり、これはＷ１より大きいので、１ドット分内側に移動した点Ｐａ’の直近の座標点Ｐ１’を求める。Ｐ２’はＰ２と同じである。そこで、Ｐ１’、Ｐ２’間の論理幅値Ｗ２は、Ｗ２≒６．３２と得られる。その結果、論理幅値Ｗ１の方がＷｉに近いので、Ｐ１とＰ２の相対位置がテーブル値として採用される。
【００４３】
次に、図８は太線相対位置テーブル作成処理で作成された太線相対位置テーブルＴＢＬ１の具体的な構成例を示している。
【００４４】
（太線頂点座標４点取得〉
まず、太線の角（かど）点、即ち太線の輪郭を構成する長方形の頂点の４点の座標を決定する方法を説明する。
【００４５】
図１０は、上述のようにして作成された太線相対位置テーブルＴＢＬ１を用いて太線頂点座標４点を取得する処理フローの概要を示している。まずＳ６９において、太線の中心線上の開始座標点ＰＳの座標値を取得する。次にＳ７０において、太線の中心線の傾きＡを収得する。さらにＳ７１において、太線の中心線の高さＬを取得する、
ついで、Ｓ７２では、開始座標点ＰＳのＹ座標と高さＬから太線の中心線上の終了座標点ＰＥのＹ座標値ＰＥｙを算出する。次にＳ７３では、開始座標点ＰＳと終了座標点ＰＥのＹ座標値ＰＥｙと傾きＡから、終了座標点ＰＥのＸ座標値ＰＥｘを算出する。ここに、ＰＥｘ，ＰＥｙはそれぞれ整数値である。Ｓ７４では、開始座標点ＰＳの座標値と終了座標点ＰＥの座標値から太線相対位置テーブル用の角度ＡＴを次式で算出する。ここに、傾きＡが整数型の変数であるのに対して、角度ＡＴは実数型の変数である。
【００４６】
ＡＴ＝（ＰＥｘ−ＰＳｘ）／（ＰＥｙ−ＰＳｙ）    …（１）
ここに、ＰＳｘは開始座標点のｘ座標値、ＰＳｙは開始座標点のｙ座標値である。
【００４７】
そこで、以下では、角度ＡＴの範囲に応じて処理内容を切り替える。即ち、図９に示すように、直線の取りうる範囲を４５゜間隔で４つの領域に分割し、角度ＡＴがどの領域に属するかにより、処理内容を切り替える。これは、太線相対位置テーブルＴＢＬ１の数値を０〜４５゜の範囲のみ用意したことに対応する。即ち、テーブルＴＢＬ１の太線相対位置の数値は絶対値で用意しておき、直線の属する角度範囲に応じてその絶対値に付加すべき符号を決定する、また、ｘ値とｙ値とを置換して用いる。
【００４８】
Ｓ７５では、算出した傾き角度ＡＴが第１の範囲内にある（ＡＴ＜−１．０）かどうかを判定する。ある場合は、太線頂点座標を求める処理７６に処理を移す。
【００４９】
Ｓ７７では、算出した傾き角度ＡＴが第２の範囲内にある（−１．０≦ＡＴ＜０．０）かどうかを判定する。ある場合は太線頂点座標を求める処理７８に処理を移す。
【００５０】
Ｓ７９では、算出した傾き角度ＡＴが第３の範囲内にある（０．０≦ＡＴ＜１．０）かどうかを判定する。ある場合は太線頂点座標を求める処理８０に処理を移す。
【００５１】
Ｓ８１では、算出した傾き角度ＡＴが第４の範囲内にある（１．０≦ＡＴ）かどうかを判定する。ある場合は太線頂点座標を求める処理８２に処理を移す。
図１１は、図１０のＳ７６の詳細処理、即ち、傾き角度ＡＴが第１の範囲内（ＡＴ＜−１．０）にある場合の太線頂点座標点を求める処理フローの概要を示している。
【００５２】
まず、Ｓ８３では、太線相対位置テーブル用の角度ＡＴから太線相対位置テーブルの傾き番号Ｋ（この例では０〜６４の整数のいずれか）を算出する。この算出の仕方は、角度ＡＴの範囲により異なる。ＡＴ＜−１．０の範囲では、次式により角度番号Ｋを算出する。
【００５３】
Ｋ＝６４／（ＡＴ＊（−１））  …（２）
算出値が小数となった場合には、四捨五入、切り捨て等により、整数化する。このＫの値および太線の幅に基づいて太線相対位置テーブルＴＢＬ１を参照することにより、太線頂点の中心座標点からの変位であるテーブル値ＴＸ１、ＴＹ１を求める。
【００５４】
Ｓ８４では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ１、ＴＹ１から太線頂点Ｐ１の座標値を算出する。Ｓ８５では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ２の座標値を算出する。Ｓ８６では、中心座標点ＰＥの座標値と太線相対位置テーブル値ＴＸ１，ＴＹ１から太線頂点Ｐ３の座標値を算出する。Ｓ８７では、中心座標点ＰＥの座標値と太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ４の座標値を算出する。これらの各中途線頂点の座標値の算出時には、中心座標点の座標値に対してテーブル値が加算される。その加算の際のテーブル値の符号は、角度ＡＴの範囲により異なり、各太線各座標点Ｐ１，Ｐ２，Ｐ３，Ｐ４の座標値は次のように表される。
【００５５】
[Ｐ１ｘ、Ｐ１ｙ]＝[（ＰＳｘ＋ＴＸ１），（ＰＳｙ＋ＴＹ１）]  …（３）
[Ｐ２ｘ、Ｐ２ｙ]＝[（ＰＳｘ−ＴＸ２），（ＰＳｙ−ＴＹ２）]  …（４）
[Ｐ３ｘ、Ｐ３ｙ]＝[（ＰＥｘ＋ＴＸ１），（ＰＥｙ＋ＴＹ１）]  …（５）
[Ｐ４ｘ、Ｐ４ｙ]＝[（ＰＥｘ−ＴＸ２），（ＰＥｙ−ＴＹ２）]  …（６）
図１２は、図１０のＳ７８の詳細処理、即ち、傾き角度ＡＴが第２の範囲内（−１．０≦ＡＴ＜０．Ｏ）にある場合の太線頂点の４座標点を求める処理フローの概要を示している。
【００５６】
まず、Ｓ８８では、太線相対位置テーブル用の角度ＡＴから太線相対位置テーブルの角度番号Ｋを算出する。この範囲では、次式により角度番号Ｋを算出する。
【００５７】
Ｋ＝６４＊（ＡＴ＊（−１））  …（７）
Ｓ８９では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ１，ＴＹ１から太線頂点Ｐ１の座標値を算出する。Ｓ９０では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ２の座標値を算出する。Ｓ９１では、中心座標点ＰＥの座標値と太線相対位置テーブル値ＴＸ１、ＴＹ１から太線頂点Ｐ３の座標値を算出する。Ｓ９２では、中心座標点ＰＥと太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ４の座標値を算出する。
【００５８】
この角度ＡＴの範囲では、各太線各座標点Ｐ１，Ｐ２，Ｐ３，Ｐ４の座標値は次のように表される。この際、ｘ値とｙ値とが置換され、中心座標点のｘ座標値にはＴＹ値が加算され、ｙ座標値にはＴＸ値が加算されることに留意されたい。
【００５９】
[Ｐ１ｘ、Ｐ１ｙ]＝[（ＰＳｘ＋ＴＹ１），（ＰＳｙ＋ＴＸ１）]  …（８）
[Ｐ２ｘ、Ｐ２ｙ]＝[（ＰＳｘ−ＴＹ２），（ＰＳｙ−ＴＸ２）]  …（９）
[Ｐ３ｘ、Ｐ３ｙ]＝[（ＰＥｘ＋ＴＹ１），（ＰＥｙ＋ＴＸ１）]  …（10）
[Ｐ４ｘ、Ｐ４ｙ]＝[（ＰＥｘ−ＴＹ２），（ＰＥｙ−ＴＸ２）]  …（11）
図１３は、図１０のＳ８０の詳細処理、即ち、傾き角度ＡＴが第３の範囲内（０．０≦ＡＴ＜１．０）にある場合の太線頂点座標を求める処理フローの概要を示している。
【００６０】
まず、Ｓ９３では、太線相対位置テーブル用の角度ＡＴから太線相対位置テーブルの角度番号Ｋを算出する。この範囲では、次式により角度番号Ｋを算出する。
【００６１】
Ｋ＝６４＊ＡＴ  …（12）
Ｓ９４では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ１，ＴＹ１から太線頂点Ｐ１の座標値を算出する。Ｓ９５では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ２の座標値を算出する。Ｓ９６では、中心座標点ＰＥの座標値と太線相対位置テーブル値ＴＸ１、ＴＹ１から太線頂点Ｐ３の座標値を算出する。Ｓ９７では、中心座標点ＰＥの座標値と太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ４の座標値を算出する。
【００６２】
この角度ＡＴの範囲では、各太線各座標点Ｐ１，Ｐ２，Ｐ３，Ｐ４の座標値は次のように表される。この場合も、中心座標点のｘ座標値にはＴＹ値が加算され、ｙ座標値にはＴＸ値が加算される。
【００６３】
[Ｐ１ｘ、Ｐ１ｙ]＝[（ＰＳｘ−ＴＹ１），（ＰＳｙ＋ＴＸ１）]  …（13）
[Ｐ２ｘ、Ｐ２ｙ]＝[（ＰＳｘ＋ＴＹ２），（ＰＳｙ−ＴＸ２）]  …（14）
[Ｐ３ｘ、Ｐ３ｙ]＝[（ＰＥｘ−ＴＹ１），（ＰＥｙ＋ＴＸ１）]  …（15）
[Ｐ４ｘ、Ｐ４ｙ]＝[（ＰＥｘ＋ＴＹ２），（ＰＥｙ−ＴＸ２）]  …（16）
図１４は、図１０のＳ８２の詳細処理、即ち、傾き角度ＡＴが第４の範囲内（１．０≦ＡＴ）にある場合の太線頂点座標を求める処理フローの概要を示している。
【００６４】
まず、Ｓ９８では、太線相対位置テーブル様の角度ＡＴから太線相対位置テーブルＴＢＬ１の角度番号Ｋを算出する。この範囲では、次式により角度番号Ｋを算出する。
【００６５】
Ｋ＝６４／ＡＴ  …（17）
Ｓ９９では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ１，ＴＹ１から太線頂座標点Ｐ１の座標値を算出する。Ｓ１００では、中心座標点ＰＳの座標値と太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ２の座標値を算出する。Ｓ１０１では、中心座標点ＰＥの座標値と太線相対位置テーブル値ＴＸ１，ＴＹ１から太線頂点Ｐ３の座標値を算出する。Ｓ１０２では、中心座標点ＰＥの座標値と太線相対位置テーブル値ＴＸ２，ＴＹ２から太線頂点Ｐ４の座標値を算出する。
【００６６】
この角度ＡＴの範囲では、各太線各座標点Ｐ１，Ｐ２，Ｐ３，Ｐ４の座標値は次のように表される。
【００６７】
[Ｐ１ｘ、Ｐ１ｙ]＝[（ＰＳｘ−ＴＸ１），（ＰＳｙ＋ＴＹ１）]  …（18）
[Ｐ２ｘ、Ｐ２ｙ]＝[（ＰＳｘ＋ＴＸ２），（ＰＳｙ−ＴＹ２）]  …（19）
[Ｐ３ｘ、Ｐ３ｙ]＝[（ＰＥｘ−ＴＸ１），（ＰＥｙ＋ＴＹ１）]  …（20）
[Ｐ４ｘ、Ｐ４ｙ]＝[（ＰＥｘ＋ＴＸ２），（ＰＥｙ−ＴＹ２）]  …（21）
ここで、具体的な例を考える。太線中心始点ＰＳの座標を（２０，２０）、太線中心終点ＰＥの座標を（１００，１００）、太さＷｉを１０ドットとしたとき、この太線の角点Ｐ１，Ｐ２，Ｐ３，Ｐ４の各座標は、次のようにして求められる。
【００６８】
まず、テーブル用の太線の角度ＡＴと、これに対応する角度番号Ｋを求める。
【００６９】
ＡＴ＝（ＰＥｘ−ＰＳｘ）／（ＰＥｙ−ＰＳｙ）
＝（１００−２０）／（１００−２０）
＝１
この角度ＡＴは前述の第４の範囲内にあるので、Ｋの値は、式（17）から
Ｋ＝６４／ＡＴ
＝６４／１
＝６４
となる。このＫの値と太さＷｉ＝１０ドットとを用いて、太線相対位置テーブルＴＢＬ１を参照すると、ＴＸ１＝３，ＴＹ１＝３，ＴＸ２＝３，ＴＹ２＝３が得られる。
【００７０】
そこで、これらの数値を上記式（18）〜（21）から
[Ｐ１ｘ、Ｐ１ｙ]＝[（ＰＳｘ−ＴＸ１），（ＰＳｙ＋ＴＹ１）]
＝[（２０−３），（２０＋３）]＝[１７，２３]
[Ｐ２ｘ、Ｐ２ｙ]＝[（ＰＳｘ＋ＴＸ２），（ＰＳｙ−ＴＹ２）]
＝[（２０＋３），（２０−３）]＝[２３，１７]
[Ｐ３ｘ、Ｐ３ｙ]＝[（ＰＥｘ−ＴＸ１），（ＰＥｙ＋ＴＹ１）]
＝[（１００−３），（１００＋３）]＝[９７，１０３]
[Ｐ４ｘ、Ｐ４ｙ]＝[（ＰＥｘ＋ＴＸ２），（ＰＥｙ−ＴＹ２）]
＝[（１００＋３），（１００−３）]＝[１０３，９７]
したがって、Ｐ１＝[１７，２３]、Ｐ２＝[２３，１７]、Ｐ３＝[９７，１０３]、Ｐ４＝[１０３，９７]となる。
【００７１】
（太線作画〉
図１６は、太線相対位置テーブルＴＢＬ１を用いて太線を作画する処理フローの概要を示している。以下の説明する中で太線作画が垂直または水平なるような作画は除くこととする。なお、ここで「作画」とは、本実施の形態では、インクジェット記録装置等における複数のノズルを有するヘッドの１回の走査で記録される１バンド分のバッファメモリへの画素データの書き込みのことをいうものとする。勿論、これとは異なり、１行の「作画」が直接１行の印字を行うものであってもよい。
【００７２】
まず、Ｓ２７では、太線頂点Ｐ１とＰ２の座標から左傾きＡＬを算出する。Ｓ２９では、太線頂点Ｐ１とＰ３の座標から右傾きＡＲを算出する。Ｓ３０では、ａ領域内を作画中であるかどうかを判定する。ａ領域内を作画中であれば太線頂点Ｐ１の座標と左傾きＡＬ、右傾きＡＲを用いてａ領域の作画Ｓ３１の処理に移る。Ｓ３２では、ｂ領域内を作画中であるかどうかを判定する。ｂ領域内を作画中であれば太線頂点Ｐ２の座標と左傾きＡＬ、太線頂点Ｐ１の座標と右傾きＡＲを用いてｂ領域の作画Ｓ３３の処理に移る。ｃ領域内を作画中であれば太線頂点Ｐ２の座標と右傾きＡＲ、太線頂点Ｐ３の座標と左傾きＡＬを用いて、ｃ領域の作画Ｓ３４の処理に移る。
【００７３】
以上の処理を、全領域に関して順次行うことで太線を作画する処理が終了することになる。
【００７４】
図１７は、太線を示す長方形のａ領域内を作画する処理フローの概要を示している。Ｓ３６では、傾き累計Ａ１に左傾きＡＬを加算する。ＡＬの値は、Ｘ値を１ドット分更新したときのＹ値の左方向への変化量に相当する。傾き累計Ａ１の初期値は０である。Ｓ３７では、傾き累計Ａ２に右傾きＡＲを加算する。ＡＲの値は、Ｘ値を１ドット分更新したときのＹ値の右方向への変化量に相当する。傾き累計Ａ２の初期値０である。Ｓ３８では、太線頂点Ｐ１の座標と傾き累計Ａ１を用いて行作画始点ＹＳを算出する。Ｓ３９では、太線頂点Ｐ１の座標と傾き累計Ａ２を用いて行作画終点ＹＥを算出する。
【００７５】
図１８に示すように、このようにして、着目する行の作画始点ＹＳと作画終点Ｙの座標値が得られる。
【００７６】
Ｓ４０では、作画始点ＹＳと作画終点ＹＥを用いて、ａ領域内の１ドット幅の横線を作画する。Ｓ４１では、ａ領域最終行の作画を行ったかどうかを判定している。ａ領域最終行の作画を行っていれば、傾き累計Ａ１を０クリアする（Ｓ４２）。Ｓ４３では、ｂ領域がないかどうかを判定している。ｂ領域がなければ傾き累計Ａ２を０クリアする。
【００７７】
図１９は、太線ｂ領域内を作画する処理フローの概要を示している。Ｓ４５では、傾き累計Ａ１に左傾きＡＬを加算する。Ｓ４６では、傾き累計Ａ２に右傾きＡＲを加算する。Ｓ４７では、太線頂点Ｐ２の座標と傾き累計Ａ１を用いて行作画始点ＹＳを算出する。Ｓ４８では、大線頂点Ｐ１の座標と傾き累計Ａ２を用いて行作画終点ＹＥを算出する。Ｓ４９では、作画始点ＹＳと作画終点ＹＥを用いてａ領域内の１ドット幅の横線を作画する。Ｓ５０では、ｂ領域最終行の作画を行ったかどうかを判定している。ｂ領域最終行の作画を行っていれば傾き累計Ａ２を０クリアする（Ｓ５１）。
【００７８】
図２０は太線ｃ領域内を作画する処理フローの概要を示している。Ｓ５２では、傾き累計Ａ１に左傾きＡＬを加算する。Ｓ５３では、傾き累計Ａ２に右傾きＡＲを加算する。Ｓ５４では、太線頂点Ｐ２の座標と傾き累計Ａ１を用いて行作画始点ＹＳを算出する。Ｓ５５では、太線頂点Ｐ３の座標と傾き累計Ａ２を用いて行作画終点ＹＥを算出する。Ｓ５６では、作画始点ＹＳと作画終点ＹＥを用いてａ領域内の１ドット幅の横線を作画する。
【００７９】
（太線端部の円形相対位置テーブル）
太線の終端形状が円形である場合、終端部に円形を作画する。本発明では、この際にも実数演算を行うことなくテーブル参照で作画処理が行えるように、予め円形相対位置テーブルを作成しておく。
【００８０】
図２２に円形相対位置テーブルＴＢＬ２の構成例を示す。この円形相対位置テーブルＴＢＬ２は、図２４に示すように、予め想定された太線端部の円形の直径Ｗｉの各々に対して、その中心線上の異なるドット位置ごとに中心線に直交する弦ＣＧを想定し、その弦の中心点から左右端までの適正な長さＣＬ、ＣＲ（整数値）を予め設定したものである。以下の説明中、直径値Ｗｉは３から３１までの整数値を取ることにする。
【００８１】
（太線端部の円形相対位置テーブル作成）
図２１では太線端部の円形相対位置テーブルＴＢＬ２を作成する処理フローの概要を示している。
【００８２】
図２１、Ｓ５７において、まず最小の直径値Ｗｉを取得する。Ｗの添字ｉは、テーブル作成処理における直径値の序数を表す変数であり、その直径がｉ番目の直径であることを意味する。Ｓ５８では、円周上の１点に、円形相対位置を算出するための始点ＣＳを設定する。Ｓ５９では、始点ＣＳと中心Ｃ１を結ぶ直線と円周との交点（始点値ＣＳと反対側の点〉に終点ＣＥを設定する。Ｓ６０では、始点ＣＳから終点ＣＥの方向へ１ドット移動し、このときの位置の弦の長さＣＧを算出する。Ｓ６１では、算出した弦の長さＣＧに基づいて、中心線上のドットから弦の左右端までの距離である左弦相対位置ＣＬｉ（整数値）と右弦相対位置ＣＲｉ（整数値）を算出する。具体的には、実数値であるＣＧの小数点を四捨五入等により整数化し、その整数値Ｍが奇数であれば、（Ｍ−１）／２をそれぞれ、左右の距離をＣＬｉとＣＲｉとする。整数値Ｍが偶数であれば、Ｍ／２とＭ／２−１とをそれぞれＣＬｉとＣＲｉとする。弦の長さＣＧを直径値Ｗｉまで順次増加させていくことで（Ｓ６２）、当該直径の円に対するすべての円形相対位置テーブル値が得られる。さらに以上の処理を、全直径値に対して順次繰り返すことで（Ｓ６３）、円形相対位置テーブル作成が完了することになる。
【００８３】
なお、図２２の例では、位置１〜３１まですべてのデータを有しているが、最大直径の半分の位置１６までのデータのみをテーブルに保持して、各直径の中心で折り返して参照するようにしてもよい。
【００８４】
（太線端部の円形作画）
図２３は、以上のようにして作成した円形相対位置テーブルＴＢＬ２を用いて太線端部を作画する処理フローの概要を示している。以下の説明する中でも、直径値Ｗｉは３から３１までの整数値を取ることにする。
【００８５】
図２３で、まずＳ６４において円の中心座標Ｃ１を取得する。Ｓ６５において、円の直径値Ｗを取得する。Ｓ６６では、中心座標値Ｃ１と直径値Ｗから、図２５に示すように、作画開始中心座標点Ｃ２の座標値を算出する。図２５の例では、中心座標Ｃ１（２０，２０）、直径値Ｗ＝１０ドットの場合の例を示している。Ｓ６７では、作画開始中心座標点Ｃ２の座標値と太線端部の円形相対位置テーブルＴＢＬ２を参照して順次円周上の点の座標を算出し、作画する。以上の処理を、全領域に対して順次行うことで太線終端の円形を作画する処理が終了することになる。
【００８６】
以上、本発明の具体的な実施の形態について説明したが、本発明の要旨を逸脱することなく、種々の変形・変更が可能である。例えば、テーブル値の「左」および「右」は入れ替えてもよい。また、角度番号Ｋの範囲を０〜６４としたが、他の数値範囲であってもよい。
【００８７】
【発明の効果】
以上説明してきたように、本発明によれば従来のコスト的な制約から安価なＣＰＵが使われていることが多いプロッタなどの図形作成装置において、実数型演算を行っているアプリケーションの速度低下の問題を解決し、作画の精度を下げることなく処理の高速化を実現することができる。
【００８８】
【図面の簡単な説明】
【図１】本発明の図形作成装置が適用されたプロッタの構成を示すブロック図である。
【図２】図１のプロッタの動作を説明するためのフローチャートである。
【図３】本実施の形態において太線相対位置テーブルを作成する処理フローの概要を示すフローチャートである。
【図４】図３のステップＳ８の動作を説明するための図である。
【図５】図３のステップＳ８の処理の詳細を示すフローチャートである。
【図６】図３のステップＳ９の動作を説明するための図である。
【図７】図３のステップＳ９の処理の詳細を示すフローチャートである。
【図８】本実施形態における太線相対位置テーブルＴＢＬ１の具体的な構成例を示す図である。
【図９】直線の取りうる範囲を４５゜間隔で分割したときの、角度ＡＴの４つの領域を示す図である。
【図１０】太線相対位置テーブルＴＢＬ１を用いて太線頂点座標４点を取得する処理フローの概要を示す図である。
【図１１】図１０のステップＳ７６の処理の詳細を示すフローチャートである。
【図１２】図１０のステップＳ７８の処理の詳細を示すフローチャートである。
【図１３】図１０のステップＳ８０の処理の詳細を示すフローチャートである。
【図１４】図１０のステップＳ８２の処理の詳細を示すフローチャートである。
【図１５】始点ＰＳで終点ＰＥで定義される直線を、太線を定める長方形の４頂点Ｐ１，Ｐ２，Ｐ３，Ｐ４を有する太線に変換する場合を説明するための図である。
【図１６】太線相対位置テーブルＴＢＬ１を用いて太線を作画する処理の概要を示すフローチャートである。
【図１７】図１５のステップＳ３１の処理の概要を示すフローチャートである。
【図１８】図１６の処理において着目する行の作画始点ＹＳと作画終点Ｙの座標値を説明するための図である。
【図１９】図１５のステップＳ３３の処理の概要を示すフローチャートである。
【図２０】図１５のステップＳ３４の処理の概要を示すフローチャートである。
【図２１】本発明による他の実施の形態における円形相対位置テーブルの作成処理の概要を示すフローチャートである。
【図２２】図２１の円形相対位置テーブルＴＢＬ２の構成例を示す図である。
【図２３】円形相対位置テーブルＴＢＬ２を用いて太線端部を作画する処理の概要を示すフローチャートである。
【図２４】図２３の処理を説明するための図である。
【図２５】図２３の処理の具体例を説明するための図である。
【符号の説明】
ＴＢＬ１…太線相対位置テーブル、ＴＢＬ２…円相対位置テーブル、１…データ通信部、２…入力バッファ、３…データ解析部（ＣＰＵ）、４…入力検知部、５…入力部、６…記憶部、７…表示制御部、８…表示部、９…印字制御部、１０…印字部（プリントエンジン）。
【図１】
0003988965.tif 000002
【図２】
0003988965.tif 000003
【図３】
0003988965.tif 000004
【図４】
0003988965.tif 000005
【図５】
0003988965.tif 000006
【図６】
0003988965.tif 000007
【図７】
0003988965.tif 000008
【図８】
0003988965.tif 000009
【図９】
0003988965.tif 000010
【図１０】
0003988965.tif 000011
【図１１】
0003988965.tif 000012
【図１２】
0003988965.tif 000013
【図１３】
0003988965.tif 000014
【図１４】
0003988965.tif 000015
【図１５】
0003988965.tif 000016
【図１６】
0003988965.tif 000017
【図１７】
0003988965.tif 000018
【図１８】
0003988965.tif 000019
【図１９】
0003988965.tif 000020
【図２０】
0003988965.tif 000021
【図２１】
0003988965.tif 000022
【図２２】
0003988965.tif 000023
【図２３】
0003988965.tif 000024
【図２４】
0003988965.tif 000025
【図２５】
0003988965.tif 000026