(57)【特許請求の範囲】
【請求項１】
内輪郭の向きと外輪郭との向きとが予め定められている輪郭を処理する図形処理装置であって、
第１の輪郭と第２の輪郭の太め処理を行う太め手段と、
前記太め手段により太め処理された第１の輪郭と第２の輪郭との交点を計算する計算手段と、
前記計算手段により計算された交点に基づき前記太め手段により太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成手段と、
前記生成手段により生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除手段と、
前記削除手段により削除されなかった第３の輪郭または第４の輪郭を含む図形を出力する出力手段とを有することを特徴とする図形処理装置。
【請求項２】
前記生成手段は、前記太め手段により太め処理された第１の輪郭と第２の輪郭とを前記計算手段により計算された交点に基づき切り離し、一方の輪郭の向きと他方の輪郭の向きとが一致するように接続し、第３の輪郭と第４の輪郭とを生成することを特徴とする請求項１記載の図形処理装置。
【請求項３】
前記削除手段は、注目輪郭の１点を取り出し、取り出した１点を含まないすべての輪郭が取り出した１点を包含するか調べ、包含する輪郭の数が奇数の場合、外輪郭と判別し、包含する輪郭の数が偶数の場合、内輪郭と判別することを特徴とする請求項１記載の図形処理装置。
【請求項４】
内輪郭の向きと外輪郭との向きとが予め定められている輪郭を処理する図形処理方法であって、
第１の輪郭と第２の輪郭の太め処理を行う太めステップと、
前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、
前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、
前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、
前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む図形を出力する出力ステップとを有することを特徴とする図形処理方法。
【請求項５】
前記生成ステップは、前記太めステップにより太め処理された第１の輪郭と第２の輪郭とを前記計算ステップにより計算された交点に基づき切り離し、一方の輪郭の向きと他方の輪郭の向きとが一致するように接続し、第３の輪郭と第４の輪郭とを生成することを特徴とする請求項４記載の図形処理方法。
【請求項６】
前記削除ステップは、注目輪郭の１点を取り出し、取り出した１点を含まないすべての輪郭が取り出した１点を包含するか調べ、包含する輪郭の数が奇数の場合、外輪郭と判別し、包含する輪郭の数が偶数の場合、内輪郭と判別することを特徴とする請求項４記載の図形処理方法。
【請求項７】
内輪郭の向きと外輪郭との向きとが予め定められている輪郭を処理するプログラムを記憶した記憶媒体であって、
第１の輪郭と第２の輪郭の太め処理を行う太めステップと、
前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、
前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、
前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、
前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む図形を出力する出力ステップとを有するプログラムを記憶した記憶媒体。
【請求項８】
前記生成ステップは、前記太めステップにより太め処理された第１の輪郭と第２の輪郭とを前記計算ステップにより計算された交点に基づき切り離し、一方の輪郭の向きと他方の輪郭の向きとが一致するように接続し、第３の輪郭と第４の輪郭とを生成することを特徴とする請求項７記載の記憶媒体。
【請求項９】
前記削除ステップは、注目輪郭の１点を取り出し、取り出した１点を含まないすべての輪郭が取り出した１点を包含するか調べ、包含する輪郭の数が奇数の場合、外輪郭と判別し、包含する輪郭の数が偶数の場合、内輪郭と判別することを特徴とする請求項７記載の記憶媒体。
【請求項１０】
内輪郭の向きと外輪郭との向きとが予め定められている文字の輪郭を処理する文字処理装置であって、
第１の輪郭と第２の輪郭の太め処理を行う太め手段と、
前記太め手段により太め処理された第１の輪郭と第２の輪郭との交点を計算する計算手段と、
前記計算手段により計算された交点に基づき前記太め手段により太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成手段と、
前記生成手段により生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除手段と、
前記削除手段により削除されなかった第３の輪郭または第４の輪郭を含む文字を出力する出力手段とを有することを特徴とする文字処理装置。
【請求項１１】
内輪郭の向きと外輪郭との向きとが予め定められている文字の輪郭を処理する文字処理方法であって、
第１の輪郭と第２の輪郭の太め処理を行う太めステップと、
前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、
前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、
前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、
前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む文字を出力する出力ステップとを有することを特徴とする文字処理方法。
【請求項１２】
内輪郭の向きと外輪郭との向きとが予め定められている文字の輪郭を処理するプログラムを記憶した記憶媒体であって、
第１の輪郭と第２の輪郭の太め処理を行う太めステップと、
前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、
前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、
前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、
前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む文字を出力する出力ステップとを有することを特徴とするプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、輪郭データを処理する図形処理装置、図形処理方法、文字処理装置および文字処理方法に関する。
【０００２】
【従来の技術】
従来、文字の輪郭を太める方法として特開平７−１６０２４２号公報に記載された文字発生装置が知られている。この文字発生装置では、輪郭の形状を構成する制御点を、その点に隣接する２つの点とその点とを結んでできる２つの線分のなす角を２等分する直線上に動かすことにより、文字の輪郭を太くすることが可能である。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の文字発生装置では、輪郭が近接する文字の場合、文字を太くしたときに隣り合う輪郭が重なってしまい（図５（Ｂ）参照）、輪郭描画後の内部の塗りつぶし方法（スキャンコンバージョン）に制限が生じてしまうという問題があった。
【０００４】
例えば、ＥＯ．Ｆｉｌｌ法（文字の字形を構成する輪郭をｘ軸もしくはｙ軸に平行な直線でスキャンしたとき、文字の輪郭と直線が交わった点を塗りつぶしのオンオフ点として内部を塗る手法）では、重なりが生じた場所が白く抜けてしまう。
【０００５】
また、Ｎｏｎ−Ｚｅｒｏ  Ｆｉｌｌ法（ある輪郭が内部を塗るべき外輪郭か内部を白く抜くべき内輪郭かを、輪郭の周回方向で判断して塗りつぶしを行う手法）では、重なった部分は全く処理しなくてよいにもかかわらず、塗りつぶし処理を行ってしまうことになり、処理に時間がかかる上、処理のために使用するワークメモリが増加してしまう。
【０００６】
そこで、本発明は、輪郭描画後の内部の塗りつぶし方法に制限を生じさせることなく、品位の高い図形データを生成できる図形処理装置、図形処理方法、文字処理装置および文字処理方法を提供することを目的とする。
【０００７】
また、本発明は、輪郭描画後の内部の塗りつぶし処理の負荷を軽減できる図形処理装置、図形処理方法、文字処理装置および文字処理方法を提供することを他の目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に記載の図形処理装置は、内輪郭の向きと外輪郭との向きとが予め定められている輪郭を処理する図形処理装置であって、第１の輪郭と第２の輪郭の太め処理を行う太め手段と、前記太め手段により太め処理された第１の輪郭と第２の輪郭との交点を計算する計算手段と、前記計算手段により計算された交点に基づき前記太め手段により太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成手段と、前記生成手段により生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除手段と、前記削除手段により削除されなかった第３の輪郭または第４の輪郭を含む図形を出力する出力手段とを有することを特徴とする。
【００１１】
請求項２に記載の図形処理装置では、請求項１に係る図形処理装置において、前記生成手段は、前記太め手段により太め処理された第１の輪郭と第２の輪郭とを前記計算手段により計算された交点に基づき切り離し、一方の輪郭の向きと他方の輪郭の向きとが一致するように接続し、第３の輪郭と第４の輪郭とを生成することを特徴とする。
【００１２】
請求項３に記載の図形処理装置では、請求項１記載の図形処理装置において、前記削除手段は、注目輪郭の１点を取り出し、取り出した１点を含まないすべての輪郭が取り出した１点を包含するか調べ、包含する輪郭の数が奇数の場合、外輪郭と判別し、包含する輪郭の数が偶数の場合、内輪郭と判別することを特徴とする。
【００１８】
請求項４に記載の図形処理方法は、内輪郭の向きと外輪郭との向きとが予め定められている輪郭を処理する図形処理方法であって、第１の輪郭と第２の輪郭の太め処理を行う太めステップと、前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む図形を出力する出力ステップとを有することを特徴とする。
【００１９】
請求項５に記載の図形処理方法では、請求項４に係る図形処理方法において、前記生成ステップは、前記太めステップにより太め処理された第１の輪郭と第２の輪郭とを前記計算ステップにより計算された交点に基づき切り離し、一方の輪郭の向きと他方の輪郭の向きとが一致するように接続し、第３の輪郭と第４の輪郭とを生成することを特徴とする。
【００２０】
請求項６に記載の図形処理方法では、請求項４に係る図形処理方法において、前記削除ステップは、注目輪郭の１点を取り出し、取り出した１点を含まないすべての輪郭が取り出した１点を包含するか調べ、包含する輪郭の数が奇数の場合、外輪郭と判別し、包含する輪郭の数が偶数の場合、内輪郭と判別することを特徴とする。
【００２６】
請求項７に記載の記憶媒体は、内輪郭の向きと外輪郭との向きとが予め定められている輪郭を処理するプログラムを記憶した記憶媒体であって、第１の輪郭と第２の輪郭の太め処理を行う太めステップと、前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む図形を出力する出力ステップとを有するプログラムを記憶する。
【００２７】
請求項８に記載の記憶媒体では、請求項７に係る記憶媒体において、前記生成ステップは、前記太めステップにより太め処理された第１の輪郭と第２の輪郭とを前記計算ステップにより計算された交点に基づき切り離し、一方の輪郭の向きと他方の輪郭の向きとが一致するように接続し、第３の輪郭と第４の輪郭とを生成することを特徴とする。
【００２８】
請求項９に記載の記憶媒体では、請求項７に係る記憶媒体において、前記削除ステップは、注目輪郭の１点を取り出し、取り出した１点を含まないすべての輪郭が取り出した１点を包含するか調べ、包含する輪郭の数が奇数の場合、外輪郭と判別し、包含する輪郭の数が偶数の場合、内輪郭と判別することを特徴とする。
請求項１０に記載の文字処理装置は、内輪郭の向きと外輪郭との向きとが予め定められている文字の輪郭を処理する文字処理装置であって、第１の輪郭と第２の輪郭の太め処理を行う太め手段と、前記太め手段により太め処理された第１の輪郭と第２の輪郭との交点を計算する計算手段と、前記計算手段により計算された交点に基づき前記太め手段により太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成手段と、前記生成手段により生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除手段と、前記削除手段により削除されなかった第３の輪郭または第４の輪郭を含む文字を出力する出力手段とを有することを特徴とする。
請求項１１に記載の文字処理方法は、内輪郭の向きと外輪郭との向きとが予め定められている文字の輪郭を処理する文字処理方法であって、第１の輪郭と第２の輪郭の太め処理を行う太めステップと、前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む文字を出力する出力ステップとを有することを特徴とする。
請求項１２に記載の記憶媒体は、内輪郭の向きと外輪郭との向きとが予め定められている文字の輪郭を処理するプログラムを記憶した記憶媒体であって、第１の輪郭と第２の輪郭の太め処理を行う太めステップと、前記太めステップにより太め処理された第１の輪郭と第２の輪郭との交点を計算する計算ステップと、前記計算ステップにより計算された交点に基づき前記太めステップにより太め処理された第１の輪郭と第２の輪郭との切り離し処理を行い、一方の輪郭の向きと他方の輪郭の向きとが一致するように切り離された第１と第２の輪郭の接続処理を行うことにより第３の輪郭と第４の輪郭とを生成する生成ステップと、前記生成ステップにより生成された第３の輪郭と第４の輪郭とが内輪郭であるか外輪郭であるか判別し、第３の輪郭の向きと第４の輪郭の向きとが予め定められている輪郭の向きと異なるか判別し、異なると判別された第３の輪郭または第４の輪郭を削除する削除ステップと、前記削除ステップにより削除されなかった第３の輪郭または第４の輪郭を含む文字を出力する出力ステップとを有することを特徴とするプログラムを記憶したものである。
【００３２】
【発明の実施の形態】
本発明の図形処理装置、図形処理方法、文字処理装置および文字処理方法の実施の形態について説明する。本実施の形態における図形処理装置はワークステーションに適用される。
【００３３】
図１はワークステーションの構成を示すブロック図である。同図において、１はＣＰＵ、２はＲＡＭ（ランダムアクセスメモリ）、３は後述するフローチャートに係るプログラムやアウトラインフォントデータを記憶するＲＯＭ（読み出し専用メモリ）、４は入力ＩＦ（インターフェイス）、５はプリンタ１５等が接続される出力ＩＦ、６はシステムバス、７はキーボード（ＫＢＤ）コントローラ、８はキーボード、９はビデオＩＦ、１０はアウトラインフォントデータに基づく文字パターンを表示するＣＲＴディスプレイ、１１はマウスコントローラ、１２はマウス、１３はハードディスク（ＨＤ）コントローラ、１４はハードディスクドライブである。
【００３４】
図２は図形処理装置の動作処理手順を示すフローチャートである。この処理プログラムはＲＯＭ３に格納されており、ＣＰＵ１によって実行される。まず、ＲＡＭ２に記憶されているアウトラインフォント（データ）の太め処理を行う（ステップＳ２０１）。アウトラインフォントの太め処理は特開平７−１６０２４２号公報に記載されており、ここではその概要だけを示すこととする。
【００３５】
図３は太め処理の概略を示す図である。図４は輪郭の外側と内側の周回方向を示す図である。同図において、矢印は輪郭点の順序（輪郭の周回方向）を表し、外輪郭の場合、時計周りであり、内輪郭の場合、反時計周りである。
【００３６】
図３（Ａ）に示すように、輪郭の周回方向が時計周りの場合、外輪郭であるので、制御点３１を外側に向けて動かす。ここで、外側とは、輪郭の各線分３２をベクトルとして考えた場合、左側に位置する方向である。各輪郭上の線分３２が方向を持っているので、容易に制御点３１を動かす方向（破線矢印方向）を判定することができる。
【００３７】
同図（Ｂ）は輪郭の周回方向が反時計周りの場合を示す。この場合、内輪郭であるので、制御点３５を内側に向けて動かす。内側も外側と同様、輪郭の各線分３６をベクトルとして考えた場合、左側に位置する方向である。すなわち、輪郭の各線分３６を左に動かすように制御点３５を破線矢印方向に移動させることで文字を太くすることができる。
【００３８】
図５は「ぐ」の字を例として太め処理を示す図である。同図（Ａ）は太め処理前の「ぐ」の字を示す。この場合、濁点と「く」の部分とが接近している。同図（Ｂ）はステップＳ２０１の太め処理後の「ぐ」の字を示し、輪郭が重なっている。
【００３９】
つづいて、輪郭上の線分が交差する交点のチェックを行う（ステップＳ２０２）。交点のチェックを行う際、直線の場合には１次方程式の解を求めるだけなので、簡単に交点を求めることができる。曲線の場合、曲線を短い線分で近似するか、ニュートン法などの近似処理を行うことで交点を求めることができる。いずれにせよ、交点を求める処理は、数学的もしくは簡単なコンピュータのプログラミングで行うことができる。
【００４０】
交点部分を輪郭から切り離し、切り離した輪郭の部分同士の合成（一方の輪郭の向きと他方の輪郭の向きとが一致するように接続する処理）を行う（ステップＳ２０３）。図６は輪郭の交点を求めて輪郭合成を行う処理を示す図である。同図（Ａ）は交点で輪郭を切り離した後、交わった輪郭と合成することを示している。輪郭合成を行っても、同図（Ａ）では見かけ上、区別がつかないので、同図（Ｂ）に同図（Ａ）の丸い破線ａで示す範囲を拡大して示す。同図（Ｂ）では、分かり易くするために輪郭の交点を離して描いているが、実際には輪郭は接触している。
【００４１】
切り離し・合成前と切り離し・合成後で各線分の向きは変わらないので、輪郭の周回方向は保たれる。外輪郭４１の周回方向は時計回りであり、本来の輪郭の周回方向と一致する。一方、内輪郭４２の周回方向も時計周りであり、本来の内輪郭の周回方向は反時計周りであるので、周回方向に食い違いが生じている。
【００４２】
次に、輪郭４１、４２が内輪郭を表すものか外輪郭を表すものかを判別するアルゴリズムについて説明する。輪郭本来の周回方向は、輪郭の包含関係を求めることにより判定することが可能である。特定の輪郭が外輪郭か内輪郭かを調べる手順を以下に示す。
【００４３】
（１）調べたい輪郭上の１点（以下、点Ａ）を取り出す
（２）点Ａを含まない全ての輪郭が、点Ａを包含するかどうかを調べる
（３）点を包含する輪郭数が偶数であれば、点Ａを含む輪郭は本来外輪郭であり、奇数であれば内輪郭である。
【００４４】
上記（２）で点Ａを包含するかどうかは、いくつか方法があるが、容易な方法を２つ記しておく。もっとも容易なのは、調べる輪郭を塗りつぶし、点Ａの存在する座標が塗りつぶされているかどうかを調べることにより判定できる。この場合、特定の座標が黒か白かの判定だけで行える。
【００４５】
もう１つの方法としては、点Ａと、調べる輪郭を構成する全ての制御点を順に結んだ線分が、点Ａの周りを一回転（３６０度）するか回転しない（０度）であるかを調べることである。一回転する場合は、点Ａは輪郭の内側に含まれ、回転しない場合は点Ａは輪郭の外にある。
【００４６】
これらによって、本来の輪郭の周回方向を知ることができる。
【００４７】
ステップＳ２０３での輪郭合成後の輪郭の周回方向と本来の輪郭の周回方向とを比較し、周回方向が異なる輪郭を削除する（ステップＳ２０４）。これにより、余分な輪郭（図６の内輪郭４２）が削除され、太い字形の文字を得ることができる。図７は余分な輪郭が削除された後の文字の輪郭を示す図である。太め処理により重なった輪郭が正しく接続されていることが分かる。
【００４８】
このように、本実施形態の図形処理装置では、輪郭が交差する交点を求め、交点での輪郭の切り離しと合成を行った後、輪郭の周回方向が本来の周回方向と異なる輪郭を削除することで、太め処理により重なった輪郭が正しく接続される。したがって、輪郭描画後の内部の塗りつぶし方法（スキャンコンバージョン）に制限が生じず、品位の高い文字データを生成し、ＣＲＴ１０による表示やプリンタ１５による印刷が可能となる。
【００４９】
尚、本発明は複数の機器から構成されるシステムに適用してもよいし、１つの機器からなる装置に適用してもよい。また、本発明はシステムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体をシステムあるいは装置に読み出すことによってそのシステムあるいは装置が本発明の効果を享受することが可能となる。
【００５０】
本実施の形態では、記憶媒体としてＲＯＭ３が用いられており、ＲＯＭ３には、輪郭太めモジュール、交点チェック・計算モジュール、輪郭切り離し・合成モジュール、周回方向チェック・輪郭削除モジュールを含むプログラムが格納されている。図８は記憶媒体のメモリマップを示す説明図である。輪郭太めモジュールは、アウトラインフォント（データ）の太め処理を行うモジュールである。交点チェック・計算モジュールは、輪郭上の線分が交差する交点を求めるモジュールである。輪郭切り離し・合成モジュールは、交点部分を輪郭から切り離し、切り離した輪郭の部分同士の合成を行うモジュールである。周回方向チェック・輪郭削除モジュールは、輪郭合成後の輪郭の周回方向と本来の輪郭の周回方向とを比較し、周回方向が食い違っている輪郭を削除するモジュールである。
【００５１】
このようなプログラムを供給する記憶媒体としては、上記ＲＯＭの他に、例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【００５２】
図９は記憶媒体として用いられるフロッピー（登録商標）ディスクの外観を示す図である。フロッピー（登録商標）ディスク５０は３．５インチ型のものである。図１０はフロッピー（登録商標）ディスク５０に格納されたプログラムがロードされるコンピュータを示す図である。コンピュータ本体１００にはフロッピー（登録商標）ディスクドライブが１台設けられており、フロッピー（登録商標）ディスク５０をフロッピー（登録商標）ディスクドライブにセットすることによりプログラムがコンピュータ本体１００にロードされる。
【００５３】
このように可搬性のある記憶媒体を用いることにより、汎用性のあるワークステーションやパーソナルコンピュータを、図形処理装置として機能させることができる。
【００５４】
【発明の効果】
本発明の請求項１に記載の図形処理装置によれば、太め処理により重なった輪郭を正しく接続できる。したがって、輪郭描画後の内部の塗りつぶし方法に制限を生じさせることなく、品位の高い図形データを生成できる。尚、請求項４に記載の図形処理方法および請求項７に記載の記憶媒体においても同様の効果を得ることができる。
【００５６】
請求項７に記載の記憶媒体によれば、汎用性のあるワークステーションやパーソナルコンピュータなどの情報処理装置を図形処理装置として機能させることができ、情報処理装置の汎用性を高めることができる。
【図面の簡単な説明】
【図１】ワークステーションの構成を示すブロック図である。
【図２】図形処理装置の動作処理手順を示すフローチャートである。
【図３】太め処理の概略を示す図である。
【図４】輪郭の外側と内側の周回方向を示す図である。
【図５】「ぐ」の字を例として太め処理を示す図である。
【図６】輪郭の交点を求めて輪郭合成を行う処理を示す図である。
【図７】余分な輪郭が削除された後の文字の輪郭を示す図である。
【図８】記憶媒体のメモリマップを示す説明図である。
【図９】記憶媒体として用いられるフロッピー（登録商標）ディスクの外観を示す図である。
【図１０】フロッピー（登録商標）ディスク５０に格納されたプログラムがロードされるコンピュータを示す図である。
【符号の説明】
１  ＣＰＵ
３  ＲＯＭ
３１、３５  制御点
３２、３６  線分
４１  外輪郭
４２  内輪郭
【図１】
0003576797.tif 000002
【図２】
0003576797.tif 000003
【図３】
0003576797.tif 000004
【図４】
0003576797.tif 000005
【図５】
0003576797.tif 000006
【図６】
0003576797.tif 000007
【図７】
0003576797.tif 000008
【図８】
0003576797.tif 000009
【図９】
0003576797.tif 000010
【図１０】
0003576797.tif 000011