(57)【要約】【課題】辺の長さが２未満の辺をもつ細長い三角形や四角形を描画する場合、先端の近づくほど、隣接したセルに配置されるドットが減りため、先端部分にはトナーが配置されず、画質が良くないという課題が存在する。【解決手段】上位装置から第一の描画命令を受け取る受信手段（１３１）、前記受信手段（１３１）で受け取った第一の描画命令を解析する解析手段（１３２）、前記解析手段（１３２）の結果に応じ、前記第一の描画命令の図形を変形する編集手段（１３３）、前記変形された図形を下位の装置で処理可能な第二の描画命令に置き換える生成手段（１３４）を持つ。【選択図】図９
2017222051.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から第一の描画命令を受け取る受信手段（１３１）、
前記受信手段（１３１）で受け取った第一の描画命令を解析する解析手段（１３２）、
前記解析手段（１３２）の結果に応じ、前記第一の描画命令の図形を変形する編集手段（１３３）、
前記変形された図形を下位の装置で処理可能な第二の描画命令に置き換える生成手段（１３４）を持つ画像処理装置であり、
前記解析手段（１３２）にて、前記第一の描画命令が三角形描画でありかつ予め決められた長さ未満の辺を持つと解析された場合（Ｓ９２０）、前記三角形を構成する三点の座標から得られる複数の第一のパラメータで前記三角形を分類し（Ｓ９３０、Ｓ９４０、Ｓ９５０）、
前記変形手段（１３３）にて、前記分類に応じて前記三角形を構成する点の何れか一つを移動（Ｓ９７０）し、かつ前記分類に応じ前記三角形に一つの構成点を追加（Ｓ９９０）することで、前記三角形よりも領域が広い四角形を作成し、
前記生成手段（１３４）にて、前記四角形を前記第二の描画命令に置き換えることを特徴とする画像処理装置。
【請求項２】
第一のパラメータは、前記予め決められた長さ未満の辺の種類、前記予め決められた長さ未満の辺のベクトル、前記予め決められた長さ未満の辺以外の辺のベクトルであることを特徴する請求項１に記載の画像処理装置。
【請求項３】
上位装置から第一の描画命令を受け取る受信手段（１３１）、
前記受信手段（１３１）で受け取った第一の描画命令を解析する解析手段（１３２）、
前記解析手段（１３２）の結果に応じ、前記第一の描画命令の図形を変形する編集手段（１３３）、
前記変形された図形を下位の装置で処理可能な第二の描画命令に置き換える生成手段（１３４）を持つ画像処理装置であり、
前記解析手段（１３２）にて、前記第一の描画命令が四角形描画でありかつ第一の辺と前記第一の辺と対辺をなす第二の辺が共に予め決められた長さ未満の辺を持つ第一の四角形と解析された場合（Ｓ１４２０）、前記第一四角形を構成する四点の座標から得られる複数の第二のパラメータで前記四角形を分類し（Ｓ１４３０、Ｓ１４４０、Ｓ１４５０）、
前記変形手段（１３３）にて、前記分類に応じて前記第一四角形を構成する前記第一の辺の端点のいずれか一方を移動（Ｓ１３７０）し、かつ前記分類に応じて前記第一の四角形を構成する前記第二の辺についても端点の何れか一方を移動させ（Ｓ１３７０）することで、前記第一の四角形よりも領域の広い第二の四角形を作成し、
前記生成手段（１３４）にて、前記第二の四角形を前記第二の描画命令に置き換えることを特徴とする画像処理装置。
【請求項４】
第二のパラメータは、前記予め決められた長さ未満の辺の種類、前記予め決められた長さ未満の辺のベクトル、前記第一の四角形の外接矩形の形状、前記予め決められた長さ未満の辺が前記外接矩形の左右どちら側に配置されているかの情報であることを特徴とする請求項３に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法に関し、パーソナルコンピューター、印刷装置などの情報処理システムにおける画像処理方法に関する。
【背景技術】
【０００２】
コンピューターを用いた図形の表見方法として、複数の座標点列情報で表現されるパスデータを用い、このパスデータか囲まれた閉領域に対する塗りつぶし描画を行う描画手法がある。
【０００３】
この図形の描画手法を用いると、縮小処理などによって領域が消滅した場合に、元の図形の形状と異なる形状で描画となることがある。
【０００４】
この課題を解決するために、特許文献１には、図形の端点を補正することで、元の図形の形状をなるべく変えることなく、領域の消失を防ぐ方法について開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−６６２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１では、縮小処理などにより元の図形が崩れる問題への対策として効果を発揮する。しかし、描画システムによっては、元の図形の形状に近づける描画を行っても、最終的に形成される描画結果は最適にならないケースが存在する。
【０００７】
例えば、トナーなどの部材を用いた電子写真印刷方式、先端が鋭角に尖った細長い図形の塗りつぶしを行う場合、先端に近い領域や非常に細い領域では、隣接したセルに配置されるドットが減り、トナーが近接するセルに配置されなくなる。このため、細長い線状の描画の場合、先端部が描画されなかたり中間部が途中で途切れた描画になってしまう課題がある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る画像処理装置は、
上位装置から第一の描画命令を受け取る受信手段（１３１）、前記受信手段（１３１）で受け取った第一の描画命令を解析する解析手段（１３２）、前記解析手段（１３２）の結果に応じ、前記第一の描画命令の図形を変形する編集手段（１３３）、前記変形された図形を下位の装置で処理可能な第二の描画命令に置き換える生成手段（１３４）を持ち、
前記解析手段（１３２）にて、前記第一の描画命令が三角形描画でありかつ予め決められた長さ未満の辺を持つと解析された場合（Ｓ９２０）、前記三角形を構成する三点の座標から得られる複数の第一のパラメータで前記三角形を分類し（Ｓ９３０、Ｓ９４０、Ｓ９５０）、前記変形手段（１３３）にて、前記分類に応じて前記三角形を構成する点の何れか一つを移動（Ｓ９７０）し、かつ前記分類に応じ前記三角形に一つの構成点を追加（Ｓ９９０）することで、前記三角形よりも領域が広い四角形を作成し、前記生成手段（１３４）にて、前記四角形を前記第二の描画命令に置き換えることを特徴とする。
【０００９】
また、上記の目的を達成するために、本発明に係る画像処理装置は、
上位装置から第一の描画命令を受け取る受信手段（１３１）、前記受信手段（１３１）で受け取った第一の描画命令を解析する解析手段（１３２）、前記解析手段（１３２）の結果に応じ、前記第一の描画命令の図形を変形する編集手段（１３３）、前記変形された図形を下位の装置で処理可能な第二の描画命令に置き換える生成手段（１３４）を持ち、
前記解析手段（１３２）にて、前記第一の描画命令が四角形描画でありかつ第一の辺と前記第一の辺と対辺をなす第二の辺が共に予め決められた長さ未満の辺を持つ第一の四角形と解析された場合（Ｓ１４２０）、前記第一四角形を構成する四点の座標から得られる複数の第二のパラメータで前記四角形を分類し（Ｓ１４３０、Ｓ１４４０、Ｓ１４５０）、前記変形手段（１３３）にて、前記分類に応じて前記第一四角形を構成する前記第一の辺の端点のいずれか一方を移動（Ｓ１３７０）し、かつ前記分類に応じて前記第一の四角形を構成する前記第二の辺についても端点の何れか一方を移動させ（Ｓ１３９０）することで、前記第一の四角形よりも領域の広い第二の四角形を作成し、前記生成手段（１３４）にて、前記第二の四角形を前記第二の描画命令に置き換えることを特徴とする。
【発明の効果】
【００１０】
本発明に係る画像処理装置によれば、先端が鋭角に尖った細長い図形の塗りつぶしや、細長い図形の塗りつぶし描画であっても、先端部や細い領域にドットを配置できるようになる。このため、先端部が描画されなかたり中間部が途中で途切れた描画になってしまう課題が解決され画質の向上に寄与する。
【図面の簡単な説明】
【００１１】
【図１】システム構成を示すブロック図
【図２】コンピューターのハードウェア構成を示すブロック図
【図３】プリンターのハードウェア構成を示すブロック図
【図４】コンピューターのソフトウェア構成を示すブロック図
【図５】描画図形とドットの配置の関係を示した図
【図６】ドライバー処理を示したフローチャート
【図７】描画命令解析部、印刷コマンド生成部の処理を示すフローチャート
【図８】三角形及び四角形の点の配置例を示した図である
【図９】三角形太らせ処理のフローチャート
【図１０】長さが２未満の辺を構成する点の説明図
【図１１】各辺のベクトルの分類を示した図
【図１２】三角形太らせテーブルの例
【図１３】三角形太らせ処理の例を説明する図
【図１４】四角形太らせ処理のフローチャート
【図１５】四角形太らせテーブルの例
【図１６】四角形太らせ処理の例を説明する図
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１３】
＜システム構成＞
図１は本発明のシステム構成を示すブロック図である。
【００１４】
この図を用いて本発明のシステム構成について説明する。
【００１５】
本発明はコンピューター等の情報処理機器（以下単にコンピューターと記載する）１００とプリンター等の印刷装置（以下単にプリンターと記載する）１０１で構成される。コンピューター１００とプリンター１０１は有線或いは無線通信などを利用する通信媒体１０２で直接或いは他の機器を介して間接的に接続され、双方向の通信が可能な状態で接続されているものする。
【００１６】
＜ハードウェア構成＞
次に、図２、図３を用いて、本発明で用いるコンピューター１００、プリンター１０１のハードウェア構成について説明する。
【００１７】
図２はコンピューター１００のハードウェア構成を示すブロック図である。
【００１８】
この図を用いて、コンピューター１００のハードウェア構成について説明する。
【００１９】
コンピューター１００はＣＰＵ１により制御される。ＣＰＵ１はＲＯＭ３に記憶された基本入出力システム（ＢＩＯＳ制御プログラム）や外部メモリ１１に記憶されたオペレーティングシステムや各種アプリケーションプログラムなどをＲＡＭ２にロードし、実行することが可能である。コンピューター１００にはユーザーからの入力を受けるキーボード９や処理の結果を画像としてユーザーに表示するためのディスプレイ１０など接続可能である。更に、他の情報機器と通信を行うためのＵＳＢやメモリーカード、有線・無線ネットワーク等の外部機器Ｉ／Ｆ８を備える。尚、本実施例で説明する処理はプログラムＲＯＭ３に格納されプログラムをＲＡＭ２上にロードしＣＰＵ１で実行することにより実現される。
【００２０】
図３はプリンター１０１のハードウェア構成を示すブロック図である。
【００２１】
この図を用いて、プリンター１０１のハードウェア構成について説明する。
【００２２】
プリンター１０１はＣＰＵ１２により制御される。ＣＰＵ１２はＲＯＭ１４に記憶された制御プログラムや外部メモリ２２に格納された各種プログラムをＲＡＭ１３にロードし、実行することが可能である。ＣＰＵ１２は制御プログラムの動作に基づいて入出力部１６を介して入力された印刷データ等を画像信号に変換し印刷部２０に出力することで印刷を行う。また、ＣＰＵ１２は制御プログラムの動作に基づいて入出力部１６を介して入力された各種応答要求に対して処理した結果を入出力部１６から出力する。尚、プリンター１０１に操作部２１を接続することで、ユーザーからの直接の入力を受け付けることも可能になる。尚、本実施例で説明する処理はプログラムＲＯＭ１４に格納されプログラムをＲＡＭ１３上にロードしＣＰＵ１２で実行することにより実現される。
【００２３】
＜ソフトウェア構成＞
次に図４を用いてコンピューター１００のソフトウェア構成について説明を行う。
【００２４】
図４はコンピューター１００のソフトウェア構成を示すブロック図である。
【００２５】
コンピューター１００は次のコンポーネント等で構成される。コンピューター１００のハードウェア及びソフトウェアを利用するための基本ソフトウェアであるＯＳ１１０。印刷を実行するためのアプリケーション１２０。ＯＳ１１０を介してアプリケーション１２０の印刷要求を受け取り、プリンター１０１が処理可能印刷コマンドに変換するプリンタードライバー１３０。
【００２６】
本発明のプリンタードライバー１３０は、ＯＳ１１０を介してアプリケーション１２０の印刷要求を受け取る描画命令受信部１３１。描画命令受信部１３１で受け取った描画命令の解析を行う描画命解析部１３２。本発明特有の領域太らせ処理を実施する領域太らせ処理部１３３。プリンター１０１が処理可能な印刷コマンドを生成する印刷コマンド生成部１３４。ＯＳ１１０を介して印刷コマンド生成部１３４が生成した印刷コマンドをプリンター１０１に送信する印刷コマンド送信部１３５。
【００２７】
＜本発明の概要＞
図５は描画図形とドットの配置の関係を示した図である。
【００２８】
この図を用いて本発明の概要について述べる。図５（ａ）は点ＡＢＣのパスデータで表現される三角形ＡＢＣを示した図である。この三角形ＡＢＣの辺ＢＣは長さ１であり、頂点Ａが鋭角になっている。
【００２９】
ここで、この実施例で扱う描画システムでのドット配置方法について述べる。各セルの上端のｘ方向のライン（以降スキャンと呼ぶ）と描画図形の左右両端の交差点を求め、これが整数以下の端数を持つ場合には座標切り上げを行い整数化し、左端と右端の座標に差がある場合に左端から右端の間のセルにドットを配置する。
【００３０】
図５（ａ）の例で説明すると、スキャン１、２、３は描画図形との交点座標の切り上げを行うと、左右が同じｘ座標になるためドットは配置されない、スキャン４、５では整数化された左端と右端のｘ座標の差分は１になり、左端から右端までの１ドットを配置する。つまり、図５（ａ）の三角形ＡＢＣでは、辺ＢＣに近いセル（４．３）、（５．４）の２つのセルのみにドットが配置され、頂点Ａに近い部分にはドットが配置されない結果となる。このため、描画品質が良くない結果となる。
【００３１】
この課題を解決するために、第一ステップとして、図５（ｂ）のように、点Ｄを追加し三角形ＡＢＣを四角形ＡＢＣＤに変形することが考えられる。この変形を行うことで、ドットが配置されるセルは、（１．１）、（２．２）、（３．３）が更に追加されることになる。この対応を行うことで、元の三角形ＡＢＣの頂点Ａ側にもドットが配置されるようになり、図５（ａ）の例より画質は向上が見込まれる。但し、トナーなどの用いた電子写真方式の場合、セル（１．１）、（２．２）、（５．４）は上下左右の隣接セルにドットが配置されていないため、プリンターやトナーの特性によっては、これらのドットはほとんど印字されないことがあり、描画品質としてはまだ改善の余地が見込まれる。
【００３２】
そこで、第二ステップとして、図５（ｃ）で示すように、頂点ＣをＣ´移動させ、辺ＢＣ´の長さを２に、同様に、頂点ＤをＤ´まで移動させ、辺Ｄ´Ａの長さを２とする変形を行う。この変形を行った結果、更に、ドット（１．２）、（２．３）、（３．４）、（４．４）、（５．５）にもドットが配置され、スキャン１から５の間には、上下左右に隣接ドットが一つもないドットが無くなり、印刷画質の向上が期待できる。
【００３３】
つまり、長さ２未満の辺を含む三角形を長さ２以上の辺で構成される四角形に変形し、描画の塗り領域を確保することで画質を向上させる。同様に長さが２未満の対辺の組みで構成される四角形についても、領域を太らせる方向に図形を変形することで、描画の塗り領域を確保し画質を向上させる。
【００３４】
＜ドライバー処理フローの説明＞
次にフローチャートや図を用いて、本発明のドライバー処理について説明を行う。
【００３５】
図６は本発明のドライバー処理を示したフローチャートである。
【００３６】
まず、描画命令受信部１３１はＯＳ１１０のインターフェイスを介して印刷アプリケーション１２０からの描画命令を受け取り、受け取った描画命令は描画命令解析部１３２に送る（ステップＳ６１０）。
【００３７】
描画命令解析部１３２は送られてきた描画命令の内容を解析し、必要に応じ印刷コマンド生成部１３４を使ってプリンター１０１が処理可能な印刷コマンドの生成を行う（ステップＳ６２０）。
【００３８】
生成された印刷コマンドは印刷コマンド送信部１３５により、ＯＳ１１０のインターフェイスを介してプリンター１０１に転送される（ステップＳ６３０）。
【００３９】
図７はステップＳ６２０での描画命令解析部１３２、印刷コマンド生成部１３４の処理を説明するフローチャートである。
【００４０】
まず、描画命令解析部１３２は受け取った描画命令が領域の塗りつぶし命令かどうかを判定する（ステップＳ７１０）。
【００４１】
領域塗りつぶし命令でなければ、受け取った各命令に応じた解析処理を実施し（ステップＳ７２０）、印刷コマンドの生成を行う（ステップＳ７３０）。
【００４２】
ステップＳ７１０での判断が領域塗りつぶし命令だった場合、描画命令解析部１３２受け取った命令の座標点列の整形処理を行う（ステップＳ７４０）。この座標点列の整形処理は連続する同一座標点の削除、同一直線上の中間点の削除などに加え、ｙ座標が最も小さな値となる点から点列の列挙を開始し、図形上左回り（反時計回り）で座標点を列挙するように整形する。この整形処理を実施することで、後述する三角形や四角形の分類パターンの数が減り、効率よく処理を実施できるようになる。
【００４３】
図８は三角形及び四角形の点の配置例を示した図である。
【００４４】
この図を用いて、この座標点列の整形処理（ステップＳ７４０）を説明する。なお、各座標点の列挙順は必ずＡＢＣの順で行われるものとする。
【００４５】
図８の（ａ）、（ｂ）、（ｃ）の三角形はそれぞれ同じ形の三角形ＡＢＣを示しているが、（ｂ）の三角形ＡＢＣは開始点の点Ａのｙ座標はこの三角形ＡＢＣにおいて最も小さなｙ座標値ではなく、また（ｃ）の三角形ＡＢＣは左回りで座標点の列挙が行われていない。したがって（ｂ）、（ｃ）の三角形に対し、座標点列の整形処理（ステップＳ７４０）を実施すると、（ａ）の三角形となる。つまり、（ｂ）や（ｃ）の三角形ＡＢＣを考慮する必要がなくなる。
【００４６】
また、（ｄ）、（ｅ）、（ｆ）の四角形も同じ形の四角形であるが、（ｅ）の四角形ＡＢＣＤの開始点Ａのｙ座標はこの四角形ＡＢＣＤにおいて最も小さなｙ座標値ではなく、（ｆ）の四角形ＡＢＣＤ左回りで座標点の列挙が行われていない。したがって、（ｅ）、（ｆ）の四角形に対し、座標点列の整形処理（ステップＳ７４０）を実施すると、（ｄ）の四角形となり、（ｅ）や（ｆ）の四角形を考慮する必要は無くなる。
【００４７】
図７に戻り、対象の描画図形が三角形かどうか（ステップＳ７５０）、四角形かどうか（ステップ７７０）の判定を行う。有効な座標点数が３点なら三角形、４点あれば四角形とここでは判定する。尚、有効な座標点数が揃っていても二つの辺が交際したり重なったりしている図形は三角形や四角形では無いとして処理を行う。
【００４８】
三角形であれば三角形太らせ処理（ステップＳ７６０）を、四角形であれば四角形太らせ処理（ステップＳ７８０）を実施した後、印刷コマンド生成部１３５にて印刷コマンド生成処理（ステップＳ７３０）を実施し、１つの塗りつぶし描画命令の処理を完了する。三角形太らせ処理（ステップＳ７６０）及び四角形太らせ処理（ステップＳ７８０）の詳細についてはこの後述べる。
【００４９】
＜三角形太らせ処理＞
図９は領域太らせ処理部１３３が実施する、図７の三角形太らせ処理（ステップＳ７６０）の詳細なフローを示す図である。
【００５０】
この図を用いて三角形太らせ処理について説明する。
【００５１】
まず、ステップＳ９１０で対象の三角形ＡＢＣを構成する３辺のうち少なくとも１つは辺の長さが２未満の辺が含まれているかどうか調べる。
【００５２】
図１０は長さが２未満の辺を構成する点を説明するための図である。注目点を図１０の中心のＸとした場合、この点Ｘを端点とする長さが２未満の辺のもう一つの端点はＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈの８種類が存在する。つまり、辺の始点と終点のｘ座標及びｙ座標の差分が−１、０、＋１のみで表せる場合、辺の長さが２未満となる。このことを利用しステップＳ９１０では長さが２未満の辺の有を確認する。
【００５３】
次にステップＳ９２０にて、三角形ＡＢＣを構成する全ての辺が長さ２以上の場合、太らせ処理は行わない。三角形ＡＢＣを構成する辺に長さ２未満の辺が含まれている場合、次のステップＳ９１０に進み、三角形太らせ処理を実施する。
【００５４】
以降の処理では対象の三角形を「長さ２未満の辺」と「他の１辺」のベクトルで分類し、この組み合わせに応じ、各点の移動や追加を行う。
【００５５】
ステップＳ９３０では、長さが２未満の辺が三角形の３つの辺のどこに位置するかで三角形を分類する。尚、対象の三角形に長さ２未満の辺が複数存在することもあるため、点列の列挙順に従い辺ＡＢ、辺ＢＣ、辺ＣＡの順で最初に長さが２未満になる辺を「長さが２未満の辺」とする。三角形なので辺は辺ＡＢ、辺ＢＣ、辺ＣＡの３種類しかないため、「長さが２未満の辺」はこの３種類が存在することになる。
【００５６】
続けて、ステップＳ９３０では、この「長さ２未満の辺」のベクトルを調べる。図１１は三角形の辺のベクトルの分類を示した図である。この図を用いて、長さが２未満の辺の分類について説明する。図１１（ａ）は「長さが２未満の辺」のベクトルの分類を示した表である。この表では、辺の始点から終点の座標変位により、「長さが２未満の辺」のベクトルを“ａ”から“ｈ”までの８種類に分類する。
【００５７】
更に、ステップＳ９４０では、「長さが２未満の辺」以外の「他の一辺」について、分類を行う。三角形なので２辺が決まると形状が決まり、１辺は既に「長さが２未満の辺」としてピックアップされており、残りの２辺のどちらを「他の１辺」として採用して結果に相違は出ない。このため、「長さが２未満の辺」が辺ＡＢの場合には「他の１辺」は辺ＢＣに、「長さが２未満の辺」が辺ＢＣであれば「他の１辺」は辺ＡＢに、「長さが２未満の辺」が辺ＣＡの場合も「他の１辺」は辺ＡＢに割り当てることにする。
【００５８】
図１１（ｂ）は「他の１辺」の詳細ベクトルの分類を示した表である。まず図１１（ａ）と同様に始点と終点の変位によりベクトルにより“ａ”から“ｈ”までの８種類に大きく分類する。更に、ベクトルが水平や垂直になる“ａ”や“ｃ”、“ｅ”、“ｇ”の場合には、座標の変位が１かそれ以上かで詳細ベクトルに分類する。例えば、「他の１辺」が始点から水平左方向に長さが１の辺になる場合、詳細ベクトルを“ａ１”に分類し、始点から水平左方向に１より長い辺になる場合“ａｌ”に分類する。つまり、「他の１辺」が水平垂直になる場合、“ａ１”、“ａｌ”、…、“ｇ１”、“ｇｌ”の８種類の詳細ベクトルに分類する。ベクトルが水平垂直以外になる場合、始点から見て終点の位置が左下にある場合を“ｂ”、右下の場合を“ｄ”、右上の場合を“ｅ”、左上の場合を“ｈ”に分類し、更に、ｘ座標とｙ座標の変位量により、縦長の辺なのか横長の辺なのかによって詳細ベクトルを分類する。例えば、「他の１辺」が始点から左下方向に横長の辺になる場合詳細ベクトルを“ｂｈ”に分類し、左下方向に縦長の辺になる場合“ｂｖ”に分類する。つまり、「他の１辺」が水平垂直以外になる場合、“ｂｈ”、“ｂｖ”、…、“ｈｈ”、“ｈｖ”の８種類の詳細ベクトルに分類する。尚、ｘとｙの変位の量が同じ場合、形状に応じて、縦長・横長のどちらかに分類する。このようにして、「他の１辺」を合計１６種類の詳細ベクトルに分類する。
【００５９】
以上のようにして、対象の三角形に応じて「長さが２未満の辺」の種類、「長さが２未満の辺」のベクトル、「他の１辺」の詳細ベクトルの３つのパラメータを決定する。
【００６０】
次に、領域太らせ処理部１３３は、これら３つのパラメータをキーに、点の追加と移動について記述された、図１２で例示される三角形太らせテーブル１２００を参照する（ステップＳ９５０）。三角形太らせテーブル１２００は「長さが２未満の辺」の種類（３）×「長さが２未満の辺」のベクトル（８）×「他の１辺」の詳細ベクトル（１６）＝３８４のレコードを持ち、それぞれの三角形について移動する点及びその位置、追加する点及びその位置の情報を予め保持している。
【００６１】
領域太らせ処理部１３３は三角形太らせテーブル１２００の記述に従い、点の移動指示があるかどうかを判断し（ステップＳ９６０）、点の移動が指示されている場合には、対象の点を指示され場所に位置するように点座標の編集を行う（ステップＳ９７０）。同様に点の追加の指示があるかどうかを判断し（ステップＳ９８０）、点の追加が指示されている場合には、対象の点を指示された配列上の位置に、指示された座標点を追加する編集作業を行う（ステップＳ９９０）。三角形太らせテーブル１２００の記述内容や具体的な点の移動や追加処理についてはこの後述べる。
【００６２】
＜三角形太らせ処理の具体例＞
図１２は三角形太らせテーブル１２００の例であり、領域太らせ処理部１３３のデータとして格納されている。この三角形太らせテーブル１２００を参照しながら、いくつかの三角形について例を用いながら三角形太らせ処理の具体例の説明を行う。
【００６３】
図１３は幾つかの三角形を用い三角形太らせ処理の例を示した図である。
【００６４】
図１３の（ａ）の三角形は、「長さが２未満の辺」が辺ＡＢであり、ベクトルは左下の“ｂ”、「他の１辺」の辺ＢＣの詳細ベクトルは左下で横長の“ｂｈ”にそれぞれ分類される。この三角形は右回り（時計回り）で点列が記述されるため、ステップＳ７４０の整形処理を通ると、他の三角形の分類になる。このため三角形太らせテーブル１２００上では図１３（ａ）の三角形に該当するレコード１２０１は追加点や移動点は存在しないとして記載しておく。
【００６５】
図１３（ｂ）の三角形について、「長さが２未満の辺」は辺ＡＢ、ベクトルは左下の“ｂ”、「他の１辺」の辺ＢＣの詳細ベクトルは左下で横長の“ｂｖ”に分類される。この三角形に対しては点Ｃ（基準点）の後に点Ｃからｘ方向に２移動した位置に新たな追加点（点Ｃ´）を作成し、点Ａをｘ方向に１移動させ四角形Ａ´ＢＣＣ´に変形することで、三角形を太らせる。この三角形に該当するレコード１２０１では追加点は基準点（点Ｃ）の後に追加し、基準点（点Ｃ）からｘ方向に＋２の位置に配置することを示している。移動点についても、移動する点は点Ａであり、ｘ方向に＋１移動させることを示している。尚、本実施例では追加や移動する点の方向は基準点から見て必ず＋ｘ方向か＋ｙ方向になるように太らせる方向を統一する。
【００６６】
繰り返しになるが、この図１３（ｂ）の三角形については詳細ベクトルが“ｂｖ”であり縦長になるこのため、横方向（ｘ方向）に太らせるようにレコード１２０２に予め記述しておく。
【００６７】
図１３（ｃ）の三角形について、「長さが２未満の辺」は辺ＡＢ、ベクトルは右下の“ｄ”、「他の１辺」の辺ＢＣの詳細ベクトルは上で長さが１の“ｇ１”に分類される。追加点は基準点Ｂの後に点Ｂのｘ座標を＋２した位置に点を追加し、移動する点は点Ｃでｘ方向に＋１移動させることで、領域を横方向に太らせる。この変形に対する図１２の三角形太らせテーブルの内のレコードは１２０３である。
【００６８】
図１３（ｄ）の三角形について、配列の開始点である点Ａがｙ座標の最上位になっていないため、ステップＳ７４０の整形処理を通ると、他の三角形の分類になる。このため三角形太らせテーブル１２００上では図１３（ｄ）三角形に該当するレコード１２０４では、追加点や移動点は存在しないとして記載する。
【００６９】
図１３（ｅ）の三角形について、「長さが２未満の辺」は辺ＢＣ、ベクトルは右上の“ｆ”、「他の１辺」の辺ＡＢの詳細ベクトルは右下で横長の“ｄｈ”に分類される。横長の三角形になるため、縦方向（ｙ方向）に太らせる対応を行う。追加点は点Ａの後に点Ａからｙ座標を＋２した位置に置き、点Ｂをｙ方向に＋１移動するように対応するレコード１２０５に記述しておく。
【００７０】
図１３（ｆ）の三角形について、３点で構成されているが、同一直線状に３点が配置されるため三角形にならない。このため三角形太らせテーブル１２００上では図１３（ｆ）三角形に該当するレコード１２０６では、追加点や移動点は存在しないとして記載する。尚、この図形はＳ７５０の処理では三角形ではないと判断する。
【００７１】
＜四角形太らせ処理＞
図１４は領域太らせ処理部１３３が実施する、図７の四角形太らせ処理（ステップＳ７８０）の詳細なフローを示す図である。
【００７２】
この図を用いて、四角形太らせ処理について説明する。
【００７３】
まず、領域太らせ処理部１３３はステップＳ１４１０で、対象の四角形ＡＢＣＤを構成する４辺のうち少なくとも一組の対辺が共に辺の長さが２未満の辺になっているかどうかを調べる。つまり、四角形ＡＢＣＤを構成する４つの辺（辺ＡＢ、辺ＢＣ、辺ＣＤ、辺ＤＡ）のうち、辺ＡＢ−辺ＣＤの対辺の組み、或いは辺ＢＣ−辺ＤＡの組みの少なくともどちらかの辺の組みが共に長さが２未満の辺で構成される場合、四角形太らせ処理の対象としてピックアップする。
【００７４】
ステップＳ１４２０にて、辺の長さが共に２未満の対辺の組が存在しない場合、対象の四角形は太らせる必要は無いと判断し、四角形太らせ処理は行わない。
この四角形太らせ処理では、長さが２未満の対辺のそれぞれの辺の端点の何れかを移動させることで、四角形の領域を太らせる加工を行う。以降の説明では、長さが２未満の対辺のそれぞれの辺を、第一の辺、第二の辺と呼ぶことにする。
【００７５】
次に、領域太らせ処理部１３３はステップＳ１４３０では、長さが２未満の第一の辺、第二の辺それぞれについて、辺の種類及び辺のベクトルを調べる。辺の種類とは四角形ＡＢＣＤを構成する辺ＡＢ、辺ＢＣ、辺ＣＤ、辺ＤＡの４種類の何れかであり、辺のベクトルの分類については三角形の場合と同じく図１１（ａ）の分類により、“ａ”から  “ｈ”の８種類に分類する。
【００７６】
次に、ステップ１４４０では、対象の四角形ＡＢＣＤのｘ、ｙの各座標の最大、最小値で構成される外接矩形の形状が縦長か横長又は正方の３種類どれかを調べ、更に対象の辺が外接矩形の左右２種のどちらの辺に接しているのかを調べる。長さが２未満の対辺の組みを持つ四角形を対象にしているため、外接矩形の左辺、右辺どちらにも接しない辺は存在しない。尚、両方の辺に接している場合、便宜上右側に接しているとして扱う。
【００７７】
このようにして対象の四角形を、対辺が２未満の辺それぞれについて、辺の種類、ベクトル、概説矩形の形状、対象の辺の位置により分類を行う。
【００７８】
次に、領域太らせ処理部１３３は、これら４つのパラメータをキーに各点の移動について記述された、図１５で例示される四角形太らせテーブル１５００を参照する（ステップＳ１４５０）。四角形太らせテーブル１５００では「長さ２未満の辺」の種類（４）×「長さ２未満の辺」のベクトル（８）×外接矩形の形状（３）×外接矩形状の位置（２）＝１９２レコードを持ち、それぞれの四角形の対辺について移動する点及びその位置の情報を保持している。
【００７９】
領域太らせ処理部１３３は四角形太らせテーブル１５００の記述に従い、第一の辺につい点の移動が指示されているかどうかを判断し（ステップＳ１４６０）、点の移動が指示されている場合には、対象の点を移動させる編集を行う（ステップＳ１４７０）。同様に、第二の辺についても、点の移動が指示されているかどうかを判断し（ステップＳ１４８０）、点の移動が指示されている場合には、対象の点を移動させる編集を行う（ステップＳ１４９０）。四角形太らせテーブル１５００の記述内容や具体的な点の移動処理についてはこの後述べる。
【００８０】
＜四角形太らせ処理の具体例＞
図１５は四角形太らせテーブル１５００の例であり、領域太らせ処理部１３３のデータとして格納されている。この四角形太らせテーブル１５００を参照しながら、いくつかの四角形について、例を用いて四角形太らせ処理の具体例の説明を行う。
【００８１】
図１６は幾つかの四角形を用い四角形太らせ処理の例を示した図である。
【００８２】
図１６の（ａ）、（ｂ）、（ｃ）の四角形ＡＢＣＤは、辺ＡＢ・辺ＣＤの対辺の組みが長さ２未満の辺になった場合の辺ＡＢについて、この辺ＡＢのベクトルが左向きの“ａ”、外接矩形が縦長、辺ＡＢが外接矩形の左に接する場合の例である。列挙の開始点Ａがｙ座標の最も小さな値となり左回りで四角形の各点が列挙され条件の下では、必ず点Ｄは外接矩形の右辺上にあり、辺ＣＤも長さが２未満であることから、この四角形の点Ｃ、点Ｄの位置はこの図で示した（ａ）、（ｂ）、（ｃ）何れかとなる。
【００８３】
しかし、点Ｃ，点Ｄがどの位置にあるかとは無関係に、縦長の四角形の場合横方向に太るように座標点を移動させる。この例では点Ａが辺ＡＢの右端に位置するため、点Ａをｘ方向に＋１移動させる編集を行うようにレコード１５０１に記載しておく。尚、先の三角形のケース同じく太らせ処理を必ず右（ｘ軸）方向又は下（ｙ軸）方向に点を移動させるものとする。
【００８４】
図１６の（ｄ）、（ｅ）、（ｆ）の四角形ＡＢＣＤは辺ＡＢが外接矩形の右に接すること以外は、先の（ａ）、（ｂ）、（ｃ）と同じ条件の四角形の例を示している。この四角形ＡＢＣＤは縦長となるため、辺ＡＢの右端に位置する点Ａを右（ｘ）方向に＋１移動させる編集を行うようにレコード１５０２に記載しておく。
【００８５】
次に、横長の四角形の場合の例を説明する。図１６の（ｇ）、（ｈ）の四角形ＡＢＣＤは辺ＡＢ・辺ＣＤの対辺の組みが長さ２未満の辺になった場合の辺ＡＢについて、この辺ＡＢベクトルが左向きの“ａ”、外接矩形が横長、辺ＡＢが外接矩形の左に接する（ｇ）と右に接する（ｈ）の場合の例である。この四角形ＡＢＣＤは横長になるため、下（ｙ）方向に点を移動させることで領域を太らせる。（ｇ）の図形の場合、点Ａを下方向に移動させると領域が狭くなったり、潰れたりするため、点Ｂを下（ｙ）方向に１移動することで、領域を太らせる。（ｈ）の場合も同様の理由により点Ｂより点Ａを下（ｙ）方向に移動させた方が領域を太らせることができる。従って、レコード１５０３では点Ｂをｙ方向に１、レコード１５０４では点Ａをｙ方向に１移動させるように記載しておく。
【００８６】
次に正方の場合の例を説明する。図１６の（ｉ）、（ｊ）の四角形ＡＢＣＤの辺ＡＢ・辺ＣＤの対辺の組みが長さ２未満の辺になった場合の辺ＡＢについて、この辺ＡＢのベクトルが左向きの“ａ”、外接矩形が正方、辺ＡＢが外接矩形の左に接する（ｉ）と右に接する（ｊ）の場合の例である。この四角形ＡＢＣＤはの外接矩形は縦長でも横長でもなく正方形になるため、右（ｘ）方向、下（ｙ）方向、どちらに点を移動させても領域を太らせた結果には大きな違いは無い。この例では辺ＡＢが外接矩形の左に接している（ｉ）の場合には点Ｂを下（ｙ）方向に１移動し、外接矩形の右に接している（ｊ）の場合には点Ａを右（ｘ）方向に１移動させるようにそれぞれのレコード１５０５、１５０６に記載しておく。
【００８７】
最後に四角形が成立しなくなる例の説明を行う。図１６の（ｋ）、（ｌ）は四角形ＡＢＣＤの辺ＢＣ・辺ＤＡの対辺の組みが長さ２未満の辺になった場合の辺ＢＣについて、この辺ＢＣのベクトルが右下向きの“ｄ”、外接矩形が横長、辺ＢＣが外接矩形の左に接する（ｋ）と右に接する（ｌ）の場合の例である。この四角形の外接矩形は横長なるため、下（ｙ）方向に点を移動させることで領域を太らせる。（ｋ）の場合点Ｃを移動させることで領域を太らせることができるが、（ｌ）の場合は四角形ＡＢＣＤの辺ＡＢと辺ＣＤが交差してしまうため、先にステップＳ７７０の判定で四角形として判定されない。よって、この四角形太らせ処理（Ｓ７８０）で処理する四角形ではない。このことから（ｋ）に対するレコード１５０７には点Ｃを下（ｙ）方向に１移動させることを記載するが、（ｌ）の場合はレコード１５０８には移動点無と記載しておく。
【符号の説明】
【００８８】
１００  コンピューター、１０１  プリンター、１３０  プリンタードライバー、
１３１  描画命令受信部、１３２  描画命令解析部、１３３  領域太らせ処理部、
１３４  印刷コマンド生成部、１３５  印刷コマンド送信部
【図１】
2017222051.tif 000003
【図２】
2017222051.tif 000004
【図３】
2017222051.tif 000005
【図４】
2017222051.tif 000006
【図５】
2017222051.tif 000007
【図６】
2017222051.tif 000008
【図７】
2017222051.tif 000009
【図８】
2017222051.tif 000010
【図９】
2017222051.tif 000011
【図１０】
2017222051.tif 000012
【図１１】
2017222051.tif 000013
【図１２】
2017222051.tif 000014
【図１３】
2017222051.tif 000015
【図１４】
2017222051.tif 000016
【図１５】
2017222051.tif 000017
【図１６】
2017222051.tif 000018