(57)【要約】【課題】輪郭線の内側を過不足なく塗りつぶす。【解決手段】描画情報処理装置は、描画情報格納部１０２と、点データ読出処理部１１２と、塗り情報置換部１１４とを含む。描画情報格納部１０２は、塗り情報領域に情報を予め記憶し、座標情報を記憶する。座標情報は、二次元画像の輪郭線を構成する構成画素のいずれかの座標を示す。塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示す。点データ読出処理部１１２は、座標情報が示す複数の座標のうち少なくとも２つを選択する。塗り情報置換部１１４は、点データ読出処理部１１２が選択した座標のいずれかに対応する塗り情報領域に記憶された記憶情報を、輪郭線に接するベクトルの向きの範囲に対応する内容の塗り情報に置換する。【選択図】図１
2008276535.tif 000002
【特許請求の範囲】
【請求項１】
二次元画像を画素により表示するために情報を処理する描画情報処理装置であって、
前記画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶し、前記二次元画像の輪郭線を構成する構成画素のいずれかである複数の座標を示す座標情報を記憶するための記憶手段を含み、
前記塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示し、
前記記憶手段が前記塗り情報領域に記憶した情報を変更するための情報変更手段をさらに含み、
前記情報変更手段は、
前記座標情報が示す複数の座標のうち少なくとも２つを選択するための座標選択手段と、
前記座標選択手段が選択した座標のいずれかに対応する前記塗り情報領域に記憶された記憶情報を、ベクトルの向きの範囲に対応する内容の前記塗り情報に置換するための置換手段とを含み、
前記ベクトルは、前記座標選択手段が選択した座標のいずれかを両端とする区間において前記輪郭線に接する、描画情報処理装置。
【請求項２】
前記座標情報は、隣接する前記構成画素の座標が連続する順序となるように前記座標を示す情報を含み、
前記置換手段は、
前記座標情報において前記順序が連続する座標の、前記座標軸の他方に平行な方向である他方方向の座標値が相違するか否かを判断するための相違判断手段と、
前記他方方向の座標値が相違する場合、前記座標情報における前記座標の順序と前記他方方向の座標値の大小関係とに基づいて置換の対象となる前記記憶情報を選択し、選択した前記塗り情報領域に記憶された前記記憶情報を、前記座標情報における前記座標の順序と前記他方方向の座標値の大小関係とに対応する内容の前記塗り情報に置換するための選択置換手段を含む、請求項１に記載の描画情報処理装置。
【請求項３】
前記選択置換手段は、
前記他方方向の座標値が相違する場合、前記順序が先の座標の前記他方方向の座標値が前記順序が後の座標の前記他方方向の座標値より大きいか否かに応じて、前記順序が連続する座標の一方に対応する前記記憶情報を置換するための一方置換手段と、
前記他方方向の座標値が等しい場合、前記順序が連続する座標の一方に前記順序がさらに連続する座標の前記他方方向の座標値が前記順序が連続する座標の前記他方方向の座標値と異なっていれば、前記座標の一方に対応する前記記憶情報を置換するための屈曲部分置換手段とを含む、請求項２に記載の描画情報処理装置。
【請求項４】
前記座標情報は、順序が連続する座標は隣接する前記構成画素を示し、かつ前記順序が最初の座標と前記順序が最後の座標とが同一の前記構成画素を示すように、前記構成画素の座標を示す情報を含み、
前記塗り情報は、前記方向を正負の符号で示す数値の情報を含み、
前記一方置換手段は、
前記順序が先の座標の前記他方方向の座標値が前記順序が後の座標の前記他方方向の座標値より大きければ、前記順序が先の座標に対応する前記記憶情報を、前記記憶情報に対して値が小さい前記数値の情報に置換するための第１の数値置換手段と、
前記順序が先の座標の前記他方方向の座標値が前記順序が後の座標の前記他方方向の座標値より小さければ、前記順序が後の座標に対応する前記記憶情報を、前記記憶情報に対して値が大きな前記数値の情報に置換するための第２の数値置換手段とを含み、
前記屈曲部分置換手段は、
前記順序が先の座標に対して前記順序がさらに先の座標の前記他方方向の座標値が前記順序が連続する座標の前記他方方向の座標値と異なっていれば、前記順序が連続する座標のうち前記順序が先の座標に対応する前記記憶情報を、前記記憶情報に対して値が小さい前記数値の情報に置換するための第３の数値置換手段と、
前記順序が後の座標に対して前記順序がさらに後の座標の前記他方方向の座標値が前記順序が連続する座標の前記他方方向の座標値と異なっていれば、前記順序が連続する座標のうち前記順序が後の座標に対応する前記記憶情報を、前記記憶情報に対して値が大きい前記数値の情報に置換するための第４の数値置換手段とを含み、
前記情報変更手段は、前記数値の情報が示す正負の符号に基づいて前記構成画素により区切られる前記塗りつぶし区域内の画素の色を一定の規則に従う色とするように、前記二次元画像を画素により示す情報を作成するための塗りつぶし情報作成手段をさらに含む、請求項３に記載の描画情報処理装置。
【請求項５】
前記情報変更手段は、前記塗り情報が示す方向に基づいて前記構成画素により区切られる前記塗りつぶし区域内の画素の色を一定の規則に従う色とするように、前記二次元画像を画素により示す情報を作成するための塗りつぶし情報作成手段をさらに含む、請求項１に記載の描画情報処理装置。
【請求項６】
二次元画像を画素により表示するために情報を処理する描画情報処理方法であって、
前記画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶する予備記憶ステップを含み、
前記塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示し、
前記二次元画像の輪郭線を構成する構成画素のいずれかである複数の座標を示す座標情報を記憶する座標情報記憶ステップと、
前記座標情報が示す複数の座標のうち少なくとも２つを選択する座標選択ステップと、
前記座標選択ステップにおいて選択された座標のいずれかに対応する前記塗り情報領域に記憶された記憶情報を、前記座標選択ステップにおいて選択された座標のいずれかを両端とする区間において前記輪郭線に接するベクトルの向きの範囲に対応する内容の前記塗り情報に置換する置換ステップとをさらに含む、描画情報処理方法。
【請求項７】
二次元画像を画素により表示するために情報を処理する描画情報処理プログラムであって、
前記画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶する予備記憶ステップを含み、
前記塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示し、
前記二次元画像の輪郭線を構成する構成画素のいずれかである複数の座標を示す座標情報を記憶する座標情報記憶ステップと、
前記座標情報が示す複数の座標のうち少なくとも２つを選択する座標選択ステップと、
前記座標選択ステップにおいて選択された座標のいずれかに対応する前記塗り情報領域に記憶された記憶情報を、前記座標選択ステップにおいて選択された座標のいずれかを両端とする区間において前記輪郭線に接するベクトルの向きの範囲に対応する内容の前記塗り情報に置換する置換ステップとをさらに含む各ステップをコンピュータに実行させるための描画情報処理プログラム。
【請求項８】
二次元画像を画素により表示するために情報を処理する描画情報処理プログラムを記録したコンピュータ読取り可能な記録媒体であって、
前記画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶する予備記憶ステップを含み、
前記塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示し、
前記二次元画像の輪郭線を構成する構成画素のいずれかである複数の座標を示す座標情報を記憶する座標情報記憶ステップと、
前記座標情報が示す複数の座標のうち少なくとも２つを選択する座標選択ステップと、
前記座標選択ステップにおいて選択された座標のいずれかに対応する前記塗り情報領域に記憶された記憶情報を、前記座標選択ステップにおいて選択された座標のいずれかを両端とする区間において前記輪郭線に接するベクトルの向きの範囲に対応する内容の前記塗り情報に置換する置換ステップとをさらに含む各ステップをコンピュータに実行させるための描画情報処理プログラムを記録した、コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画情報処理装置、描画情報処理方法、描画情報処理プログラム、および描画情報処理プログラムを記録したコンピュータ読取り可能な記録媒体に関し、特に、図形の拡大や縮小を伴う表示を行う描画情報処理装置、描画情報処理方法、描画情報処理プログラム、および描画情報処理プログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【０００２】
アウトラインフォントを塗りつぶすための装置および方法は何種類か存在する。例えば、特許文献１は、次に述べる第１のステップおよび第２のステップを繰返すことで輪郭線の内部を塗りつぶす方法を開示する。
【０００３】
第１のステップは、輪郭線の極大値あるいは極小値から所定の方向に走査するステップである。第２のステップは、輪郭線が検出された場合に塗りつぶす動作を開始し、次に輪郭線が検出されると塗りつぶす動作を停止するステップである。
【０００４】
特許文献１に開示された発明によると、アウトラインフォントの内部を塗りつぶすことができる。
【０００５】
特許文献２は、アウトラインフォントを塗りつぶすための別の方法およびその方法を実施する装置を開示する。
【０００６】
特許文献２に開示された方法は、線を表すベクトルデータをピクセルデータに変換して画像メモリに書き込み、ピクセルデータによって囲まれる画像メモリの内部をピクセルデータによって塗りつぶす閉曲線内の塗りつぶし方法である。
【０００７】
この方法は、第１のステップと第２のステップとを含む。
第１のステップは、ベクトルデータをピクセルデータに変換して画像メモリに書き込む際に、ベクトルが持つ属性に対応する属性データをそのピクセルデータに対応付けてメモリに書き込むステップである。既に属性データが書き込まれているピクセルデータに対して重畳して書込を行う場合は、既に書き込まれている属性データと新たに書き込むべきピクセルの属性とによって決まる属性データを書き込む。
【０００８】
第２のステップは、画像メモリを走査してメモリ内の属性データを検出し、この検出した属性データの値に基づいて塗りつぶし位置を決定するステップである。
【０００９】
特許文献２に開示された発明によると、極めて高速に閉曲線内を塗りつぶすことができる。
【特許文献２】特開平２−２５０１９０号公報
【特許文献２】特開平２−１２２９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１に開示された発明には、正しく塗りつぶすことができない場合があるという問題点がある。図４８〜図５４を参照して、この問題点を具体的に説明する。
【００１１】
図４８は、ある画像領域７００の中の輪郭線７０１を示す図である。図４９は、図４８に示す輪郭線７０１の頂点から所定の方向に走査するステップを示す概念図である。図４９において、点９５１および点９５２は同じ水平ライン７０３上にある頂点である。
【００１２】
特許文献１に開示された発明の場合、水平ライン７０３に沿って水平方向に走査すると、点９５１が輪郭線の始点と認識され、点９５２が輪郭線の終点と認識される。これにより、それらの頂点間が塗り潰される。図５０は、その際の様子を示す概念図である。
【００１３】
これを防ぐ方法として、頂点を検出する際は必ず１つ前の水平ラインの点データを読み出して、水平ライン７０３の点データと比較する方法がある。この方法を用いると、点９５１および点９５２は頂点であると認識される。これにより、図５０に示すようにそれらの頂点間を塗りつぶしてしまうことは避けられる。
【００１４】
しかしながら、そのような処理を毎回行ったとしても、図５１に示すような点９５３が検出された場合、それが輪郭線の始点であり終点でもあることを検出するのは不可能である。
【００１５】
図５２は、輪郭線７０６を示す図である。図５２から明らかなように、点９５４と点９５５とは別の点である。しかしながら、縮小表示されると、図５３に示すように、点９５４と点９５５が同一点であるとみなされることがある。
【００１６】
この場合、水平ライン７０７に沿って水平方向に走査すると、点９５６は輪郭線の始点と認識される。点９５４（および点９５５）は輪郭線の終点と認識される。これにより、点９５６−点９５４間（点９５６−点９５５間）は塗り潰される。
【００１７】
一方、点９５７は輪郭線の始点と認識される。これにより、点９５４−点９５７間（線分点９５５−点９５７間）に塗り漏れが発生する。さらに、点９５７から画像領域の最右端である点９５８までが塗り潰されてしまう。
【００１８】
図５４は、これらのことを示す概念図である。
特許文献２に開示された発明には、輪郭線の直線近似時の誤差の影響や輪郭線を構成する画素の座標を算出する際に生じた誤差の影響などによって、本来塗り潰されるはずの領域が塗り潰されないことがあるという問題点がある。
【００１９】
図５５〜図５８は、２本の輪郭線が接近している場合に生じるそのような問題の例を示す図である。図５５〜図５８を参照して、この問題点について説明する。
【００２０】
図５５は、図形の輪郭線を示す図である。図５６および図５７は、それらの輪郭線のうち接近している輪郭線の位置を示す図である。図５５において破線で囲まれた２本の輪郭線について構成画素を算出したとする。これらの図においては、左下の角のマス目の座標を（１，１）とし、右上の角のマス目の座標を（７，３）とする。また、左から右へ向かう方向をＸ軸方向とし、下から上へ向かう方向をＹ軸方向とする。また、これらの図において示された矢印は、図５５において楕円で囲まれた輪郭線を示す。この場合、図５５において楕円で囲まれた２本の輪郭線のうち一方の線の構成画素としてＰ（５，２）およびＱ（２，１）が算出されたとする。他方の線の構成画素とされた点としてＲ（１，１），Ｓ（４，２），およびＴ（７，３）が算出されたとする。
【００２１】
これらの点が構成画素として算出されたとすると、特許文献２に開示された発明の場合、塗潰される点は、構成画素Ｐ，構成画素Ｑ，構成画素Ｒ，構成画素Ｓ，および構成画素Ｔである。図５８は、塗潰される点の配置を示す図である。図５８により明らかなように、構成画素Ｑと構成画素Ｓとの間のマス目および構成画素Ｐと構成画素Ｔとの間のマス目は塗潰されていない。
【００２２】
図５６および図５７に示す矢印（上述したように、この矢印は輪郭線を示す）から明らかなように、構成画素Ｐに代えて点（６，２）が構成画素であってもよい。構成画素Ｓに代えて点（３，２）が構成画素であってもよい。そのため、構成画素Ｐや構成画素Ｓに代えて点（６，２）や点（３，２）が構成画素とされていれば、本来塗り潰されるはずの領域が塗り潰されないという現象は生じない。しかしながら、特許文献２に開示された発明によってそのような現象が生じないように構成画素を算出することは困難である。
【００２３】
本発明は上述の問題点を解決するためになされたものであって、その目的は、輪郭線の内側を過不足なく塗りつぶすことができる描画情報処理装置、描画情報処理方法、描画情報処理プログラム、および描画情報処理プログラムを記録したコンピュータ読取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００２４】
上記目的を達成するために、本発明のある局面に従うと、描画情報処理装置は、二次元画像を画素により表示するために情報を処理する装置である。描画情報処理装置は、記憶手段と、情報変更手段とを含む。記憶手段は、画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶し、座標情報を記憶する。塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示す。座標情報は、二次元画像の輪郭線を構成する構成画素のいずれかである複数の座標を示す。情報変更手段は、記憶手段が塗り情報領域に記憶した情報を変更する。情報変更手段は、座標選択手段と、置換手段とを含む。座標選択手段は、座標情報が示す複数の座標のうち少なくとも２つを選択する。置換手段は、座標選択手段が選択した座標のいずれかに対応する塗り情報領域に記憶された記憶情報を、ベクトルの向きの範囲に対応する内容の塗り情報に置換する。ベクトルは、座標選択手段が選択した座標のいずれかを両端とする区間において輪郭線に接する。
【００２５】
また、上述の座標情報は、隣接する構成画素の座標が連続する順序となるように座標を示す情報を含むことが望ましい。併せて、置換手段は、相違判断手段と、選択置換手段を含むことが望ましい。相違判断手段は、座標情報において順序が連続する座標の、座標軸の他方に平行な方向である他方方向の座標値が相違するか否かを判断する。選択置換手段は、他方方向の座標値が相違する場合、座標情報における座標の順序と他方方向の座標値の大小関係とに基づいて置換の対象となる記憶情報を選択し、選択した塗り情報領域に記憶された記憶情報を、座標情報における座標の順序と他方方向の座標値の大小関係とに対応する内容の塗り情報に置換する。
【００２６】
もしくは、上述の選択置換手段は、一方置換手段と、屈曲部分置換手段とを含むことが望ましい。一方置換手段は、他方方向の座標値が相違する場合、順序が先の座標の他方方向の座標値が順序が後の座標の他方方向の座標値より大きいか否かに応じて、順序が連続する座標の一方に対応する記憶情報を置換する。屈曲部分置換手段は、他方方向の座標値が等しい場合、順序が連続する座標の一方に順序がさらに連続する座標の他方方向の座標値が順序が連続する座標の他方方向の座標値と異なっていれば、座標の一方に対応する記憶情報を置換する。
【００２７】
もしくは、上述の座標情報は、順序が連続する座標は隣接する構成画素を示し、かつ順序が最初の座標と順序が最後の座標とが同一の構成画素を示すように、構成画素の座標を示す情報を含むことが望ましい。併せて、塗り情報は、方向を正負の符号で示す数値の情報を含むことが望ましい。併せて、一方置換手段は、第１の数値置換手段と、第２の数値置換手段とを含むことが望ましい。第１の数値置換手段は、順序が先の座標の他方方向の座標値が順序が後の座標の他方方向の座標値より大きければ、順序が先の座標に対応する記憶情報を、記憶情報に対して値が小さい数値の情報に置換する。第２の数値置換手段は、順序が先の座標の他方方向の座標値が順序が後の座標の他方方向の座標値より小さければ、順序が後の座標に対応する記憶情報を、記憶情報に対して値が大きな数値の情報に置換する。併せて、屈曲部分置換手段は、第３の数値置換手段と、第４の数値置換手段とを含むことが望ましい。第３の数値置換手段は、順序が先の座標に対して順序がさらに先の座標の他方方向の座標値が順序が連続する座標の他方方向の座標値と異なっていれば、順序が連続する座標のうち順序が先の座標に対応する記憶情報を、記憶情報に対して値が小さい数値の情報に置換する。第４の数値置換手段は、順序が後の座標に対して順序がさらに後の座標の他方方向の座標値が順序が連続する座標の他方方向の座標値と異なっていれば、順序が連続する座標のうち順序が後の座標に対応する記憶情報を、記憶情報に対して値が大きい数値の情報に置換する。併せて、情報変更手段は、塗りつぶし情報作成手段をさらに含むことが望ましい。塗りつぶし情報作成手段は、数値の情報が示す正負の符号に基づいて構成画素により区切られる塗りつぶし区域内の画素の色を一定の規則に従う色とするように、二次元画像を画素により示す情報を作成する。
【００２８】
また、上述の情報変更手段は、塗りつぶし情報作成手段をさらに含むことが望ましい。塗りつぶし情報作成手段は、塗り情報が示す方向に基づいて構成画素により区切られる塗りつぶし区域内の画素の色を一定の規則に従う色とするように、二次元画像を画素により示す情報を作成する。
【００２９】
本発明の他の局面に従うと、描画情報処理方法は、二次元画像を画素により表示するために情報を処理する方法である。描画情報処理方法は、予備記憶ステップと、座標情報記憶ステップと、座標選択ステップと、置換ステップとを含む。予備記憶ステップは、画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶する。塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示す。座標情報記憶ステップは、座標情報を記憶する。座標情報は、構成画素のいずれかである複数の座標を示す。構成画素は、二次元画像の輪郭線を構成する画素である。座標選択ステップは、座標情報が示す複数の座標のうち少なくとも２つを選択する。置換ステップは、座標選択ステップにおいて選択された座標のいずれかに対応する塗り情報領域に記憶された記憶情報を、座標選択ステップにおいて選択された座標のいずれかを両端とする区間において輪郭線に接するベクトルの向きの範囲に対応する内容の塗り情報に置換する。
【００３０】
本発明の他の局面に従うと、描画情報処理プログラムは、二次元画像を画素により表示するために情報を処理するプログラムである。描画情報処理プログラムは、予備記憶ステップと、座標情報記憶ステップと、座標選択ステップと、置換ステップとを含む各ステップをコンピュータに実行させる。予備記憶ステップは、画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶する。塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示す。座標情報記憶ステップは、座標情報を記憶する。座標情報は、構成画素のいずれかである複数の座標を示す。構成画素は、二次元画像の輪郭線を構成する画素である。座標選択ステップは、座標情報が示す複数の座標のうち少なくとも２つを選択する。置換ステップは、座標選択ステップにおいて選択された座標のいずれかに対応する塗り情報領域に記憶された記憶情報を、座標選択ステップにおいて選択された座標のいずれかを両端とする区間において輪郭線に接するベクトルの向きの範囲に対応する内容の塗り情報に置換する。
【００３１】
本発明の他の局面にしたがうと、記録媒体は、描画情報処理プログラムを記録したコンピュータ読取り可能な記録媒体である。描画情報処理プログラムは、二次元画像を画素により表示するために情報を処理するプログラムである。描画情報処理プログラムは、予備記憶ステップと、座標情報記憶ステップと、座標選択ステップと、置換ステップとを含む各ステップをコンピュータに実行させる。予備記憶ステップは、画素の座標それぞれに対応付けて塗り情報を記憶する塗り情報領域に情報を予め記憶する。塗り情報は、塗りつぶしの対象となる塗りつぶし区域が存在する方向であって座標軸の一方に平行な方向を示す。座標情報記憶ステップは、座標情報を記憶する。座標情報は、構成画素のいずれかである複数の座標を示す。構成画素は、二次元画像の輪郭線を構成する画素である。座標選択ステップは、座標情報が示す複数の座標のうち少なくとも２つを選択する。置換ステップは、座標選択ステップにおいて選択された座標のいずれかに対応する塗り情報領域に記憶された記憶情報を、座標選択ステップにおいて選択された座標のいずれかを両端とする区間において輪郭線に接するベクトルの向きの範囲に対応する内容の塗り情報に置換する。
【発明の効果】
【００３２】
本発明に係る描画情報処理装置、描画情報処理方法、描画情報処理プログラム、および描画情報処理プログラムを記録したコンピュータ読取り可能な記録媒体は、輪郭線の内側を過不足なく塗りつぶすことができる。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００３４】
<第１の実施の形態>
以下、本発明の第１の実施の形態に係る描画情報処理装置について説明する。
【００３５】
《描画情報処理装置１００の機能的構成》
図１は、本実施の形態に係る描画情報処理装置１００の機能的構成を示す図である。
【００３６】
図１を参照して、描画情報処理装置１００は、入力部１０１と、描画情報格納部１０２と、塗り情報変更部１０３と、出力処理部１０４および表示処理部１０５とを備えている。
【００３７】
入力部１０１は、インタフェースを備えている。入力部１０１は、このインタフェースによって輪郭情報１０の入力を受け付ける。なお、本実施の形態の場合、輪郭情報１０は入力部１０１を介して描画情報処理装置１００に入力されるが、輪郭情報１０が予め描画情報処理装置１００内に格納されていても構わない。
【００３８】
輪郭情報１０は、構成画素のいずれかについての表示装置１２の画面における座標を示す情報である。本実施の形態において、構成画素とは、二次元画像を構成する画素のうち、輪郭線を構成する画素のことである。本実施の形態の場合、画素の座標とは、表示装置１２の表示面における、画素の座標を意味する。
【００３９】
たとえば、アウトラインフォントにおけるアウトラインデータや絵文字などにおける輪郭線データが輪郭情報１０の一例である。輪郭情報１０は、ベクトルで表された輪郭線データであっても構わないし、構成画素の座標を構成画素ごとに示すデータであっても構わない。ただし、構成画素によって構成される輪郭線は閉曲線であることを前提とする。
【００４０】
入力部１０１がどのようにして輪郭情報を受付けるかということには特段の制限がない。たとえば、無線通信や有線通信によって輪郭情報１０は受付けられてもよい。記録メディアなどに記録された輪郭情報１０を入力部１０１は受付けてもよい。
【００４１】
描画情報格納部１０２は、次に述べる３種類の情報を記憶し、かつそれらの情報を管理する。
【００４２】
第１の情報は、入力部１０１を介して入力された輪郭情報１０である。
第２の情報は、構成画素の座標を構成画素ごとに示す座標情報である。本実施の形態の場合、座標情報は、順序が連続する座標が表示装置１２における座標が隣接する構成画素を示す。本実施の形態の場合、座標情報は、順序が最初の座標と順序が最後の座標との表示装置１２における座標が互いに隣接する構成画素を示す。
【００４３】
第３の情報は、塗りつぶし区域（表示装置１２に表示される図形において塗りつぶしの対象となる区域）が存在する方向であって座標軸の一方に平行な方向（本実施の形態の場合はＸ軸方向）を示す情報である。本実施の形態においては、この情報を「塗り情報」と称する。塗り情報を使用することで、塗り漏れや塗り過ぎなどがないように塗りつぶし処理を行うことができる。なお、塗り情報としてどのような情報を与えるかということに関しては後述する。
【００４４】
本実施の形態の場合、描画情報格納部１０２は、これら３種類の情報を互いに異なる領域に記憶する。本実施の形態の場合、これらの領域のうち塗り情報が記憶される領域は「塗り情報領域」と称される。
【００４５】
塗り情報変更部１０３は、描画情報格納部１０２が記憶した塗り情報を変更する。
出力処理部１０４は、描画情報格納部１０２にて格納されている輪郭情報１０を外部装置１１に出力する。また、出力処理部１０４は、塗り情報選択置換部１２２にて付与された各点の塗り情報を外部装置１１に出力する。
【００４６】
表示処理部１０５は、輪郭情報１０に基づいて描画された輪郭線と、塗り情報に基づいて輪郭線内部を塗りつぶされた文字または図形を示す画像データとを表示装置１２に出力する。
【００４７】
塗り情報変更部１０３は、座標計算部１１０と、点データ読出処理部１１２と、塗り情報置換部１１４と、塗りつぶし情報作成部１１６とを含む。
【００４８】
座標計算部１１０は、描画情報格納部１０２にて記憶されている輪郭情報１０に基づいて、構成画素の座標値を計算する。例えば、輪郭情報１０がベクトルデータである場合、座標計算部１１０はそのベクトルデータに基づいて輪郭線の座標を計算する。後述するように、本実施の形態の場合、輪郭情報１０が頂点の座標を示す座標なので、座標計算部１１０は、辺を構成する構成画素の座標を計算する。これにより、上述した座標情報が作成される。
【００４９】
点データ読出処理部１１２は、描画情報格納部１０２の塗り情報領域から、２つの構成画素の座標を選択し、読み出し、次に述べる２つの変数に代入する。それらの変数のうち一方を「点Ａ」と称し、他方を「点Ｂ」と称する。本実施の形態の場合、点データ読出処理部１１２は、記憶情報における座標の順序に従って座標を読み出す。
【００５０】
塗り情報置換部１１４は、点データ読出処理部１１２が選択した座標のいずれかに対応する塗り情報領域に記憶された情報を、次に述べるベクトルの向きの範囲に対応する内容の塗り情報に置換する。そのベクトルとは、点データ読出処理部１１２によって読み出された２つの点を両端とする区間において、輪郭情報１０が示す図形の輪郭線に接するベクトルである。本実施の形態においては、このベクトルは「接線ベクトル」と称される。
【００５１】
塗りつぶし情報作成部１１６は、塗り情報変更部１０３にて変更された各構成画素の塗り情報に基づいて、塗りつぶし区域（構成画素により区切られる区域）内の画素の色を一定の規則に従う色とするように、二次元画像を画素により示す情報を作成する。これにより、輪郭線の内部が塗りつぶされることとなる。
【００５２】
塗り情報置換部１１４は、傾き特定処理部１２０と、塗り情報選択置換部１２２とを含む。
【００５３】
傾き特定処理部１２０は、接線ベクトルの傾きの範囲を特定する。なお、傾き特定処理部１２０は、接線ベクトルの傾きを数値として特定してもよいし、正、負または「０」といった符号としてベクトルの傾きを特定してもよい。
【００５４】
例として、水平右方向をＸ軸正方向、垂直上方向をＹ軸正方向とし、点データ読出処理部１１２により読み出された２つの構成画素をＫ（１，１）およびＬ（２，２）とし、Ｘ軸正方向を走査線方向とする場合を考える。この場合、傾き特定処理部１２０は、構成画素Ｋを始点とし構成画素Ｌを終点とするベクトルＫＬの傾きの範囲を「０ラジアンからπラジアンまでの範囲」と特定するものであっても構わないし、「接線が右上がりとなる範囲」と特定するものであっても構わない。
【００５５】
本実施の形態の場合、傾き特定処理部１２０は、座標軸の一方をＸ軸、他方をＹ軸とした場合における、隣接する構成画素の他方方向の座標（すなわちＹ座標）の大小関係として、接線ベクトルの傾きの範囲を特定する。
【００５６】
また、傾き特定処理部１２０は、自らが特定した接線ベクトルの傾きの範囲に基づいて、座標情報において順序が連続する座標（すなわち隣接する構成画素）の、Ｙ座標の座標値が相違するか否かを判断する。
【００５７】
塗り情報選択置換部１２２は、塗り情報領域に記憶された情報のうち点データ読出処理部１１２が選択した座標のいずれかに対応する情報を、接線ベクトルの向きの範囲に対応する内容の塗り情報に置換する。本実施の形態における塗り情報選択置換部１２２についてより具体的に説明すると、後述するように、塗り情報選択置換部１２２は、隣接する構成画素の座標のうちＹ座標の座標値が異なっていれば、座標情報における座標の順序とＹ座標の座標値の大小関係とに基づいて、塗り情報領域に記憶された情報のうち置換の対象となる情報を選択する。さらに、塗り情報領域に記憶された情報のうち選択した情報を、座標情報における座標の順序とＹ座標の座標値の大小関係とに対応する内容の塗り情報に置換する。
【００５８】
塗り情報選択置換部１２２は、一方置換部１３２と、屈曲部分置換部１３４とを含む。
一方置換部１３２は、隣接する構成画素のＹ座標の座標値が相違する場合、座標情報における順序が先の座標のＹ座標の座標値が、その順序が後の座標のＹ座標の座標値より大きいか否かに応じて、塗り情報領域に記憶された情報のうちそれら隣接する構成画素の一方に対応する情報を置換する。
【００５９】
屈曲部分置換部１３４は、隣接する構成画素のＹ座標の座標値が等しい場合、座標情報における順序が連続する座標の一方に順序がさらに連続する座標のＹ座標の座標値と隣接する構成画素のＹ座標の座標値とが異なっていれば、塗り情報領域に記憶された情報のうちＹ座標の座標値が異なる構成画素に隣接する構成画素に対応する情報を置換する。
【００６０】
一方置換部１３２は、第１数値置換部１４０と、第２数値置換部１４２とを含む。
第１数値置換部１４０は、座標情報における順序が先の座標のＹ座標の座標値がその順序が後の座標のＹ座標の座標値より大きければ、塗り情報領域に記憶された情報のうちその順序が先の座標に対応する情報を、その情報に対して値が小さい数値の情報に置換する。
【００６１】
第２数値置換部１４２は、座標情報における順序が先の座標のＹ座標の座標値がその順序が後の座標のＹ座標の座標値より小さければ、塗り情報領域に記憶された情報のうちその順序が後の座標に対応する情報を、その情報に対して値が大きな数値の情報に置換する。
【００６２】
《描画情報処理装置１００を実現するコンピュータシステムの構成》
本実施の形態に係る描画情報処理装置１００は、実質的には、コンピュータシステムと、そのコンピュータシステムにおいて実行されるプログラムと、コンピュータシステムに格納されるデータとにより実現される。図２に、このコンピュータシステム２００の内部構成を示す。
【００６３】
図２を参照して、このコンピュータシステム２００は、コンピュータ２２０と、リモートコントローラ（以下、「リモコン」と呼ぶ）２２４とを含む。
【００６４】
コンピュータ２２０は、リモコン２２４から制御信号を受信すると、出力装置１１や表示装置１２に情報を出力する。
【００６５】
コンピュータ２２０は、光ディスクドライブ２３０と、磁気ディスクドライブ２３２と、リモコンインタフェース（Ｉ／Ｆ）２３４と、ＣＰＵ（Central Processing Unit）２３６と、ＲＯＭ（Rwad Only Memory）２３８と、ＲＡＭ（Random Access Memory）２４０と、ハードディスク２４２と、バス２４４とを含む。
【００６６】
光ディスクドライブ２３０は、コンピュータシステム２００に描画情報処理装置１００の機能を実現させるためのプログラムや輪郭情報１０を光ディスク２１０から読取る。
【００６７】
磁気ディスクドライブ２３２は、コンピュータシステム２００に描画情報処理装置１００の機能を実現させるためのプログラムや輪郭情報１０を磁気ディスク２１１から読取る。
【００６８】
リモコンインタフェース２３４は、リモコン２２４からの制御信号を受信する。
ＣＰＵ２３６は、コンピュータ２２０の各部を制御する。また、ＣＰＵ２３６は、コンピュータ２２０の各部を制御するための演算を行う。
【００６９】
ＲＯＭ２３８は、ブートアッププログラムなどを記憶する。
ＲＡＭ２４０は、プログラム命令、システムプログラム、および作業データなどを記憶する。
【００７０】
ハードディスク２４２は、光ディスク２１０または磁気ディスク２１１の少なくとも一方から読取られたプログラムや輪郭情報１０を記憶する。
【００７１】
バス２４４は、光ディスクドライブ２３０、磁気ディスクドライブ２３２、リモコンインタフェース２３４、ＣＰＵ２３６、ＲＯＭ２３８、ＲＡＭ２４０、およびハードディスク２４２に接続され、それらの間において情報を中継する。
【００７２】
なお、ここでは示さないが、コンピュータ２２０は、さらにＬＡＮ（Local Area Network）に接続するためのネットワークアダプタボードを含んでいてもよい。
【００７３】
また、本実施の形態に係る描画情報処理装置１００は、２台以上のコンピュータ２２０によって実現されていてもよい。たとえば、座標計算部１１０を実現するコンピュータ２２０と、入力部１０１，描画情報格納部１０２，点データ読出処理部１１２，傾き特定処理部１２０，塗り情報選択置換部１２２，塗りつぶし情報作成部１１６，出力処理部１０４，および表示処理部１０５を実現するコンピュータ２２０とによって構成されていてもよい。
【００７４】
上述したように、コンピュータシステム２００に描画情報処理装置１００の機能を実現させるためのプログラムおよび輪郭情報１０は、光ディスク２１０および磁気ディスク２１１の少なくとも一方に記憶され、光ディスクドライブ２３０や磁気ディスクドライブ２３２により読取られ、ハードディスク２４２に転送される。
【００７５】
あるいは、そのプログラムおよび輪郭情報１０は、図示しないネットワークを通じてコンピュータ２２０に送信されハードディスク２４２に記憶されてもよい。
【００７６】
そのプログラムは、実行の際にＲＡＭ２４０にロードされる。そのプログラムは、ハードディスク２４２に記憶されることなく、光ディスク２１０、磁気ディスク２１１、およびネットワークのいずれかを介してＲＡＭ２４０に直接ロードされてもよい。
【００７７】
このプログラムは、コンピュータ２２０に本実施の形態に係る描画情報処理装置１００の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータ２２０上で動作するオペレーティングシステム（ＯＳ）またはサードパーティのプログラム、もしくはコンピュータ２２０にインストールされる各種ツールキットのモジュールにより提供される。したがって、光ディスク２１０や磁気ディスク２１１などの記録媒体に記録されるプログラムは、本実施の形態に係る描画情報処理装置１００の機能を実現するのに必要な機能すべてを必ずしも含まなくてよい。そのプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または上述したモジュールを呼出すことにより、描画情報処理装置１００の制御を実現する命令のみを含んでいればよい。コンピュータシステム２００自体の動作は周知であるので、ここでは繰り返さない。
【００７８】
なお、描画情報処理装置１００の機能を実現するためのプログラムおよび輪郭情報１０が記録される記録媒体は、ＣＤ−ＲＯＭ（コンパクトディスク読取専用メモリ）、ＭＯ（Magneto-Optical  Disc）、ＭＤ（Mini  Disc）、あるいはＤＶＤ（Digital  Versatile  Disc）などの光ディスク２１０や、ＦＤ（Flexible  Disc）およびハードディスクなどの磁気ディスク２１１に限られない。磁気テープおよびカセットテープなどのテープ、ＩＣ（Integrated  Circuit）カードおよび光カードなどのカード型記録媒体、ならびにマスクＲＯＭ、ＥＰＲＯＭ（Erasable  Programable  Rom）、ＥＥＰＲＯＭ（Electrically  Erasable  Programable  Rom）、およびフラッシュＲＯＭなどの半導体メモリのいずれかでもよい。ただし、コンピュータシステム２００は、これら記録媒体からの読出を行なうための読出装置を実装する必要がある。
【００７９】
《塗り情報の設定》
図３を参照して、本実施の形態に係る描画情報処理装置１００で実行されるプログラムは、塗り情報の設定に関し、以下のような制御を実行する。
【００８０】
ステップＳ３０１にて、座標計算部１１０は、構成画素の座標を計算する。この計算には、入力部１０１を介して入力された輪郭情報１０が使用される。これにより、座標情報が作成される。本実施の形態の場合、作成された座標情報には、輪郭情報１０が示す頂点の座標も含まれる。描画情報格納部１０２は、作成された座標情報を記憶する。点データ読出処理部１１２は、描画情報格納部１０２に座標情報として記憶された構成画素の座標を読み出す。読み出される座標は、１つの構成画素の座標である。
【００８１】
ただし、座標計算部１１０が構成画素の座標を計算する時期は特に限定されない。たとえば、構成画素の座標は、座標計算部１１０によって予め計算されかつ描画情報格納部１０２によって予め記憶されていてもよいし、点データ読出処理部１１２が構成画素の座標を読み出すたびに、座標計算部１１０によって計算されかつ描画情報格納部１０２によって記憶されていてもよい。
【００８２】
ステップＳ３０２にて、点データ読出処理部１１２は、ステップＳ３０１にて読み出した座標を点Ａに代入し、ステップＳ３０３へ進む。
【００８３】
ステップＳ３０３にて、点データ読出処理部１１２は、描画情報格納部１０２が記憶した座標において、点Ａに座標が代入された構成画素に隣接する構成画素の座標が存在するか否かを判断する。本実施の形態の場合、点データ読出処理部１１２は、点Ａに代入された座標に対して座標情報における順序が１つ後の座標が存在するか否かに基づいて、そのことを判断する。そのような構成画素の座標が存在すると判断した場合には（ステップＳ３０３にてＹＥＳ）、処理はステップＳ３０４へと移される。もしそうでないと（ステップＳ３０３にてＮＯ）、処理は終了する。
【００８４】
ステップＳ３０４にて、点データ読出処理部１１２は、点Ａに座標が代入された構成画素に隣接する構成画素の座標を描画情報格納部１０２から読み出し、ステップＳ３０５へ進む。読み出される座標は、１つの構成画素の座標である。
【００８５】
ステップＳ３０５にて、点データ読出処理部１１２は、ステップＳ３０４にて読み出した座標を点Ｂに代入して、ステップＳ３０６へ進む。
【００８６】
ステップＳ３０６にて、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する。点Ａの座標に対して点Ｂの座標が大きいと判断した場合には（ステップＳ３０６にてＹＥＳ）、処理はステップＳ３０８へと移される。もしそうでないと（ステップＳ３０６にてＮＯ）、処理はステップＳ３０７へと移される。
【００８７】
ステップＳ３０７にて、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する。点Ａの座標に対して点Ｂの座標が小さいと判断した場合には（ステップＳ３０７にてＹＥＳ）、処理はステップＳ３０９へと移される。もしそうでないと（ステップＳ３０７にてＮＯ）、処理はステップＳ３１０へと移される。
【００８８】
なお、本実施の形態の場合、表示装置１２の表示面における左下を原点とし、水平右方向をＸ軸正方向とし、垂直上方向をＹ軸正方向とするが、必ずしもこの座標系にこだわらない。異なる座標系の場合はそれにあわせて適宜読み替えればよい。
【００８９】
ステップＳ３０８にて、第２数値置換部１４２は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し、ステップＳ３１２へ進む。
【００９０】
ステップＳ３０９にて、第１数値置換部１４０は、点Ａの座標に対応する塗り情報の値に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し、ステップＳ３１２へ進む。
【００９１】
ステップＳ３１０では、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点であるか否かを判断する。点Ａの座標と点Ｂの座標とが同一点であると判断した場合には（ステップＳ３１０にてＹＥＳ）、処理はステップＳ３１２へと移される。もしそうでないと（ステップＳ３１０にてＮＯ）、処理はステップＳ３１１へと移される。
【００９２】
ステップＳ３１１にて、屈曲部分置換部１３４は、点Ａと点ＢとのＹ座標が同じであるため水平線分用処理を行い、ステップＳ３１２へ進む。水平線分用処理の詳細については、図４において説明する。
【００９３】
ステップＳ３１２にて、点データ読出処理部１１２は、点Ｂの座標を点Ａに代入し、ステップＳ３０３へ処理を戻す。
【００９４】
《水平線分用処理》
図４を参照して、本実施の形態に係る描画情報処理装置１００で実行されるプログラムは、水平線分用の塗り情報の設定に関し、以下のような制御を実行する。
【００９５】
ステップＳ３５１にて、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する。点ＡのＸ座標の方が大きいと判断した場合には（ステップＳ３５１にてＹＥＳ）、処理はステップＳ３５２へと移される。もしそうでないと（ステップＳ３５１にてＮＯ）、処理はステップＳ３５４へと移される。
【００９６】
ステップＳ３５２にて、屈曲部分置換部１３４は、点Ａが示す構成画素の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し、ステップＳ３５３へ進む。
【００９７】
ステップＳ３５３にて、屈曲部分置換部１３４は、点Ｂが示す構成画素の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し、処理を終了する。
【００９８】
ステップＳ３５４にて、屈曲部分置換部１３４は、点Ａが示す構成画素の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し、ステップＳ３５５へ進む。
【００９９】
ステップＳ３５５にて、屈曲部分置換部１３４は、点Ｂが示す構成画素の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し、処理を終了する。
【０１００】
《塗りつぶし処理》
図５を参照して、本実施の形態に係る描画情報処理装置１００で実行されるプログラムは、塗りつぶしに関し、以下のような制御を実行する。
【０１０１】
ステップＳ３６０にて、塗りつぶし情報作成部１１６は、変数ＰＸおよび変数ＰＹに「０」を代入する。
【０１０２】
ステップＳ３６２にて、塗りつぶし情報作成部１１６は、図示しないレジスタの値を「０」とする。
【０１０３】
ステップＳ３６４にて、塗りつぶし情報作成部１１６は、Ｘ座標の値が変数ＰＸ以下でＹ座標の値が変数ＰＹに等しい点の塗り情報の値をレジスタの値に順次加算していくことで、それらの塗り情報の値の和を算出する。
【０１０４】
ステップＳ３６６にて、塗りつぶし情報作成部１１６は、ステップＳ３６４にて算出した和が「０」を超えるか否かを判断する。和が「０」を超えると判断した場合には（ステップＳ３６６にてＹＥＳ）、処理はステップＳ３６８へと移される。もしそうでないと（ステップＳ３６６にてＮＯ）、処理はステップＳ３７０へと移される。
【０１０５】
ステップＳ３６８にて、塗りつぶし情報作成部１１６は、変数ＰＸの値をＸ座標の値とし変数ＰＹの値をＹ座標の値とする画素を、予め定められた、背景色とは異なる色の画素とするように、画像を示す画像データの値を設定する。
【０１０６】
ステップＳ３７０にて、塗りつぶし情報作成部１１６は、Ｘ座標の値が変数ＰＸに等しくＹ座標の値が変数ＰＹに等しい座標が、描画情報格納部１０２に座標情報として記憶された座標のいずれかであるか否かを判断する。Ｘ座標の値が変数ＰＸでＹ座標の値が変数ＰＹに等しい座標が、描画情報格納部１０２に座標情報として記憶された座標のいずれかであると判断した場合には（ステップＳ３７０にてＹＥＳ）、処理はステップＳ３６８へと移される。もしそうでないと（ステップＳ３７０にてＮＯ）、処理はステップＳ３７２へと移される。
【０１０７】
ステップＳ３７２にて、塗りつぶし情報作成部１１６は、変数ＰＸの値を「１」増加させる。
【０１０８】
ステップＳ３７４にて、塗りつぶし情報作成部１１６は、変数ＰＸの値が表示装置１２の表示面におけるＸ座標の最大値（本実施の形態の場合、この最大値は「１２」であることとする）以下か否かを判断する。変数ＰＸの値がその最大値以下と判断した場合には（ステップＳ３７４にてＹＥＳ）、処理はステップＳ３６４へと移される。もしそうでないと（ステップＳ３７４にてＮＯ）、処理はステップＳ３７６へと移される。
【０１０９】
ステップＳ３７６にて、塗りつぶし情報作成部１１６は、変数ＰＸの値を「０」とし、変数ＰＹの値を「１」増加させる。
【０１１０】
ステップＳ３７８にて、塗りつぶし情報作成部１１６は、変数ＰＹの値が表示装置１２の表示面におけるＹ座標の最大値（本実施の形態の場合、この最大値は「１２」であることとする）以下か否かを判断する。変数ＰＹの値がその最大値以下と判断した場合には（ステップＳ３７８にてＹＥＳ）、処理はステップＳ３６４へと移される。もしそうでないと（ステップＳ３７８にてＮＯ）、塗りつぶし情報作成部１１６が作成した画像データを出力処理部１０４および表示処理部１０５の少なくとも一方が出力し、処理は終了する。
【０１１１】
《描画情報処理装置１００の動作》
以上のような構造およびフローチャートに基づく、輪郭情報１０に基づいて輪郭線を描くときに各点に対して塗り情報を付与し、その塗り情報を使用して輪郭線内を塗りつぶす際の、描画情報処理装置１００の動作について説明する。
【０１１２】
ここでは、四角形ＰＱＲＳの内部を塗りつぶす場合について説明する。図６は、表示装置１２の表示面の座標系５００と四角形ＰＱＲＳの配置とを示す図である。
【０１１３】
図６に示すように、本実施の形態の場合、座標系５００は左下を原点として、水平右方向をＸ軸正方向とし、垂直上方向をＹ軸正方向とする。
【０１１４】
図７は、本実施の形態にかかる四角形ＰＱＲＳの輪郭情報１０を示す概念図である。本実施の形態の場合、輪郭情報１０は、「０」から「２５５」までの値でＸ座標とＹ座標とを示す、頂点の座標値の集合体である。このため、たとえば表示領域の画素が１２個×１２個の場合、それに合わせて座標の値をスケーリングする必要がある。スケーリングのためには、輪郭情報１０が示す座標値を「２５５」で割った値に「１２」を掛けると良い。
【０１１５】
もちろん、輪郭情報１０は、「０」から「２５５」までの値でＸ座標とＹ座標とを示すものに限られない。たとえば、「０」から「１０２３」までの値でＸ座標とＹ座標とを示すものであっても構わない。すなわち、輪郭情報とは、輪郭線を示す閉曲線で塗りつぶす領域を表現できるような情報であれば構わない。
【０１１６】
また、描画情報処理装置１００に入力される輪郭情報１０において、座標値の順序は、輪郭線における位置と、輪郭線で囲まれた領域の内側を塗りつぶすか外側を塗りつぶすかということとによって定められている。たとえば、図６に示す四角形ＰＱＲＳの場合、四角形ＰＱＲＳの内側を塗りつぶすため、座標値の順序は、構成画素Ｐ―線分ＰＱを構成する画素―構成画素Ｑ―線分ＱＲを構成する画素―構成画素Ｒ―線分ＲＳを構成する画素―構成画素Ｓ―線分ＳＰを構成する画素―構成画素Ｐという順序である。図６において、構成画素Ｐ，構成画素Ｑ，構成画素Ｒ，および構成画素Ｓの間の矢印は、この順序を示す。四角形ＰＱＲＳの外側を塗りつぶす場合、座標値の順序は、構成画素Ｐ−構成画素Ｓ−構成画素Ｒ−構成画素Ｑ−構成画素Ｐという順序になる。
【０１１７】
なお、図７に示すように、スケーリングする前における四角形ＰＱＲＳの各頂点の座標は、Ｐ（１２７，１７０），Ｑ（２１２，４２），Ｒ（２１，４２），およびＳ（８５，１７０）である。
【０１１８】
描画情報処理装置１００の電源が入れられると、プログラムが起動し、座標計算部１１０は、構成画素の座標を計算する。描画情報格納部１０２は、算出された構成画素の座標を座標情報としていったん記憶する。
【０１１９】
本実施の形態の場合、座標計算部１１０は、輪郭情報１０が示す頂点の座標を１２×１２の画素の数に合うようにスケーリングし、さらに構成画素の座標を計算する。
【０１２０】
このステップにおいて、座標計算部１１０は、次に第１の処理から第３の処理までの処理を経て、構成画素の座標を算出する。
【０１２１】
第１の処理は、２つの構成画素を通るベクトルを求める処理である。このベクトルは、それらの構成画素のＸ座標の差とＹ座標の差とを算出することにより求められる。たとえば、それらの構成画素が構成画素Ｐと構成画素Ｑとであったとすると、Ｘ座標の差ΔＸは、ΔＸ＝２１２÷２５５×１２−１２７÷２５５×１２＝（２１２−１２７）÷２５５×１２＝４である。Ｙ座標の差ΔＹは、ΔＹ＝４２÷２５５×１２−１７０÷２５５×１２＝（４２−１７０）÷２５５×１２≒−６である。これにより、ベクトルＰＱは（４，−６）となる。ちなみに、輪郭情報１０が示す頂点の座標を１２×１２の画素の数に合うようにスケーリングした場合の、構成画素Ｐの座標は（６，８）である。構成画素Ｑの座標は（９，２）である。
【０１２２】
第２の処理は、Ｙ座標の差ΔＹの絶対値がＸ座標の差ΔＸの絶対値より大きいか否かを判断する処理である。ベクトルＰＱの場合、ΔＹの絶対値が「６」で、ΔＸの絶対値が「４」なので、ΔＹの絶対値がΔＸの絶対値より大きい。
【０１２３】
第３の処理は、Ｘ座標の値およびＹ座標の値の一方を次の式（１）に代入し、他方を算出する処理である。本実施の形態の場合、Ｘ座標の値を算出するために変形された式（１）とＹ座標の値を算出するために変形された式（１）とが予め記憶されており、変形された式（１）にＸ座標の値およびＹ座標の座標値の一方を代入し、他方を算出することで、構成画素の座標が算出される。
【０１２４】
Ｙ−ＶＡＹ＝（ＶＡＹ−ＶＢＹ）÷（ＶＡＸ−ＶＢＸ）×（Ｘ−ＶＡＸ）・・・（１）
ただし、ＶＡＸは構成画素の座標の算出に用いる２点のうち一方の点のＸ座標を示し、ＶＡＹはその点のＹ座標を示す。ＶＢＸは他方の点のＸ座標を示し、ＶＡＹはその他方の点のＹ座標を示す。Ｘは構成画素のＸ座標を示し、Ｙは構成画素のＹ座標を示す。
【０１２５】
Ｘ座標とＹ座標とのうちいずれを変形された式（１）に代入するかということは、第２の処理における判断結果に基づいて選択される。ΔＹの絶対値がΔＸの絶対値より大きければ、Ｙ座標を代入する。ΔＹの絶対値がΔＸの絶対値以下ならば、Ｘ座標を代入する。
【０１２６】
このように選択するのは、図形を表示させる際、構成画素が途切れないようにするためである。たとえば、構成画素Ｐと構成画素Ｑとの間の構成画素のＹ座標を、Ｘ座標を代入して算出するとする。この場合、式（１）は、次の式（２）のように予め変形されている。
【０１２７】
Ｙ−８＝（８−２）÷（６−９）×（Ｘ−６）＝６÷（−３）×（Ｘ−６）＝−２（Ｘ−６）・・・（２）
上述したように、ベクトルＰＱの場合、ΔＹの絶対値がΔＸの絶対値より大きい。この場合、上述した式（２）にＸ座標の値である「７」および「８」を代入してＹ座標の値を算出すると、算出される構成画素のＹ座標は「６」および「４」となる。これにより算出される構成画素の座標は、（７，６）および（８，４）のみである。Ｙ座標の値が「７」である構成画素の座標も、「５」である構成画素の座標も、そして「３」である構成画素の座標も算出されない。このため、これらの構成画素を表示させると、輪郭線が途切れているように表示されることとなる。
【０１２８】
これに対し、Ｙ座標の値である、「７」，「６」，「５」，「４」，および「３」を代入してＸ座標の値を算出すると、算出される構成画素のＹ座標は「７」，「７」，「８」，「８」，および「９」となる。これらの構成画素を表示させると、構成画素が互いに隣接しているので、輪郭線は途切れず表示されることとなる。
【０１２９】
図８は、座標計算部１１０が算出し、描画情報格納部１０２が記憶した、四角形ＰＱＲＳについての座標情報を示す図である。本実施の形態の場合、これらの座標は、輪郭情報１０における構成画素の名称に対応付けて記憶されている。
【０１３０】
なお、これらの座標のうち順序が連続している座標は、隣合う構成画素の座標を示している。たとえば、図８において構成画素ｐ（１）の座標は（７，７）である。座標値の順序がこの座標に連続している構成画素ｐ（２）の座標は（７，６）である。座標値の順序が構成画素ｐ（２）に連続している構成画素ｐ（３）の座標は（８，５）である。座標の順序が構成画素ｐ（１）に連続している構成画素の座標が（８，５）となることはない。
【０１３１】
構成画素の座標が記憶されると、点データ読出処理部１１２は、それらの座標のうち、構成画素Ｐの座標（６，８）を読み出す（ステップＳ３０１）。図９は、表示装置１２の表示面における構成画素Ｐの位置を示す図である。
【０１３２】
構成画素Ｐの座標（６，８）が読み出されると、点データ読出処理部１１２は、その座標値を点Ａに代入する（ステップＳ３０２）。
【０１３３】
点Ａに座標値が代入されると、点データ読出処理部１１２は、描画情報格納部１０２が記憶した座標において、点Ａに座標が代入された構成画素に隣接する構成画素の座標が存在するか否かを判断する（ステップＳ３０３）。この場合、構成画素ｐ（１）の座標（７，７）が存在するので（ステップＳ３０３にてＹＥＳ）、点データ読出処理部１１２は、構成画素ｐ（１）の座標（７，７）を読み出し（ステップＳ３０４）、点Ｂに代入する（ステップＳ３０５）。
【０１３４】
構成画素ｐ（１）の座標（７，７）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、点ＡのＹ座標が「８」で点ＢのＹ座標が「７」なので（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここでは、点ＡのＹ座標が「８」で点ＢのＹ座標が「７」なので（ステップＳ３０７にてＹＥＳ）、第１数値置換部１４０は、点Ａの座標に対応する塗り情報の値に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０９）。ここでは、構成画素Ｐ（６，８）の塗り情報に「−１」を加算し、構成画素Ｐ（６，８）の塗り情報を加算の結果得られた値に更新する。
【０１３５】
図１０は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。図１０に示すように、構成画素Ｐの塗り情報５３１は「−１」となる。
【０１３６】
なお、本実施の形態の場合、描画情報処理装置１００の電源が入れられた時、塗り情報領域には、各構成画素に対応付けて、「０」が予め記憶される。図１０以降の図においては、塗り情報が「０」の構成画素には塗り情報が表示されていない。
【０１３７】
構成画素Ｐ（６，８）の塗り情報に「−１」が加算されると、点データ読出処理部１１２は、構成画素ｐ（１）の座標を点Ａに代入する（ステップＳ３１２）。
【０１３８】
構成画素ｐ（１）の座標が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｐ（２）の座標（７，６）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０１３９】
構成画素ｐ（２）の座標（７，６）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、Ｙ座標が「７」から「６」に減少しているため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここでは、Ｙ座標が「７」から「６」に減少しているため（ステップＳ３０７にてＹＥＳ）、第１数値置換部１４０は、点Ａすなわち構成画素ｐ（１）の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０９）。
【０１４０】
図１１は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。図１１に示すように、構成画素ｐ（１）の塗り情報５３２は「−１」となる。
【０１４１】
以下同様に処理を進め、ステップＳ３０９にて点Ａ、すなわち構成画素ｐ（５）の塗り情報に「−１」を加算してステップＳ３０３へ処理が戻った時点の塗り情報を図１２に示す。このとき、点Ａには構成画素Ｑ（９，２）が代入されている。
【０１４２】
構成画素Ｑの座標が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｑ（１）の座標（８，２）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０１４３】
構成画素ｑ（１）の座標（８，２）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここではＹ座標の値が変化していないため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「９」で点ＢのＸ座標が「８」のため（ステップＳ３５１にてＹＥＳ）、屈曲部分置換部１３４は、点Ａすなわち構成画素Ｑの塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５２）。
【０１４４】
構成画素Ｑの塗り情報に「−１」が加算されると、屈曲部分置換部１３４は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５３）。ここでは、構成画素ｑ（１）の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し、図３に示すフローチャートのステップＳ３１２へ進む。
【０１４５】
図１３は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。ゆえに、図１３に示すように、構成画素Ｑの塗り情報５４１は「−１」となり、構成画素ｑ（１）の塗り情報５４２は「＋１」となる。
【０１４６】
構成画素ｑ（１）の塗り情報に「＋１」が加算されると、点データ読出処理部１１２は、構成画素ｑ（１）の座標値を点Ａに代入する（ステップＳ３１２）。
【０１４７】
構成画素ｑ（１）の座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｑ（２）の座標（７，２）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０１４８】
構成画素ｑ（２）の座標（７，２）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（８，２）のＹ座標に対して点Ｂ（７，２）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここではＹ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「８」で点ＢのＸ座標が「７」のため（ステップＳ３５１にてＹＥＳ）、屈曲部分置換部１３４は、点Ａすなわち構成画素ｑ（１）の構成画素の塗り情報に「−１」を加算する（ステップＳ３５２）。
【０１４９】
構成画素ｑ（１）の構成画素の塗り情報に「−１」が加算されると、屈曲部分置換部１３４は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算する（ステップＳ３５３）。ここでは、構成画素ｑ（２）の構成画素の塗り情報に「＋１」を加算し、図３に示すフローチャートのステップＳ３１２へ進む。
【０１５０】
図１４は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。図１４に示すように、構成画素ｑ（１）の構成画素の塗り情報５４２は「−１」が加算されたために「０」となり、構成画素ｑ（２）の構成画素の塗り情報５４３は「＋１」となる。
【０１５１】
以下同様に処理を進め、ステップＳ３５３にて点Ｂすなわち構成画素Ｒの塗り情報に「＋１」を加算してステップＳ３０３へ処理が戻った時点の塗り情報を図１５に示す。このとき、点Ａには構成画素Ｒ（１，２）が代入されている。
【０１５２】
構成画素Ｒ（１，２）の座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｒ（１）の座標（１，３）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０１５３】
構成画素ｒ（１）の座標（１，３）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（１，２）のＹ座標に対して点Ｂ（１，３）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、点ＡのＹ座標が「２」で点ＢのＹ座標が「３」であるため（ステップＳ３０６にてＹＥＳ）、第２数値置換部１４２は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０８）。ここでは、点Ｂすなわち構成画素ｒ（１）の塗り情報に「＋１」を加算する。
【０１５４】
図１６は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。図１６に示すように、構成画素ｒ（１）の構成画素の塗り情報５５１は「＋１」となる。
【０１５５】
構成画素ｒ（１）の構成画素の塗り情報に「＋１」が加算され、更新されると、点データ読出処理部１１２は、構成画素ｒ（１）の座標値を点Ａに代入する（ステップＳ３１２）。
【０１５６】
構成画素ｒ（１）の座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｒ（２）の座標（２，４）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０１５７】
構成画素ｒ（２）の座標（２，４）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（１，３）のＹ座標に対して点Ｂ（２，４）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、Ｙ座標が「３」から「４」に増加しているため（ステップＳ３０６にてＹＥＳ）、第２数値置換部１４２は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０８）。ここでは、点Ｂすなわち構成画素ｒ（２）の塗り情報に「＋１」を加算する。
【０１５８】
図１７は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。図１７に示すように、構成画素ｒ（２）の構成画素の塗り情報５５２は「＋１」となる。
【０１５９】
以下同様に処理を進め、ステップＳ３０８にて点Ｂすなわち構成画素Ｓの塗り情報に「＋１」を加算してステップＳ３０３へ処理が戻った時点の塗り情報を図１８に示す。この時、点Ａには構成画素Ｓ（４，８）が代入されている。
【０１６０】
構成画素Ｓの塗り情報に「＋１」が加算されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は描画情報格納部１０２から構成画素ｓ（１）の座標（５，８）を読出し、これを点Ｂに代入する。
【０１６１】
構成画素ｓ（１）の座標（５，８）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（４，８）のＹ座標に対して点Ｂ（５，８）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここではＹ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「４」で点ＢのＸ座標が「５」のため（ステップＳ３５１にてＮＯ）、屈曲部分置換部１３４は、点Ａが示す構成画素すなわち構成画素Ｓの塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５４）。
【０１６２】
構成画素Ｓの塗り情報に「＋１」が加算されると、屈曲部分置換部１３４は、点Ｂすなわち構成画素ｓ（１）の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し（ステップＳ３５５）、図３に示すフローチャートのステップＳ３１２へ進む。
【０１６３】
図１９は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。図１９に示すように、構成画素Ｓの塗り情報５６１は「＋２」となり、構成画素ｓ（１）の塗り情報５６２は「−１」となる。
【０１６４】
構成画素ｓ（１）の塗り情報に「−１」が加算されると、点データ読出処理部１１２は、構成画素ｓ（１）の座標値を点Ａに代入する（ステップＳ３１２）。
【０１６５】
構成画素ｓ（１）の座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素Ｐの座標（６，８）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０１６６】
構成画素Ｐの座標（６，８）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（５，８）のＹ座標に対して点Ｂ（６，８）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここではＹ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「５」で点ＢのＸ座標が「６」のため（ステップＳ３５１にてＮＯ）、屈曲部分置換部１３４は、点Ａが示す構成画素すなわち構成画素ｓ（１）の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５４）。
【０１６７】
構成画素ｓ（１）の塗り情報に「＋１」が加算されると、屈曲部分置換部１３４は、点Ｂすなわち構成画素Ｐの塗り情報に「−１」を加算する（ステップＳ３５５）。
【０１６８】
図２０は、図９において黒枠５３０で囲んだ領域に含まれる構成画素の、この時点における塗り情報を示す図である。図２０に示すように、構成画素ｓ（１）の構成画素の塗り情報５６２は「＋１」が加算されたために「０」となり、構成画素Ｐの塗り情報５３１は「−１」が加算されたために「−２」となる。
【０１６９】
構成画素Ｐの塗り情報に「−１」が加算されると、点データ読出処理部１１２は、構成画素Ｐの座標値を点Ａに代入する（ステップＳ３１２）。
【０１７０】
構成画素Ｐの座標値が点Ａに代入されると、点データ読出処理部１１２は、描画情報格納部１０２が記憶した座標において、構成画素Ｐに隣接する構成画素の座標が存在するか否かを判断する（ステップＳ３０３）。この場合、座標が存在しないので（ステップＳ３０３にてＮＯ）、処理は終了する。これにより、図２０に示すように、四角形ＰＱＲＳの輪郭線を構成する各点データの塗り情報を付与することができる。
【０１７１】
次に、図２０に示す塗り情報をもとに四角形ＰＱＲＳの内部を塗りつぶす際の動作について説明する。
【０１７２】
本実施の形態の場合、塗りつぶし情報作成部１１６は、走査線方向、すなわち水平右方向に各点データの塗り情報をレジスタに加算していき、そのレジスタの値が「０」を超える区間のみ塗りつぶす。
【０１７３】
塗りつぶし情報作成部１１６は、変数ＰＸおよび変数ＰＹに「０」を代入する（ステップＳ３６０）。「０」が代入されると、塗りつぶし情報作成部１１６は、レジスタの値を「０」とする（ステップＳ３６２）。
【０１７４】
レジスタの値が「０」になると、塗りつぶし情報作成部１１６は、走査線方向、すなわち水平右方向に各点データの塗り情報をレジスタに加算する（ステップＳ３６４）。
【０１７５】
加算が終了すると、塗りつぶし情報作成部１１６は、ステップＳ３６４にて算出した和が「０」以上か否かを判断する（ステップＳ３６６）。
【０１７６】
図２１は、図２０に示す塗り情報を図９に示す座標系で表現し直したものである。図２１から明らかなように、この場合、ステップＳ３６４にて算出した和は「０」なので（ステップＳ３６６にてＮＯ）、塗りつぶし情報作成部１１６は、Ｘ座標の値が変数ＰＸに等しくＹ座標の値が変数ＰＹに等しい座標が、描画情報格納部１０２に座標情報として記憶された座標のいずれかであるか否かを判断する（ステップＳ３７０）。この場合、座標（０，０）の点は構成画素ではないので（ステップＳ３７０にてＮＯ）、塗りつぶし情報作成部１１６は、変数ＰＸの値を「１」増加させる（ステップＳ３７２）。
【０１７７】
変数ＰＸの値が「１」増加すると、塗りつぶし情報作成部１１６は、変数ＰＸの値が「１２」以下か否かを判断する（ステップＳ３７４）。この場合、変数ＰＸの値が「１２」以下なので（ステップＳ３７４にてＹＥＳ）、ステップＳ３６４〜ステップＳ３７４の処理が繰返される。
【０１７８】
その後、ＰＸの値が「１３」になった時にも、塗りつぶし情報作成部１１６は、変数ＰＸの値が「１２」以下か否かを判断する（ステップＳ３７４）。この場合、ＰＸの値が「１２」以下ではないので（ステップＳ３７４にてＮＯ）、塗りつぶし情報作成部１１６は、変数ＰＸの値を「０」とし、変数ＰＹの値を「１」増加させる（ステップＳ３７６）。
【０１７９】
変数ＰＸの値が「０」され、変数ＰＹの値が「１」増加すると、塗りつぶし情報作成部１１６は、変数ＰＹの値が「１２」以下か否かを判断する。この場合、変数ＰＹの値が「１２」以下なので（ステップＳ３７８にてＹＥＳ）、ステップＳ３６４〜ステップＳ３７４の処理が繰返される。
【０１８０】
その後、塗りつぶし情報作成部１１６は、塗り情報の和を再度算出する（ステップＳ３６４）。この場合、変数ＰＸの値が「１」で変数ＰＹの値が「２」であることとする。この場合、図２１から明らかなように、塗り情報の和は「＋１」となる。
【０１８１】
和が算出されると、塗りつぶし情報作成部１１６は、ステップＳ３６４にて算出した和が「０」以上か否かを判断する（ステップＳ３６６）。この場合和は「＋１」なので（ステップＳ３６６にてＹＥＳ）、塗りつぶし情報作成部１１６は、変数ＰＸの値をＸ座標の値とし変数ＰＹの値をＹ座標の座標値とする点の画素を、予め定められた、背景色とは異なる色の画素とするように、画像を示す画像データの値を設定する（ステップＳ３６８）。
【０１８２】
画像データの値が設定されると、塗りつぶし情報作成部１１６は、変数ＰＸの値を「１」増加させる（ステップＳ３７２）。
【０１８３】
変数ＰＸの値が「１」増加すると、塗りつぶし情報作成部１１６は、変数ＰＸの値が「１２」以下か否かを判断する（ステップＳ３７４）。この場合、変数ＰＸの値が「１２」以下なので（ステップＳ３７４にてＹＥＳ）、塗りつぶし情報作成部１１６は、塗り情報の和を再度算出する（ステップＳ３６４）。この場合、ＰＸの値が「２」でＰＹの値が「２」である。この場合、図２１から明らかなように、座標（０，２）の塗り情報は「０」で、座標（１，２）の塗り情報は「＋１」で、座標（２，２）の塗り情報は「０」である。これにより、それらの和は「＋１」である。
【０１８４】
和が算出されると、塗りつぶし情報作成部１１６は、ステップＳ３６４にて算出した和が「０」以上か否かを判断する（ステップＳ３６６）。この場合和は「＋１」なので（ステップＳ３６６にてＹＥＳ）、塗りつぶし情報作成部１１６は、変数ＰＸの値をＸ座標の値とし変数ＰＹの値をＹ座標の座標値とする点の画素を、予め定められた、背景色とは異なる色の画素とするように、画像を示す画像データの値を設定する（ステップＳ３６８）。
【０１８５】
画像データの値が設定されると、塗りつぶし情報作成部１１６は、変数ＰＸの値を「１」増加させる（ステップＳ３７２）。
【０１８６】
変数ＰＸの値が「１」増加すると、塗りつぶし情報作成部１１６は、変数ＰＸの値が「１２」以下か否かを判断する（ステップＳ３７４）。この場合、変数ＰＸの値が「１２」以下なので（ステップＳ３７４にてＹＥＳ）、ステップＳ３６４〜ステップＳ３７４の処理が繰返される。
【０１８７】
その後、塗りつぶし情報作成部１１６は、塗り情報の和を再度算出する（ステップＳ３６４）。この場合、ＰＸの値が「９」でＰＹの値が「２」であることとする。この場合、図２１から明らかなように、座標（０，２）の塗り情報は「０」で、座標（１，２）の塗り情報は「＋１」で、座標（２，２）から座標（８，２）までの塗り情報は「０」で、座標（９，２）の塗り情報は「−１」である。これにより、それらの和は「０」である。
【０１８８】
和が算出されると、塗りつぶし情報作成部１１６は、ステップＳ３６４にて算出した和が「０」以上か否かを判断する（ステップＳ３６６）。この場合和は「０」なので（ステップＳ３６６にてＮＯ）、塗りつぶし情報作成部１１６は、Ｘ座標の値が変数ＰＸに等しくＹ座標の値が変数ＰＹに等しい座標が、描画情報格納部１０２に座標情報として記憶された座標のいずれかであるか否かを判断する（ステップＳ３７０）。この場合、座標（９，２）の点は構成画素Ｑなので（ステップＳ３７０にてＹＥＳ）、塗りつぶし情報作成部１１６は、変数ＰＸの値をＸ座標の値とし変数ＰＹの値をＹ座標の座標値とする点の画素を、予め定められた、背景色とは異なる色の画素とするように、画像を示す画像データの値を設定する（ステップＳ３６８）。
【０１８９】
予め定められた色の点が表示されると、塗りつぶし情報作成部１１６は、変数ＰＸの値を「１」増加させる（ステップＳ３７２）。その後、ステップＳ３７４の処理を経て、塗りつぶし情報作成部１１６は、塗り情報の和を再度算出する（ステップＳ３６４）。この場合、変数ＰＸの値が「１０」で変数ＰＹの値が「２」である。図２１から明らかなように、座標（０，２）の塗り情報は「０」で、座標（１，２）の塗り情報は「＋１」で、座標（２，２）から座標（８，２）までの塗り情報は「０」で、座標（９，２）の塗り情報は「−１」で、座標（１０，２）の塗り情報は「０」である。これにより、それらの和は「０」である。
【０１９０】
和が算出されると、塗りつぶし情報作成部１１６は、ステップＳ３６４にて算出した和が「０」以上か否かを判断する（ステップＳ３６６）。この場合和は「０」なので（ステップＳ３６６にてＮＯ）、塗りつぶし情報作成部１１６は、Ｘ座標の値が変数ＰＸに等しくＹ座標の値が変数ＰＹに等しい座標が、描画情報格納部１０２に座標情報として記憶された座標のいずれかであるか否かを判断する（ステップＳ３７０）。この場合、座標（１０，２）の点は頂点や構成画素ではないので（ステップＳ３７０にてＮＯ）、塗りつぶし情報作成部１１６は、変数ＰＸの値を「１」増加させる（ステップＳ３７２）。その後、ステップＳ３７４の処理をいったん経て、ステップＳ３６４〜ステップＳ３７４の処理が繰返される。
【０１９１】
その後、ＰＸの値が「１３」になった後（ステップＳ３７２）、塗りつぶし情報作成部１１６は、変数ＰＸの値を「０」とし、変数ＰＹの値を「１」増加させる。これにより、ＰＸの値は「０」となり、ＰＹの値は「３」となる。
【０１９２】
その後、ステップＳ３６４〜ステップＳ３７８の処理が繰返されると、輪郭線の内部を塗りつぶすことができる。塗りつぶした結果を図２２に示す。
【０１９３】
次に、塗りつぶされる四角形の中に塗りつぶされない四角形を描画するような場合、すなわち白抜きするような図を描く場合について説明する。図２３は、表示装置１２の表示面の座標系５００と四角形ＰＱＲＳと四角形ＴＵＶＷの配置とを示す図である。図２３に示すように、四角形ＰＱＲＳの内部に四角形ＴＵＶＷが存在する。
【０１９４】
描画情報処理装置１００の電源が入れられると、ステップＳ３０１の処理とステップＳ３０２の処理とを経て、ステップＳ３０３〜ステップＳ３１２の処理が繰返されることにより、線分ＰＱ、線分ＱＲ、線分ＲＳ、および線分ＳＰの各構成画素における塗り情報が付与される。
【０１９５】
その後、四角形ＴＵＶＷの輪郭情報１０が入力されると、座標計算部１１０は、四角形ＴＵＶＷの輪郭情報に基づいて、輪郭線を構成する構成画素の座標を計算する。描画情報格納部１０２は、算出された構成画素の座標をいったん記憶する。
【０１９６】
図２４は、本実施の形態にかかる四角形ＴＵＶＷの輪郭情報１０を示す概念図である。上述したように、輪郭情報１０において、座標値の順序は、輪郭線における位置と、輪郭線で囲まれた領域の内側を塗りつぶすか外側を塗りつぶすかということとによって定められている。これにより、四角形ＴＵＶＷの外側を塗りつぶす場合、座標値の順序は、構成画素Ｔ−構成画素Ｕ−構成画素Ｖ−構成画素Ｗ−構成画素Ｔという順序になる。
【０１９７】
図２５は、座標計算部１１０が算出し、描画情報格納部１０２が記憶した、四角形ＴＵＶＷの構成画素の座標を示す図である。四角形ＰＱＲＳの場合と同様に、これらの座標は、輪郭情報１０における構成画素の名称に対応付けて記憶されている。
【０１９８】
構成画素の座標が記憶されると、点データ読出処理部１１２は、その座標値のうち、構成画素Ｔの座標（７，７）を読み出す（ステップＳ３０１）。
【０１９９】
構成画素Ｔの座標（７，７）が読み出されると、点データ読出処理部１１２は、その座標値を点Ａに代入する（ステップＳ３０２）。
【０２００】
点Ａに座標値が代入されると、点データ読出処理部１１２は、点Ａに座標が代入された構成画素に隣接する構成画素の座標が存在するか否かを判断する（ステップＳ３０３）。この場合、構成画素ｔ（１）の座標（６，７）が存在するので（ステップＳ３０３にてＹＥＳ）、点データ読出処理部１１２は、構成画素ｔ（１）の座標（６，７）を読み出し（ステップＳ３０４）、点Ｂに代入する（ステップＳ３０５）。
【０２０１】
構成画素ｔ（１）の座標（６，７）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、点ＡのＹ座標が「７」で点ＢのＹ座標が「７」なので（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「７」で点ＢのＸ座標が「６」のため（ステップＳ３５１にてＹＥＳ）、屈曲部分置換部１３４は、点Ａすなわち構成画素Ｔの塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５２）。
【０２０２】
構成画素Ｔの塗り情報に「−１」が加算されると、屈曲部分置換部１３４は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５３）。ここでは、点Ｂすなわち構成画素ｔ（１）の塗り情報に「＋１」を加算する。
【０２０３】
図２６は、この時点における塗り情報を示す図である。「−１」加算されたために、構成画素Ｔ兼構成画素ｐ（１）である座標（７，７）の塗り情報５３２は「−２」となっている。構成画素ｔ（１）の塗り情報９１０は、「＋１」加算されたために「＋１」となっている。
【０２０４】
構成画素ｔ（１）の塗り情報に「＋１」が加算されると、いったんステップＳ３１２の処理を経て、ステップＳ３０３〜ステップＳ３１２の処理が繰返される。図２７は、構成画素Ｕの塗り情報に「＋１」が加算され（ステップＳ３５３）、その後構成画素Ｕの座標値を点Ａに代入した（ステップＳ３１２）時点の塗り情報を示す図である。
【０２０５】
構成画素Ｕの座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｕ（１）の座標（３，６）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２０６】
構成画素ｕ（１）の座標（３，６）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（３，７）のＹ座標に対して点Ｂ（３，６）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、点ＡのＹ座標が「７」で点ＢのＹ座標が「６」なので（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここでは点ＡのＹ座標が「７」で点ＢのＹ座標が「６」なので（ステップＳ３０７にてＹＥＳ）、第１数値置換部１４０は、点Ａすなわち構成画素Ｕの塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０９）。
【０２０７】
図２８は、この時点における塗り情報を示す図である。構成画素Ｕの塗り情報９１１は「−１」加算されたために「＋１」となる。
【０２０８】
構成画素Ｕの塗り情報に「−１」が加算されると、点データ読出処理部１１２は、構成画素ｕ（１）の座標値を点Ａに代入する（ステップＳ３１２）。
【０２０９】
構成画素ｕ（１）の座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経た後、ステップＳ３０５にて、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｕ（２）の座標（３，５）を読出し、これを点Ｂに代入する。
【０２１０】
構成画素ｕ（２）の座標（３，５）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、点ＡのＹ座標が「６」で点ＢのＹ座標が「５」なので（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここでは、点ＡのＹ座標が「６」で点ＢのＹ座標が「５」なので（ステップＳ３０７にてＹＥＳ）、第１数値置換部１４０は、点Ａすなわち構成画素ｕ（１）の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０９）。
【０２１１】
図２９は、この時点における塗り情報を示す図である。構成画素ｕ（１）の塗り情報９１２は「−１」加算されたために「０」となる。
【０２１２】
構成画素ｕ（１）の塗り情報に「−１」が加算されると、点データ読出処理部１１２は、構成画素ｕ（２）の座標値を点Ａに代入する（ステップＳ３１２）。
【０２１３】
以下同様に処理を進め、ステップＳ３０９にて点Ａすなわち構成画素ｕ（３）の塗り情報に「−１」を加算したとする（ステップＳ３０９）。図３０は、この時点における塗り情報を示す図である。
【０２１４】
構成画素ｕ（３）の塗り情報に「−１」が加算されると、点データ読出処理部１１２は、構成画素Ｖの座標（３，３）を点Ａに代入する（ステップＳ３１２）。
【０２１５】
構成画素Ｖの座標が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から点ｖ（１）の座標（４，３）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２１６】
点ｖ（１）の座標（４，３）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここではＹ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「３」で点ＢのＸ座標が「４」のため（ステップＳ３５１にてＮＯ）、屈曲部分置換部１３４は、点Ａが示す構成画素すなわち構成画素Ｖの塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５４）。
【０２１７】
構成画素Ｖの塗り情報に「＋１」が加算されると、屈曲部分置換部１３４は、点Ｂすなわち点ｖ（１）の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新し（ステップＳ３５５）、図３に示すフローチャートのステップＳ３１２へ進む。
【０２１８】
図３１は、この時点における塗り情報を示す図である。構成画素Ｖの塗り情報９１３は「＋１」加算されたために「＋１」となり、点ｖ（１）の塗り情報９１４は「−１」加算されたために「−１」となる。
【０２１９】
点ｖ（１）の塗り情報に「−１」が加算されると、点データ読出処理部１１２は、点ｖ（１）の座標値を点Ａに代入する（ステップＳ３１２）。
【０２２０】
点ｖ（１）の座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から点ｖ（２）の座標（５，３）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２２１】
点ｖ（２）の座標（５，３）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（４，３）のＹ座標に対して点Ｂ（５，３）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここではＹ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「４」で点ＢのＸ座標が「５」のため（ステップＳ３５１にてＮＯ）、屈曲部分置換部１３４は、点Ａが示す構成画素すなわち点ｖ（１）の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５４）。
【０２２２】
点ｖ（１）の塗り情報に「＋１」が加算されると、屈曲部分置換部１３４は、点Ｂすなわち点ｖ（２）の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５５）。
【０２２３】
図３２は、この時点における塗り情報を示す図である。点ｖ（１）の塗り情報９１４は「＋１」加算されたために「０」となり、点ｖ（２）の塗り情報９１５は「−１」加算されたために「−１」となる。
【０２２４】
点ｖ（２）の塗り情報に「−１」が加算されると、点データ読出処理部１１２は、点ｖ（２）の座標値を点Ａに代入する（ステップＳ３１２）。
【０２２５】
点ｖ（２）の座標値が点Ａに代入されると、ステップＳ３０３〜ステップＳ３１２の処理が繰返される。
【０２２６】
図３３は、ステップＳ３５５にて構成画素Ｗの塗り情報に「−１」が加算された時点の塗り情報を示す図である。
【０２２７】
構成画素Ｗの塗り情報に「−１」が加算されると、点データ読出処理部１１２は、構成画素Ｗの座標値を点Ａに代入する（ステップＳ３１２）。
【０２２８】
構成画素Ｗの座標値が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｗ（１）の座標（７，４）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２２９】
構成画素ｗ（１）の座標（７，４）が点Ｂに代入されると、傾き特定処理部１２０は、点Ａ（７，３）のＹ座標に対して点Ｂ（７，４）のＹ座標が大きいか否かを判断する（ステップＳ３０６）。点ＡのＹ座標が「３」で点ＢのＹ座標が「４」のため（ステップＳ３０６にてＹＥＳ）、第２数値置換部１４２は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０８）。ここでは、点Ｂすなわち構成画素ｗ（１）の塗り情報に「＋１」を加算する。
【０２３０】
図３４は、構成画素ｗ（１）の塗り情報に「＋１」を加算された時点の塗り情報を示す図である。構成画素ｗ（１）の塗り情報９１６は「＋１」となる。
【０２３１】
構成画素ｗ（１）の塗り情報に「＋１」が加算されると、点データ読出処理部１１２は、構成画素ｗ（１）の座標値を点Ａに代入する（ステップＳ３１２）。
【０２３２】
構成画素ｗ（１）の座標値が点Ａに代入されると、ステップＳ３０３〜ステップＳ３１２の処理が繰返される。
【０２３３】
図３５は、ステップＳ３０３にて構成画素Ｔの塗り情報に「＋１」が加算された時点の塗り情報を示す図である。
【０２３４】
構成画素Ｔの塗り情報に「＋１」が加算されると、点データ読出処理部１１２は、構成画素Ｔの座標値を点Ａに代入する（ステップＳ３１２）。
【０２３５】
構成画素Ｔの座標値が点Ａに代入されると、点データ読出処理部１１２は、描画情報格納部１０２が記憶した座標において、構成画素Ｔに隣接する構成画素の座標が存在するか否かを判断する（ステップＳ３０３）。この場合、座標が存在しないので（ステップＳ３０３にてＮＯ）、処理は終了する。これにより、図３５に示すように、四角形ＰＱＲＳの内部に四角形ＴＵＶＷが存在する場合の、輪郭線を構成する各点データの塗り情報を付与することができる。
【０２３６】
そして、塗り情報に基づいて、図５に示したステップＳ３６０〜ステップＳ３７８の処理を実施することにより塗りつぶしを行う。塗りつぶした結果を図３６に示す。図３６に示すように、四角形ＰＱＲＳの中に四角形ＴＵＶＷを白抜きさせた図を表示させることができる。
【０２３７】
次に、輪郭線の一部が重なる場合について説明する。図３７は、輪郭線の一部を示す図である。
【０２３８】
線分８００，８０１，８０２，および８０３は、いずれも輪郭線の一部である。線分８００，８０１，および８０２の一部が重なっている。なお、図３７の場合も、水平方向右向きをＸ軸正方向とし、垂直方向上向きをＹ軸正方向とし、左下の点の座標を（０，０）とする。
【０２３９】
このとき、座標（２，４）が点Ａに代入されており、座標（３，４）が点Ｂに代入されていることとする。
【０２４０】
この場合、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここではＹ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここではＹ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「２」で点ＢのＸ座標が「３」のため（ステップＳ３５１にてＮＯ）、屈曲部分置換部１３４は、点Ａが示す構成画素すなわち座標（２，４）の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５４）。
【０２４１】
座標（２，４）の塗り情報に「＋１」が加算されると、屈曲部分置換部１３４は点Ｂすなわち座標（３，４）の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５５）。図３８は、この時点の塗り情報を示す図である。
【０２４２】
座標（３，４）の塗り情報に「−１」が加算されると、点データ読出処理部１１２は点（３，４）を点Ａに代入する（ステップＳ３１２）。
【０２４３】
点（３，４）が点Ａに代入されると、ステップＳ３０３〜ステップＳ３１２の処理が繰返される。図３９は、ステップＳ３５５にて座標（６，４）の塗り情報８１５に「−１」が加算した時点の塗り情報を示す。
【０２４４】
座標（６，４）の塗り情報８１５に「−１」が加算されると、点データ読出処理部１１２は座標（６，４）を点Ａに代入する（ステップＳ３１２）。
【０２４５】
座標（６，４）が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から線分８０１を構成する構成画素の座標（６，４）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２４６】
座標（６，４）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。この場合、Ｙ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。この場合、Ｙ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示すので（ステップＳ３１０にてＹＥＳ）、点データ読出処理部１１２は座標（６，４）を点Ａに代入する（ステップＳ３１２）。すなわち、点（６，４）の塗り情報８１５には何も操作を加えない。よって、塗り情報は図３９の状態のまま変化しない。
【０２４７】
座標（６，４）が点Ａに代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から線分８０１を構成する構成画素の座標（５，４）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２４８】
座標（５，４）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。この場合、Ｙ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。この場合、Ｙ座標の値が等しいため（ステップＳ３０７にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点を示すか否かを判断する（ステップＳ３１０）。点Ａの座標と点Ｂの座標とは同一点を示さないため（ステップＳ３１０にてＮＯ）、屈曲部分置換部１３４は、点ＡのＸ座標が点ＢのＸ座標よりも大きいか否かを判断する（ステップＳ３５１）。ここでは、点ＡのＸ座標が「６」で点ＢのＸ座標が「５」のため（ステップＳ３５１にてＹＥＳ）、屈曲部分置換部１３４は、点Ａすなわち座標（６，４）の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５２）。
【０２４９】
座標（６，４）の塗り情報に「−１」が加算されると、屈曲部分置換部１３４は、点Ｂすなわち座標（５，４）の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３５５）。
【０２５０】
図４０は、この時点の塗り情報を示す図である。図４０に示すように、点（６，４）の塗り情報８１５は「−１」加算されて「−２」となり、点（５，４）の塗り情報８１４は「＋１」加算されて「＋１」となる。
【０２５１】
座標（５，４）の塗り情報に「＋１」が加算されると、点データ読出処理部１１２は、座標（５，４）を点Ａに代入する（ステップＳ３１２）。
【０２５２】
座標（５，４）が点Ａに代入されると、ステップＳ３０３〜ステップＳ３１２の処理を経て、点Ａすなわち座標（５，４）の塗り情報８１４に「−１」を加算し、点Ｂすなわち座標（４，４）の塗り情報８１３に「＋１」を加算し、座標（４，４）を点Ａに代入したとする。図４１は、この時点の塗り情報を示す図である。
【０２５３】
その後、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から座標（４，３）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２５４】
座標（４，３）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、点ＡのＹ座標が「４」で点ＢのＹ座標が「３」なので（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ３０７）。ここでは、点ＡのＹ座標が「４」で点ＢのＹ座標が「３」なので（ステップＳ３０７にてＹＥＳ）、第１数値置換部１４０は、点Ａの座標に対応する塗り情報の値に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ３０９）。ここでは、座標（４，４）の塗り情報に「−１」を加算する。
【０２５５】
座標（４，４）の塗り情報に「−１」が加算されると、ステップＳ３１２の処理を経て、ステップＳ３０３〜ステップＳ３１２の処理が実施される。これにより、座標（４，３）の塗り情報８１６に「−１」が加算される。この時点の塗り情報を図４２に示す。
【０２５６】
図４２の上から２段目すなわちＹ座標の座標値が「４」の画素において、塗り情報８１１，８１２，８１３，８１４，および８１５の値の和は「−１」となっており、座標（６，４）の点で塗り処理が終了することになる。
【０２５７】
以上のようにして、本実施の形態に係る描画情報処理装置１００は、塗り情報が示す正負の符号に基づいて、塗りつぶし区域（構成画素により区切られる区域）内の画素の色を一定の規則に従う色とするように、二次元画像を示す情報を作成することができる。そして、塗り情報が正負の符号として示す方向に基づいて塗りつぶし区域内の画素であるか否かを識別するため、水平方向に走査しながら各点の塗り情報をレジスタに加算し、その和が「０」より大きければ塗りつぶすという処理を行う。これにより、塗り情報が示す方向に基づいて塗りつぶし処理を行うことができるので、塗り漏れたり塗り過ぎたりせず輪郭線内を塗りつぶすことができる。
【０２５８】
また、本実施の形態に係る描画情報処理装置１００は、輪郭線が１つの画素のみからなる場合や、輪郭線が重なってしまった場合であっても、塗り漏れたり塗り過ぎたりせず輪郭線内を塗りつぶすことができる。
【０２５９】
なお、本実施の形態においては、水平右向きに走査しながら各点の塗り情報をレジスタに加算し、その値が「０」より大きければ塗りつぶすこととされているが、本実施の形態の第１の変形例においては、図２１における水平左向き（図２１においてＸ軸に平行で逆の方向）に走査するよう、塗り情報の和を算出しても構わない。この場合、ステップＳ３６６にて、塗り情報の和が「０」未満か否かを判断し、塗り情報の和が「０」未満であれば処理がステップＳ３６８へ移され、塗り情報の和が「０」以上であれば処理がステップＳ３７０へ移されることとなる。
【０２６０】
また、本実施の形態においては、四角形ＰＱＲＳの内側を塗りつぶすためには座標値の順序を構成画素Ｐ−構成画素Ｑ−構成画素Ｒ−構成画素Ｓ−構成画素Ｐという順序にすることとされているが、本実施の形態の第２の変形例においては、四角形ＰＱＲＳの外側を塗りつぶすために座標値の順序を構成画素Ｐ−構成画素Ｑ−構成画素Ｒ−構成画素Ｓ−構成画素Ｐという順序にしても構わない。この場合、塗り情報の値は、図２１に示す結果に対して「＋」と「−」との符号が逆転した値になる。ゆえに、水平右向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」未満か否かが判断される。この場合、塗り情報の和が「０」未満であれば処理がステップＳ３６８へ移され、塗り情報の和が「０」以上であれば処理がステップＳ３７０へ移されることとなる。逆に、水平左向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」を超えるか否かが判断される。この場合、塗り情報の和が「０」を超える場合には処理がステップＳ３６８へと移され、塗り情報の和が「０」以下であれば処理がステップＳ３７０と移されることとなる。
【０２６１】
さらに、本実施の形態の第３の変形例においては、塗り情報に「＋１」を加算する処理に代えて「−１」加算する処理を行い、かつ「−１」加算する処理に代えて「＋１」加算する処理を実施しても構わない。この場合、図２１に示す塗り情報の符号は「＋」と「−」が逆転する。ゆえに、水平右向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」未満か否かが判断される。この場合、塗り情報の和が「０」未満であれば処理がステップＳ３６８へ移され、塗り情報の和が「０」以上であれば処理がステップＳ３７０へ移されることとなる。逆に、水平左向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」を超えるか否かが判断される。この場合、塗り情報の和が「０」を超える場合には処理がステップＳ３６８へと移され、塗り情報の和が「０」以下であれば処理がステップＳ３７０と移されることとなる。
【０２６２】
さらに、本実施の形態の第４の変形例においては、塗り情報に「＋１」を加算する処理に代えて「＋α」加算する処理を行い、かつ「−１」加算する処理に代えて「−α」加算する処理を実施しても構わない。なお、「α」は任意の定数である。
【０２６３】
また、本実施の形態の第５の変形例においては、ステップＳ３７０の処理を実施することに代え、図５の塗りつぶしに先立ち、塗りつぶし情報作成部１１６は、描画情報格納部１０２に座標情報として記憶された座標の画素を、予め定められた、背景色とは異なる色の画素とするように、画像を示す画像データの値を設定してもよい。すなわち、塗りつぶし情報作成部１１６は、塗りつぶしの前に輪郭線を描くための処理を実施してもよい。
【０２６４】
また、本実施の形態の第６の変形例においては、水平方向に走査しながら各点の塗り情報をレジスタに加算し、その和が「０」より大きければ塗りつぶすという処理に代え、他の方法で塗りつぶし処理を行ってもよい。
【０２６５】
<第２の実施の形態>
以下、本発明の第２の実施の形態に係る描画情報処理装置について説明する。
【０２６６】
《描画情報処理装置１０７の機能的構成》
図４３は、本実施の形態に係る描画情報処理装置１０７の機能的構成を示す図である。
【０２６７】
図４３を参照して、描画情報処理装置１０７は、入力部１０１と、描画情報格納部１０２と、塗り情報変更部１０８と、出力処理部１０４および表示処理部１０５とを備えている。
【０２６８】
塗り情報変更部１０８は、描画情報格納部１０２が記憶した塗り情報を変更する。
塗り情報変更部１０８は、座標計算部１１０と、点データ読出処理部１１２と、塗り情報置換部１１５と、塗りつぶし情報作成部１１６とを含む。
【０２６９】
塗り情報置換部１１５は、第１の実施の形態にかかる塗り情報置換部１１４と同様にして、点データ読出処理部１１２が選択した座標のいずれかに対応する塗り情報領域に記憶された情報を、接線ベクトルの向きの範囲に対応する内容の塗り情報に置換する。
【０２７０】
塗り情報置換部１１５は、傾き特定処理部１２０と、塗り情報選択置換部１２４とを含む。
【０２７１】
塗り情報選択置換部１２４は、第１の実施の形態にかかる塗り情報選択置換部１２２と同様にして、塗り情報領域に記憶された情報のうち点データ読出処理部１１２が選択した座標のいずれかに対応する情報を、接線ベクトルの向きの範囲に対応する内容の塗り情報に置換する。
【０２７２】
塗り情報選択置換部１２４は、一方置換部１３２と、屈曲部分置換部１３６とを含む。
屈曲部分置換部１３６は、隣接する構成画素のＹ座標の座標値が等しい場合、座標情報における順序が連続する座標の一方に順序がさらに連続する座標のＹ座標の座標値と隣接する構成画素のＹ座標の座標値とが異なっていれば、塗り情報領域に記憶された情報のうちＹ座標の座標値が異なる構成画素に隣接する構成画素に対応する情報を置換する。
【０２７３】
屈曲部分置換部１３６は、第３数値置換部１４４と、第４数値置換部１４６とを含む。
第３数値置換部１４４は、座標情報における順序が先の座標に対してその順序がさらに先の座標のＹ座標の座標値がこの文でいう「順序が先の座標」のＹ座標の座標値と異なっていれば、その「順序が先の座標」に対応する塗り情報領域に記憶された情報を、その情報に対して値が小さい数値の情報に置換する。
【０２７４】
第４数値置換部１４６は、座標情報における順序が後の座標に対してその順序がさらに後の座標のＹ座標の座標値がこの文でいう「順序が後の座標」のＹ座標の座標値と異なっていれば、その「順序が後の座標」に対応する塗り情報領域に記憶された情報を、その情報に対して値が大きい数値の情報に置換する。
【０２７５】
本実施の形態に係る描画情報処理装置１０７のハードウェア構成については前述の第１の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【０２７６】
図４４を参照して、本実施の形態に係る描画情報処理装置１０７で実行されるプログラムは、水平線分用の塗り情報の設定に関し、以下のような制御を実行する。
【０２７７】
ステップＳ４０１にて、第３数値置換部１４４は、点Ａと点Ｂとのうち少なくとも一方のＸ座標が、予め変数に代入された値よりも大きいか否かを判断する。本実施の形態においては、この変数の値を「最右端値」と称する。なお、図４４に示す処理を開始する前に、表示装置１２にて取り得るＸ座標の最小値以下の値を最右端値に代入しておく。もしくは、点Ａと点Ｂとのうちどちらか一方のＸ座標の値を最右端値として設定しておいても構わない。点Ａと点Ｂとのうち少なくとも一方のＸ座標が最右端値よりも大きいと判断した場合には（ステップＳ４０１にてＹＥＳ）、処理はステップＳ４０２へと移される。もしそうでないと（ステップＳ４０１にてＮＯ）、処理はステップＳ４０３へ進む。
【０２７８】
ステップＳ４０２にて、第３数値置換部１４４は、点ＡのＸ座標および点ＢのＸ座標のうち、最右端値の値よりも大きい値を最右端値に代入する。なお、点Ａと点Ｂとのうちどちらか一方のＸ座標の値を最右端値として設定する場合、このステップにおいて点Ａと点ＢとのＸ座標を比較し、大きい方の値を最右端値に代入しても構わない。
【０２７９】
ステップＳ４０３にて、第４数値置換部１４６は、点Ａと点Ｂとのうち少なくとも一方のＸ座標が、最右端値とは異なる変数に予め代入された値よりも小さいか否かを判断する。本実施の形態においては、この変数の値を「最左端値」と称する。なお、図４４に示す処理を開始する前に、表示装置１２にて取り得るＸ座標の最大値以上の値を最左端値に代入しておく。もしくは、点Ａと点Ｂとのうちどちらか一方のＸ座標の値を最左端値として設定しておいても構わない。点Ａと点Ｂとのうち少なくとも一方のＸ座標が最左端値よりも小さいと判断した場合には（ステップＳ４０３にてＹＥＳ）、処理はステップＳ４０４へと移される。もしそうでないと（ステップＳ４０３にてＮＯ）、処理はステップＳ４０５へ進む。
【０２８０】
ステップＳ４０４にて、第４数値置換部１４６は、点ＡのＸ座標および点ＢのＸ座標のうち、最左端値の値よりも小さい値を最左端値に代入する。なお、点Ａと点Ｂとのうちどちらか一方のＸ座標の値を最左端値として設定する場合、このステップにおいて点Ａと点ＢとのＸ座標を比較し、小さい方の値を最左端値に代入しても構わない。
【０２８１】
ステップＳ４０５にて、点データ読出処理部１１２は、点Ｂを点Ａに代入して、ステップＳ４０６へ進む。
【０２８２】
ステップＳ４０６にて、点データ読出処理部１１２は、描画情報格納部１０２が記憶した座標において、点Ａに座標が代入された構成画素に隣接する構成画素の座標が存在するか否かを判断する。そのような構成画素の座標が存在すると判断した場合には（ステップＳ４０６にてＹＥＳ）、処理はステップＳ４０７へと移される。もしそうでないと（ステップＳ４０６にてＮＯ）、処理はステップＳ４１３へと移される。
【０２８３】
ステップＳ４０７にて、点データ読出処理部１１２は、描画情報格納部１０２に記憶されている、点Ａに座標が代入された構成画素に隣接する構成画素の座標を読み出す。
【０２８４】
ステップＳ４０８にて、点データ読出処理部１１２は、ステップＳ４０７にて読み出した座標を点Ｂに代入する。
【０２８５】
ステップＳ４０９にて、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する。点Ａの座標に対して点Ｂの座標が大きいと判断した場合には（ステップＳ４０９にてＹＥＳ）、処理はステップＳ４１１へと移される。もしそうでないと（ステップＳ４０９にてＮＯ）、処理はステップＳ４１０へと移される。
【０２８６】
ステップＳ４１０にて、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する。点Ａの座標に対して点Ｂの座標が小さいと判断した場合には（ステップＳ４１０にてＹＥＳ）、処理はステップＳ４１２へと移される。もしそうでないと（ステップＳ４１０にてＮＯ）、処理はステップＳ４０１へと移される。
【０２８７】
ステップＳ４１１にて、第２数値置換部１４２は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する。
【０２８８】
ステップＳ４１２にて、第１数値置換部１４０は、点Ａの座標に対応する塗り情報の値に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する。
【０２８９】
ステップＳ４１３では、第３数値置換部１４４は、最右端値が示す値にＸ座標の値が等しく、点Ａおよび点ＢのＹ座標の座標値をＹ座標とする点の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する。値が更新されると、第４数値置換部１４６は、最左端値が示す値にＸ座標の値が等しく、点Ａおよび点ＢのＹ座標の座標値をＹ座標とする点の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する。値が更新されると、第３数値置換部１４４と第４数値置換部１４６とは、最左端値と最右端値との値を初期化（このステップにおいては、図４４に示す処理を開始する前に代入される値を最左端値と最右端値とに代入すること）する。
【０２９０】
なお、その他の処理フローについては前述の第１の実施の形態と同じである。それらについての機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【０２９１】
《描画情報処理装置１０７の動作》
以上のような構造およびフローチャートに基づく、輪郭情報１０に基づいて輪郭線を描くときに各点に対して塗り情報を付与し、その塗り情報を使用して輪郭線内を塗りつぶす際の、描画情報処理装置１０７の動作について説明する。
【０２９２】
ここでは、第１の実施の形態と同様、図９に示す座標系に基づいて、図６に示す四角形ＰＱＲＳを描く場合について説明する。なお、線分ＰＱ間の処理は第１の実施の形態と同じであるためここでは説明を行わず、線分ＰＱ間の塗り情報を付与し、ステップＳ３０３へ処理が戻ったところから説明を行う。この時点における塗り情報は図１２と同じであり、点Ａには構成画素Ｑの座標（９，２）が代入されている。
【０２９３】
ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｑ（１）の座標（８，２）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０２９４】
座標（８，２）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。この場合、Ｙ座標が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点であるか否かを判断する（ステップＳ３１０）。ここでは、同一点ではないため（ステップＳ３１０にてＮＯ）、第３数値置換部１４４は、最右端値に表示装置１２のＸ座標の最小値以下の値を代入し、第４数値置換部１４６は、最左端値に表示装置１２のＸ座標の最大値以上の値を代入する。本実施の形態の場合、最右端値に「−１０００」を代入し、最左端値に「１０００」を代入する。
【０２９５】
最右端値および最左端値に値が代入されると、第３数値置換部１４４は、点Ａ（９，２）と点Ｂ（８，２）とのうち最右端値よりも大きいＸ座標を持つ点が存在するか否かを判断する（ステップＳ４０１）。ここでは、最右端値が「−１０００」であり、点ＡのＸ座標および点ＢのＸ座標共に最右端値より大きいため（ステップＳ４０１にてＹＥＳ）、第３数値置換部１４４は、点Ａと点Ｂとのうちで大きい方のＸ座標の値を最右端値に代入する（ステップＳ４０２）。ここでは、点Ａすなわち構成画素ＱのＸ座標「９」が最右端値に代入される。
【０２９６】
構成画素ＱのＸ座標「９」が最右端値に代入されると、第４数値置換部１４６は、点Ａ（９，２）と点Ｂ（８，２）とのうち最左端値よりも小さいＸ座標を持つ点が存在するか否かを判断する（ステップＳ４０３）。ここでは、最左端値が「１０００」であり、点ＡのＸ座標および点ＢのＸ座標共に最左端値より小さいため（ステップＳ４０３にてＹＥＳ）、第４数値置換部１４６は、点Ａと点Ｂとのうち小さい方のＸ座標の値を最左端値に代入する（ステップＳ４０４）。ここでは、点Ｂすなわち構成画素ｑ（１）のＸ座標「８」が最左端値に代入される。
【０２９７】
構成画素ｑ（１）のＸ座標「８」が最左端値に代入されると、点データ読出処理部１１２は、構成画素ｑ（１）を点Ａに代入する（ステップＳ４０５）。
【０２９８】
構成画素ｑ（１）が点Ａに代入されると、点データ読出処理部１１２は、描画情報格納部１０２が記憶した座標において、点Ａに座標が代入された構成画素に隣接する構成画素の座標が存在するか否かを判断する（ステップＳ４０６）。この場合、そのような座標が存在するので（ステップＳ４０６にてＹＥＳ）、点データ読出処理部１１２は、描画情報格納部１０２に記憶されている、点Ａに座標が代入された構成画素に隣接する構成画素ｑ（２）の座標（７，２）の座標を読み出す（ステップＳ４０７）。その座標が読み出されると、点データ読出処理部１１２は、構成画素ｑ（２）の座標（７，２）を点Ｂに代入する（ステップＳ４０８）。
【０２９９】
構成画素ｑ（２）の座標（７，２）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ４０９）。ここでは、Ｙ座標の値が等しいため（ステップＳ４０９にてＮＯ）、第３数値置換部１４４は、点Ａ（８，２）と点Ｂ（７，２）の中でＸ座標の値が最右端値よりも大きい点が存在するか否かを判断する（ステップＳ４０１）。ここでは、最右端値が「９」であり、それよりも大きいＸ座標を持つ点は存在しないため（ステップＳ４０１にてＮＯ）、第４数値置換部１４６は、点Ａ（８，２）と点Ｂ（７，２）の中でＸ座標の値が最左端値よりも小さい点が存在するか否かを判断する（ステップＳ４０３）。ここでは、最左端値が「８」であり、点ＢのＸ座標はそれより小さいため（ステップＳ４０３にてＹＥＳ）、第４数値置換部１４６は、最左端値に点Ｂすなわち構成画素ｑ（２）のＸ座標の値を代入する（ステップＳ４０４）。
【０３００】
構成画素ｑ（２）のＸ座標の値が最左端値に代入されると、点データ読出処理部１１２は、構成画素ｑ（２）を点Ａに代入する（ステップＳ４０５）。
【０３０１】
構成画素ｑ（２）が点Ａに代入されると、ステップＳ４０６〜ステップＳ４１０の処理が繰返される。
【０３０２】
その後、最左端値に構成画素ＲのＸ座標が代入され、構成画素ｒ（１）の座標が読み込まれ、点Ｂに代入されたとする（ステップＳ４０８）。この時点においては、最右端値は構成画素ＱのＸ座標の値「９」に等しく、最左端値は構成画素ＲのＸ座標「１」に等しく、点Ａには構成画素Ｒが代入され、点Ｂには構成画素ｒ（１）が代入されている。
【０３０３】
構成画素ｒ（１）の座標が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ４０９）。ここでは、点ＡのＹ座標の値が「２」で点ＢのＹ座標の値が「３」なので（ステップＳ４０９にてＹＥＳ）、塗り情報選択置換部１２２は、点Ｂの座標に対応する塗り情報の値に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する（ステップＳ４１１）。ここでは、点Ｂすなわち構成画素ｒ（１）の塗り情報に「＋１」を加算する。
【０３０４】
構成画素ｒ（１）の塗り情報に「＋１」が加算されると、第３数値置換部１４４は、Ｘ座標の値が最右端値に等しく、かつＹ座標の座標値が点Ａおよび点ＢのＹ座標値に等しい点の塗り情報に「−１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する。ここでは、構成画素Ｑの塗り情報に「−１」を加算する。さらに、第４数値置換部１４６は、Ｘ座標の値が最左端値に等しく、かつＹ座標の座標値が点Ａおよび点ＢのＹ座標値に等しい点の塗り情報に「＋１」を加算し、描画情報格納部１０２に記憶された塗り情報を加算の結果得られた値に更新する。ここでは、構成画素Ｒの塗り情報に「＋１」を加算する（ステップＳ４１３）。
【０３０５】
図４５は、この時点の塗り情報を示す。図４５に示すように、この時点において、構成画素Ｑの塗り情報６０１は「−１」となり、構成画素Ｒの塗り情報６０２は「＋１」となる。
【０３０６】
塗り情報の加算が終了すると、点データ読出処理部１１２は、構成画素ｒ（１）の座標値を点Ａに代入する（ステップＳ３１２）。
【０３０７】
以降、線分ＲＳ間の処理は第１の実施の形態と同じであるためここでは説明を行わず、線分ＳＰ間の構成画素の塗り情報を付与し、ステップＳ３１２の処理が終了したところから説明を行う。この時点において、点Ａには構成画素Ｓ（４，８）が代入されている。図４６は、この時点の塗り情報を示す。
【０３０８】
点Ａに座標値が代入されると、ステップＳ３０３およびステップＳ３０４の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素ｓ（１）の座標（５，８）を読出し、これを点Ｂに代入する（ステップＳ３０５）。
【０３０９】
構成画素ｓ（１）の座標（５，８）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ３０６）。ここでは、Ｙ座標の値が等しいため（ステップＳ３０６にてＮＯ）、傾き特定処理部１２０は、点Ａの座標と点Ｂの座標とが同一点かどうかを判断する（ステップＳ３１０）。ここでは、同一点ではないため（ステップＳ３１０にてＮＯ）、最右端値に「−１０００」を代入し、最左端値に「１０００」を代入する。
【０３１０】
最右端値と最左端値とに値が代入されると、第３数値置換部１４４は、点Ａ（４，８）と点Ｂ（５，８）との中でＸ座標の値が最右端値よりも大きい点が存在するか否かを判断する（ステップＳ４０１）。ここでは、最右端値が「−１０００」であり、点ＡのＸ座標および点ＢのＸ座標は共に最右端値よりも大きいため（ステップＳ４０１にてＹＥＳ）、第３数値置換部１４４は、点Ａと点Ｂとの中で大きい方のＸ座標の値を最右端値に代入する（ステップＳ４０２）。ここでは、最右端値に点Ｂすなわち構成画素ｓ（１）のＸ座標の値「５」が代入される。
【０３１１】
構成画素ｓ（１）のＸ座標の値「５」が代入されると、第４数値置換部１４６は、点Ａ（４，８）と点Ｂ（５，８）との中でＸ座標の値が最左端値よりも小さい点が存在するか否かを判断する（ステップＳ４０３）。ここでは、最左端値が「１０００」であり、点ＡのＸ座標および点ＢのＸ座標共に最左端値よりも小さいため（ステップＳ４０３にてＹＥＳ）、第３数値置換部１４４は、点Ａと点Ｂとの中で小さい方のＸ座標の値を最左端値に代入する（ステップＳ４０４）。ここでは、点Ａすなわち構成画素ＳのＸ座標の値「４」が最左端値に代入される。
【０３１２】
構成画素ＳのＸ座標の値「４」が最左端値に代入されると、点データ読出処理部１１２は、構成画素ｓ（１）を点Ａに代入する（ステップＳ４０５）。
【０３１３】
構成画素ｓ（１）が点Ａに代入されると、ステップＳ４０６およびステップＳ４０７の処理を経て、点データ読出処理部１１２は、描画情報格納部１０２から構成画素Ｐの座標（６，８）を読出し、これを点Ｂに代入する（ステップＳ４０８）。
【０３１４】
構成画素Ｐの座標（６，８）が点Ｂに代入されると、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が大きいか否かを判断する（ステップＳ４０９）。ここでは、Ｙ座標の値が等しいため（ステップＳ４０９にてＮＯ）、傾き特定処理部１２０は、点ＡのＹ座標に対して点ＢのＹ座標が小さいか否かを判断する（ステップＳ４１０）。この場合、Ｙ座標の値が等しいため（ステップＳ４１０にてＮＯ）、第３数値置換部１４４は、点Ａ（５，８）と点Ｂ（６，８）との中でＸ座標の値が最右端値よりも大きい点が存在するか否かを判断する（ステップＳ４０１）。ここでは、最右端値が「５」であり、点ＢのＸ座標はそれよりも大きいため（ステップＳ４０１にてＹＥＳ）、第３数値置換部１４４は、点Ｂすなわち構成画素ＰのＸ座標「６」を最右端値に代入する（ステップＳ４０２）。
【０３１５】
構成画素ＰのＸ座標「６」が最右端値に代入されると、第４数値置換部１４６は、点Ａ（５，８）と点Ｂ（６，８）との中でＸ座標の値が最左端値よりも小さい点が存在するか否かを判断する（ステップＳ４０３）。ここでは、最左端値が「４」であり、それより小さいＸ座標を持つ点は存在しないため（ステップＳ４０３にてＮＯ）、点データ読出処理部１１２は、構成画素Ｐの座標を点Ａに代入する（ステップＳ４０５）。
【０３１６】
構成画素Ｐの座標が点Ａに代入されると、点データ読出処理部１１２は、輪郭線を構成する点データにおいて、ステップＳ４０５にてセットした点Ａに続く次の点データが存在するか否かを判断する（ステップＳ４０６）。この場合、次に続く点データが存在しないため（ステップＳ４０６にてＮＯ）、第３数値置換部１４４は、Ｘ座標の値が最右端値に等しく、かつＹ座標の座標値が点Ａおよび点Ｂに等しい点の塗り情報に「−１」を加算する。ここでは、構成画素Ｐの塗り情報に「−１」を加算する。さらに、第４数値置換部１４６は、Ｘ座標の値が最左端値に等しく、かつＹ座標の座標値が点Ａおよび点Ｂに等しい点の塗り情報に「＋１」を加算する。ここでは、構成画素Ｓの塗り情報に「＋１」を加算する（ステップＳ４１３）。
【０３１７】
図４７は、この時点の塗り情報を示す。図４７に示すように、この時点において、構成画素Ｓの塗り情報６０３は「＋１」加算されて「＋２」となり、構成画素Ｐの塗り情報６０４は「−１」加算されて「−２」となる。
【０３１８】
これにより、図４７に示すように、四角形ＰＱＲＳの輪郭線を構成する各点データの塗り情報を付与することができる。
【０３１９】
次に、図４７に示す塗り情報をもとに四角形ＰＱＲＳの内部を塗りつぶす際の動作は第１の実施の形態と同様である。
【０３２０】
以上のようにして、本実施の形態に係る描画情報処理装置は、輪郭線データを描画する際に、輪郭線データを構成する構成画素に対して塗り情報を付与し、付与された塗り情報を使用して輪郭線内部の塗り処理を実行することで塗り漏れたり塗り過ぎたりせず輪郭線内を塗りつぶすことができる。
【０３２１】
なお、本実施の形態においては、水平右向きに走査しながら各点の塗り情報をレジスタに加算し、その値が「０」より大きければ塗りつぶすこととされているが、第１の実施の形態と同様に、図２１における水平左向き（図２１においてＸ軸に平行で逆の方向）に走査するよう、塗り情報の和を算出しても構わない。この場合、ステップＳ３６６にて、塗り情報の和が「０」未満か否かを判断し、塗り情報の和が「０」未満であれば処理がステップＳ３６８へ移され、塗り情報の和が「０」以上であれば処理がステップＳ３７０へ移されることとなる。
【０３２２】
また、第１の実施の形態と同様に、四角形ＰＱＲＳの外側を塗りつぶすために座標値の順序を構成画素Ｐ−構成画素Ｑ−構成画素Ｒ−構成画素Ｓ−構成画素Ｐという順序にしても構わない。この場合、塗り情報の値は、図２１に示す結果に対して「＋」と「−」との符号が逆転した値になる。ゆえに、水平右向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」未満か否かが判断される。この場合、塗り情報の和が「０」未満であれば処理がステップＳ３６８へ移され、塗り情報の和が「０」以上であれば処理がステップＳ３７０へ移されることとなる。逆に、水平左向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」を超えるか否かが判断される。この場合、塗り情報の和が「０」を超える場合には処理がステップＳ３６８へと移され、塗り情報の和が「０」以下であれば処理がステップＳ３７０と移されることとなる。
【０３２３】
さらに、第１の実施の形態と同様に、塗り情報に「＋１」を加算する処理に代えて「−１」加算する処理を行い、かつ「−１」加算する処理に代えて「＋１」加算する処理を実施しても構わない。この場合、図２１に示す塗り情報の符号は「＋」と「−」が逆転する。ゆえに、水平右向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」未満か否かが判断される。この場合、塗り情報の和が「０」未満であれば処理がステップＳ３６８へ移され、塗り情報の和が「０」以上であれば処理がステップＳ３７０へ移されることとなる。逆に、水平左向きに走査する場合は、ステップＳ３６６にて、塗り情報の和が「０」を超えるか否かが判断される。この場合、塗り情報の和が「０」を超える場合には処理がステップＳ３６８へと移され、塗り情報の和が「０」以下であれば処理がステップＳ３７０と移されることとなる。
【０３２４】
さらに、第１の実施の形態と同様に、塗り情報に「＋１」を加算する処理に代えて「＋α」加算する処理を行い、かつ「−１」加算する処理に代えて「−α」加算する処理を実施しても構わない。なお、「α」は任意の定数である。
【０３２５】
また、第１の実施の形態と同様に、ステップＳ３７０の処理を実施することに代え、図５の塗りつぶしに先立ち、塗りつぶし情報作成部１１６は、描画情報格納部１０２に座標情報として記憶された座標の画素を、予め定められた、背景色とは異なる色の画素とするように、画像を示す画像データの値を設定してもよい。すなわち、塗りつぶし情報作成部１１６は、塗りつぶしの前に輪郭線を描くための処理を実施してもよい。
【０３２６】
また、第１の実施の形態と同様に、水平方向に走査しながら各点の塗り情報をレジスタに加算し、その和が「０」より大きければ塗りつぶすという処理に代え、他の方法で塗りつぶし処理を行ってもよい。
【０３２７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０３２８】
【図１】本発明の第１の実施の形態に係る描画情報処理装置の機能的構成を示す図である。
【図２】本発明の第１の実施の形態に係るコンピュータシステムの内部構成を示す図である。
【図３】本発明の第１の実施の形態に係る塗り情報の設定処理の制御の手順を示すフローチャートである。
【図４】本発明の第１の実施の形態に係る水平線分用の塗り情報の設定処理の制御の手順を示すフローチャートである。
【図５】本発明の第１の実施の形態に係る塗りつぶし処理の制御の手順を示すフローチャートである。
【図６】本発明の第１の実施の形態に係る表示装置の表示面の座標系と図形の配置とを示す第１の図である。
【図７】本発明の第１の実施の形態に係る輪郭情報の第１の概念図である。
【図８】本発明の第１の実施の形態に係る座標計算部が算出し、描画情報格納部が記憶した、構成画素の座標を示す第１の図である。
【図９】本発明の第１の実施の形態に係る構成画素の位置を示す図である。
【図１０】本発明の第１の実施の形態に係る塗り情報を示す第１の図である。
【図１１】本発明の第１の実施の形態に係る塗り情報を示す第２の図である。
【図１２】本発明の第１の実施の形態に係る塗り情報を示す第３の図である。
【図１３】本発明の第１の実施の形態に係る塗り情報を示す第４の図である。
【図１４】本発明の第１の実施の形態に係る塗り情報を示す第５の図である。
【図１５】本発明の第１の実施の形態に係る塗り情報を示す第６の図である。
【図１６】本発明の第１の実施の形態に係る塗り情報を示す第７の図である。
【図１７】本発明の第１の実施の形態に係る塗り情報を示す第８の図である。
【図１８】本発明の第１の実施の形態に係る塗り情報を示す第９の図である。
【図１９】本発明の第１の実施の形態に係る塗り情報を示す第１０の図である。
【図２０】本発明の第１の実施の形態に係る塗り情報を示す第１１の図である。
【図２１】本発明の第１の実施の形態に係る塗り情報を示す第１２の図である。
【図２２】本発明の第１の実施の形態に係る塗りつぶし結果を示す第１の図である。
【図２３】本発明の第１の実施の形態に係る表示装置の表示面の座標系と図形の配置とを示す第２の図である。
【図２４】本発明の第１の実施の形態に係る輪郭情報の第２の概念図である。
【図２５】本発明の第１の実施の形態に係る座標計算部が算出し、描画情報格納部が記憶した、構成画素の座標を示す第２の図である。
【図２６】本発明の第１の実施の形態に係る塗り情報を示す第１３の図である。
【図２７】本発明の第１の実施の形態に係る塗り情報を示す第１４の図である。
【図２８】本発明の第１の実施の形態に係る塗り情報を示す第１５の図である。
【図２９】本発明の第１の実施の形態に係る塗り情報を示す第１６の図である。
【図３０】本発明の第１の実施の形態に係る塗り情報を示す第１７の図である。
【図３１】本発明の第１の実施の形態に係る塗り情報を示す第１８の図である。
【図３２】本発明の第１の実施の形態に係る塗り情報を示す第１９の図である。
【図３３】本発明の第１の実施の形態に係る塗り情報を示す第２０の図である。
【図３４】本発明の第１の実施の形態に係る塗り情報を示す第２１の図である。
【図３５】本発明の第１の実施の形態に係る塗り情報を示す第２２の図である。
【図３６】本発明の第１の実施の形態に係る塗りつぶし結果を示す第２の図である。
【図３７】本発明の第１の実施の形態に係る輪郭線の一部を示す図である。
【図３８】本発明の第１の実施の形態に係る塗り情報を示す第２３の図である。
【図３９】本発明の第１の実施の形態に係る塗り情報を示す第２４の図である。
【図４０】本発明の第１の実施の形態に係る塗り情報を示す第２５の図である。
【図４１】本発明の第１の実施の形態に係る塗り情報を示す第２６の図である。
【図４２】本発明の第１の実施の形態に係る塗り情報を示す第２７の図である。
【図４３】本発明の第２の実施の形態に係る描画情報処理装置の機能的構成を示す図である。
【図４４】本発明の第２の実施の形態に係る水平線分用の塗り情報の設定処理の制御の手順を示すフローチャートである。
【図４５】本発明の第２の実施の形態に係る塗り情報を示す第１の図である。
【図４６】本発明の第２の実施の形態に係る塗り情報を示す第２の図である。
【図４７】本発明の第２の実施の形態に係る塗り情報を示す第３の図である。
【図４８】ある画像領域の中の輪郭線を示す第１の図である。
【図４９】輪郭線の極大値あるいは極小値から所定の方向に走査するステップを示す概念図である。
【図５０】輪郭線の始点と終点とが誤認される様子を示す概念図である。
【図５１】輪郭線の始点や終点に誤認されやすい点を示す概念図である。
【図５２】ある画像領域の中の輪郭線を示す第２の図である。
【図５３】ある画像領域の中の輪郭線を示す第３の図である。
【図５４】塗り漏れや塗り過ぎの一例を示す図である。
【図５５】図形の輪郭線を示す図である。
【図５６】輪郭線の位置を示す第１の図である。
【図５７】輪郭線の位置を示す第２の図である。
【図５８】塗潰される点の配置を示す図である。
【符号の説明】
【０３２９】
１０  輪郭情報、１１  外部装置、１２  表示装置、１００，１０７  描画情報処理装置、１０１  入力部、１０２  描画情報格納部、１０３，１０８  塗り情報変更部、１０４  出力処理部、１０５  表示処理部、１１０  座標計算部、１１２  点データ読出処理部、１１４，１１５  塗り情報置換部、１１６  塗りつぶし情報作成部、１２０  傾き特定処理部、１２２，１２４  塗り情報選択置換部、１３２  一方置換部、１３４，１３６  屈曲部分置換部、１４０  第１数値置換部、１４２  第２数値置換部、１４４  第３数値置換部、１４６  第４数値置換部、２００  コンピュータシステム、２１０  光ディスク、２１１  磁気ディスク、２２０  コンピュータ、２２４  リモートコントローラ、２３０  光ディスクドライブ、２３２  磁気ディスクドライブ、２３４  リモコンインタフェース、２３６  ＣＰＵ、２３８  ＲＯＭ、２４０  ＲＡＭ、２４２  ハードディスク、２４４  バス、５００  座標系、５３０  黒枠、５３１，５３２，５４１，５４２，５４３，５５１，５５２，５６１，５６２，６０１，６０２，６０３，６０４，８１１，８１２，８１３，８１４，８１５，８１６，９１０，９１１，９１２，９１３，９１４，９１５，９１６  塗り情報、７００  画像領域、７０１，７０６  輪郭線、７０３，７０７  水平ライン、８００，８０１，８０２，８０３  線分、９５１，９５２，９５３，９５４，９５５，９５６，９５７，９５８  点。
【図１】
2008276535.tif 000003
【図２】
2008276535.tif 000004
【図３】
2008276535.tif 000005
【図４】
2008276535.tif 000006
【図５】
2008276535.tif 000007
【図６】
2008276535.tif 000008
【図７】
2008276535.tif 000009
【図８】
2008276535.tif 000010
【図９】
2008276535.tif 000011
【図１０】
2008276535.tif 000012
【図１１】
2008276535.tif 000013
【図１２】
2008276535.tif 000014
【図１３】
2008276535.tif 000015
【図１４】
2008276535.tif 000016
【図１５】
2008276535.tif 000017
【図１６】
2008276535.tif 000018
【図１７】
2008276535.tif 000019
【図１８】
2008276535.tif 000020
【図１９】
2008276535.tif 000021
【図２０】
2008276535.tif 000022
【図２１】
2008276535.tif 000023
【図２２】
2008276535.tif 000024
【図２３】
2008276535.tif 000025
【図２４】
2008276535.tif 000026
【図２５】
2008276535.tif 000027
【図２６】
2008276535.tif 000028
【図２７】
2008276535.tif 000029
【図２８】
2008276535.tif 000030
【図２９】
2008276535.tif 000031
【図３０】
2008276535.tif 000032
【図３１】
2008276535.tif 000033
【図３２】
2008276535.tif 000034
【図３３】
2008276535.tif 000035
【図３４】
2008276535.tif 000036
【図３５】
2008276535.tif 000037
【図３６】
2008276535.tif 000038
【図３７】
2008276535.tif 000039
【図３８】
2008276535.tif 000040
【図３９】
2008276535.tif 000041
【図４０】
2008276535.tif 000042
【図４１】
2008276535.tif 000043
【図４２】
2008276535.tif 000044
【図４３】
2008276535.tif 000045
【図４４】
2008276535.tif 000046
【図４５】
2008276535.tif 000047
【図４６】
2008276535.tif 000048
【図４７】
2008276535.tif 000049
【図４８】
2008276535.tif 000050
【図４９】
2008276535.tif 000051
【図５０】
2008276535.tif 000052
【図５１】
2008276535.tif 000053
【図５２】
2008276535.tif 000054
【図５３】
2008276535.tif 000055
【図５４】
2008276535.tif 000056
【図５５】
2008276535.tif 000057
【図５６】
2008276535.tif 000058
【図５７】
2008276535.tif 000059
【図５８】
2008276535.tif 000060