(57)【要約】      （修正有）【課題】コンピュータにより、二値化ドットマトリクスフォントからグレードットマトリクスフォントに自動あるいは半自動で変換する方法を提供する。【解決手段】プログラムされたコンピュータによって、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する方法であって、二値化ドットマトリクス輪郭形状を受信するステップＳ２０と、二値化ドットマトリクス文字イメージを複数のドットから成る格子座標系に配置するステップＳ２１と、曲線セグメントと前記格子座標系の複数のドットとの交点を記録するステップＳ２２と、二値化ドットマトリクス輪郭形状に対してアンチエイリアシング処理を実行するステップＳ２３と、グレードットマトリクスイメージフォントとして記録するステップＳ２４とを含む。【選択図】図２
2012173632.tif 000002
【特許請求の範囲】
【請求項１】
プログラムされたコンピュータによって、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する方法であって、以下の（ａ）〜（ｅ）のステップを備えることを特徴とする方法。
（ａ）輪郭形状受信部が、二値化ドットマトリクスディスプレイ上に二値化ドットマトリクス文字イメージを表示するように設計され、１又はそれ以上の曲線セグメントを有する二値化ドットマトリクス輪郭形状を受信するステップ、
（ｂ）記録部が、受信した前記二値化ドットマトリクス輪郭形状と、前記二値化ドットマトリクス輪郭形状に基づく前記二値化ドットマトリクス文字イメージを、複数のドットから成る格子座標系に配置するステップ、
（ｃ）前記記録部が、前記一又はそれ以上の曲線セグメントに対して、前記曲線セグメントと前記格子座標系の複数のドットとの交点を記録するステップ、
（ｄ）アンチエイリアシング処理部が、前記一又はそれ以上の曲線セグメントと交差するドットのそれぞれに対するターゲットグレー値を得るために、前記格子座標系上に配置された二値化ドットマトリクス輪郭形状に対してアンチエイリアシング処理を実行するステップ、
（ｅ）フォント生成部が、前記交差ドットのすべてに対する前記ターゲットグレー値の集合体を、それぞれ、グレードットマトリクスイメージフォントとして記録するステップ。
【請求項２】
前記二値化ドットマトリクス輪郭形状が、フォントエンジンに入力されると二値化ドットマトリクスディスプレイ上に二値化ドットマトリクス文字イメージを生成する二値化ドットマトリクスアウトラインフォントによって供給されるものであることを特徴とする、請求項１に記載の方法。
【請求項３】
前記方法は、さらに、以下の（ｆ）〜（ｈ）のステップを備えることを特徴とする、請求項１に記載の方法。
（ｆ）ポイント調整部が、前記ステップ（ｄ）において得られた前記交差ドットのそれぞれに対する前記ターゲットグレー値に到達させるために前記格子座標系の交点を移動させるステップ、
（ｇ）前記フォント生成部が、前記移動された交点に追随する近似ベジェ曲線セグメントを取得するステップ、
（ｈ）前記フォント生成部が、前記ステップ（ｇ）で得られた近似ベジェ曲線セグメントの集合体をグレードットマトリクスアウトラインフォントとして記録するステップ。
【請求項４】
前記ステップ（ｆ）が、所定の規則に従って前記格子座標系における交点を移動させるステップを備えたことを特徴とする、請求項３に記載の方法。
【請求項５】
前記所定の規則が、水平交点、すなわち曲線セグメントがドットとその横辺で交わる点は水平交点のまま維持し、垂直交点、すなわち曲線セグメントがドットとその縦辺で交わる点は垂直交点のまま維持するという規則を含むものである、請求項４に記載の方法。
【請求項６】
コンピュータに以下の機能（ａ）〜（ｄ）を実現させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
（ａ）二値化ドットマトリクスディスプレイ上に二値化ドットマトリクス文字イメージを表示するように設計され、１又はそれ以上の曲線セグメントを有する二値化ドットマトリクス輪郭形状を受信する機能、
（ｂ）受信した前記二値化ドットマトリクス輪郭形状と、前記二値化ドットマトリクス輪郭形状に基づく前記二値化ドットマトリクス文字イメージを、複数のドットから成る格子座標系に配置し、前記一又はそれ以上の曲線セグメントに対して、前記曲線セグメントと前記格子座標系の複数のドットとの交点を記録する機能、
（ｃ）前記一又はそれ以上の曲線セグメントと交差するドットのそれぞれに対するターゲットグレー値を得るために、前記格子座標系上に配置された二値化ドットマトリクス輪郭形状に対してアンチエイリアシング処理を実行する機能、
（ｄ）前記交差ドットのすべてに対する前記ターゲットグレー値の集合体を、それぞれ、グレードットマトリクスイメージフォントとして記録するグレードットマトリクスイメージフォント生成機能。
【請求項７】
前記プログラムが、前記コンピュータに、さらに、以下の（ｅ）〜（ｆ）の機能を実現させることを特徴とする、請求項６に記載の記録媒体。
（ｅ）前記交差ドットのそれぞれに対する前記ターゲットグレー値に到達させるために前記格子座標系の交点を移動させる点調整機能、
（ｆ）前記移動された交点に追随する近似ベジェ曲線セグメントを求め、前記近似ベジェ曲線セグメントの集合体をグレードットマトリクスアウトラインフォントとして記録するグレードットマトリクスアウトラインフォント生成機能。
【請求項８】
プロセッサ、記憶装置、入力装置、及びディスプレイを含む出力装置を含むコンピュータシステムにロードされたときに、以下の（ａ）〜（ｄ）の機能を実現させるコンピュータプログラムを含む、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換するためのコンピュータグラフィカルユーザインタフェースソフトウェアツールを格納したコンピュータ読み取り可能な記録媒体。
（ａ）前記コンピュータシステムのディスプレイ上に、
複数のドットから成る格子座標系上に二値化ドットマトリクス文字イメージを表示し、さらに、前記格子座標系の複数のドットと交わる一又は複数の曲線セグメントを有する対応する二値化ドットマトリクス輪郭形状を前記二値化ドットマトリクス文字イメージの上に重ねて表示するように構成された作業エリアと、
前記作業エリアに表示された情報を修正するためのユーザ命令を受信するように構成されたユーザ対話式命令エリアと、
前記作業エリアに表示され、ユーザによって修正された情報から得られたグレードットマトリクス文字イメージを表示するように構成された表示エリアと、
を表示する機能、
（ｂ）前記作業エリアに表示された二値化ドットマトリクス輪郭形状を構成する前記一又はそれ以上の曲線セグメントのそれぞれに対して、前記曲線セグメントと前記格子座標系の複数のドットとの交点を前記コンピュータシステムの前記記憶装置に記録する機能、
（ｃ）前記一又はそれ以上の曲線セグメントと交差するドットのそれぞれに対するターゲットグレー値を得るために、前記作業エリア中の前記格子座標系上に配置された二値化ドットマトリクス輪郭形状に対してアンチエイリアシング処理を実行する機能、及び、
（ｄ）前記交差ドットのすべてに対する前記ターゲットグレー値の集合体を、それぞれ、グレードットマトリクスイメージフォントとして前記記憶装置に記録する機能。
【請求項９】
前記コンピュータプログラムが、前記コンピュータに、さらに、前記各交差ドットに対するターゲットグレー値に到達するように前記格子座標系中の交点を移動させる機能を実現させることを特徴とする請求項８に記載の記録媒体。
【請求項１０】
前記コンピュータプログラムが、水平交点、すなわち曲線セグメントがドットとその横辺で交わる点は水平交点のまま維持し、垂直交点、すなわち曲線セグメントがドットとその縦辺で交わる点は垂直交点のまま維持するという規則を含む所定の規則に従って、前記格子座標系中の交点を移動させる機能を、前記コンピュータに実現させることを特徴とする請求項９に記載の記録媒体。
【請求項１１】
前記コンピュータプログラムが、前記移動された交点に追随した近似ベジェ曲線セグメントを取得する機能を前記コンピュータに実現させることを特徴とする請求項９に記載の記録媒体。
【請求項１２】
前記作業エリアが、前記移動された交点にぴったり重なる近似ベジェ曲線セグメントのそれぞれに対するベジェ曲線制御点と共に、前記格子座標系中の移動された交点を表示するように構成されていることを特徴とする請求項１１に記載の記録媒体。
【請求項１３】
前記コンピュータプログラムが、前記入力装置を介して前記作業エリアに表示されているベジェ曲線制御点を動かすユーザ命令を受け取る機能を前記コンピュータに実現させるとともに、
前記表示エリアが、前記移動されたベジェ曲線制御点から得られたグレードットマトリクス文字イメージを表示するように構成されていることを特徴とする請求項１２に記載の記録媒体。
【請求項１４】
前記コンピュータプログラムが、前記移動された交点に追随する近似ベジェ曲線セグメントを取得するために、プロセッサに使用される誤差許容値を定義するユーザ命令を受け取る機能を前記コンピュータに実現させることを特徴とする請求項１１に記載の記録媒体。
【請求項１５】
前記コンピュータプログラムが、前記近似ベジェ曲線セグメントの集合体をグレードットマトリクスアウトラインフォントとして前記記憶装置に記録する機能を前記コンピュータに実現させることを特徴とする請求項１１に記載の記録媒体。
【請求項１６】
前記コンピュータプログラムが、前記格子座標系に配置された二値化ドットマトリクス輪郭形状に対する前記アンチエイリアシング処理において使用されるガウス演算子を定義するユーザ命令を、前記入力装置を介して受け取る機能を前記コンピュータに実現させるとともに、
前記表示エリアが、前記ユーザによって定義されたガウス演算子に基づいて行われた前記アンチエイリアシング処理の結果得られるグレードットマトリクス文字イメージを表示するように構成されていることを特徴とする請求項８に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２値化（binary）ドットマトリクス画像をグレードットマトリクス画像に変換する画像処理方法に関するものであり、特に、既存の２値化ドットマトリクスフォントからグレードットマトリクスフォントを生成する方法及びシステムに関するものである。
【背景技術】
【０００２】
アジア文字のフォント（「アジアフォント」という。）を発生させるためのシステムは数多くある。アジアフォントは、アジア言語における文字を表現する数多くの表意文字から成っている。アジア言語にはたくさんの文字が含まれているものと思われる。例えば、中国語には２万超の異なる文字が含まれている。
アジアフォントにおいて文字パターンを発生させる従来のコンピュータ技術の一つは、アウトラインフォントを使用するものである。このシステムは、アドビシステムズ社による「ポストスクリプト言語のチュートリアル及びクックブック」という本に記載されている（アジソン・ウェスレイ出版、１９８５年）。
この方法において、文字パターンの輪郭（outline）は、直線と曲線の集合体として記憶される。この技術に関してはいくつかの不利な点がある。第１に、異なるフォントの輪郭が数万の異なる文字に対してそれぞれ定義され、かつ、記憶されなければならないため、メモリの記憶容量は相対的に高いものとなることである。第２に、高い解像度で記憶されたフォントの輪郭は、高い解像度で表示する場合にのみ適しており、相対的に低い解像度において高品質に表示させるのには適していない。
【０００３】
アジアフォントを発生させる他の方法は筆画（stroke）ベースの文字パターンデータを使用するものであり、１つの文字に含まれる各筆画は別々に定義されている。一つの文字は、通常は、互いに重なったり交差したりする複数の筆画によって構成されている。
筆画ベースの文字データは、キーポイント、幅値（width  values）、特徴点（feature  points）及び曲線比率（curve  ratios）から成り立っており、それらによって各筆画の輪郭が定義される。筆画ベースの文字データの作成及び表示については、参考文献として挙げられている下記特許文献１乃至３に詳細に述べられている。筆画ベースの技術はフォントのために要するメモリ容量を減らすのに適している。さらに、筆画ベースの文字フォントは、高解像度及び低解像度の両方においても、常に高品質になるように調整されて表示することが可能である。
【０００４】
さらに、アジアフォントを発生させる他の方法は、グリフ（glyph）ベースの文字パターンデータを使用するものであり、１つの文字にある各グリフは別々に定義されている。
１つのアジア文字は、通常、１又はそれ以上のグリフから成っており、さらに各グリフは１又はそれ以上の筆画から構成されている。例えば、一つの文字の中で互いに交差したり重なり合ったりしているいくつかの筆画によって、複雑で総体的な幾何学形状が形作られるが、それがグリフである。
グリフベース方式において、各グリフは、上述の筆画ベース方式のように、キーポイント、幅値、特徴点及び曲線比率によって定義される。グリフベースの文字パターンデータの構築及び表示は、参考文献として挙げられている下記特許文献４及び５に詳細に述べられている。
【０００５】
グレースケールで表示するためのアジアフォントセットを生成するためのさらに別の方法が知られているが、各文字は１又はそれ以上の筆画／グリフを含み、各筆画／グリフはシルエット化表示方法（silhouette-oriented  representation）によって定義されている。グレースケールによる表示のためのシルエット化表示の構築及び画面表示（rendering）は下記特許文献６に詳細に述べられている。
広い意味で、筆画／グリフベースのフォントを含む上述の様々なフォントは、すべて“アウトラインフォント”であり、そこには、文字の輪郭（outline）又はその文字を形成する筆画／グリフの輪郭データが格納されているか、若しくは輪郭が数式で定義されている。
【０００６】
標準的なフォントエンジンは、アウトラインフォントのデータを受け取り、それを様々な解像度を有するドットマトリクススクリーン上に、ドットマトリクス画像の形で表示することができる。スクリーンディスプレイ技術の進歩に伴い、テキストは今や携帯電話、ＰＤＡ、携帯型デジタルオーディオ／ビジュアル機器及び他の電子機器の画面上にグレーレベルのドットマトリクス画像として表示することが可能である。以前は、文字は、各画素を白か黒で表示する二値化イメージドットマトリクス画面に表示されていた。例えば、一つの画素（ピクセル）の面積の５０％以上が文字の輪郭によって占められていれば、その画素は黒く塗られ（activated）、そうでなければ白いまま（not  activated）とされる。
一方、グレーレベル（又はグレードットマトリクス）スクリーンは、各画素を黒（レベル値0）から白（レベル値255）までの範囲の任意のグレーレベル（又はグレー値：Gray  Value）で表示することが可能である。要するに、グレーレベルスクリーンに文字を表示するための代表的な方法は、文字が表示される各画素について、その文字による各画素の占有率を決める必要があるということである。特に、この方法では、文字によって占められる部分の面積Ａ１と、文字によって占められていない部分の面積Ａ２が決定される。ここで、Ａ１とＡ２の和が１ピクセルの面積となる。次に、その画素に対するグレー値は、次の式１によって求められる。
グレー値＝（Ａ１×黒＋Ａ２×白）／（Ａ１＋Ａ２）・・・（式１）
個々の画素に対するグレー値を計算する方法は、他にもいろいろ存在する。しかしながら、二値化ドットマトリクススクリーン用に定義されたフォント文字をグレードットマトリクススクリーンに表示すると、そのテキストイメージはしばしばひどく劣化したものとなる。これは特に、比較的複雑な幾何学的形状を有する傾向にあるアジア文字に当てはまる。
【０００７】
既存の二値化ドットマトリクスフォントからグレードットマトリクスフォントを作成するのを補助するためのソフトウェアツールがいくつか開発されている。一つの例は、双方向のマン−マシンインタフェースソフトウェアツールである。これは、ドットの集合体である既存の二値化ドットマトリクスイメージフォントを受けとり、標準的なフォントエンジンに入力されたときに、二値化ドットマトリクススクリーン上に実質的に元の二値化ドットマトリクスイメージと同じ文字イメージを表示する。このツールは、フォントデザイナーが、生成されたアウトラインフォントの形状を、グレードットマトリクススクリーン上にグレードットマトリクス文字イメージとして表示するのに適した新たなアウトラインフォントに手動で修正できるようになっている。元来、この種のツールは、フォントデザイナーが、まず既存の二値化ドットマトリクスイメージフォントに基づいてアウトラインフォント形状（shape）を作成し、次に、作成された基準形状としてのアウトラインフォント形状を、フォントエンジンに入力することにより、グレードットマトリクススクリーン上にグレードットマトリクス文字イメージを生成するためのグレードットマトリクスアウトラインフォントを得るために修正するものである。しかしながら、このアプローチは多くの労力と時間がかかるという問題がある。
二値化ドットマトリクスフォントをグレードットマトリクスフォントに自動あるいは半自動で変換する方法及びシステムが求められている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第5,852,448号明細書
【特許文献２】米国特許第6,151,032号明細書
【特許文献３】米国特許第6,157,390号明細書
【特許文献４】米国特許第6,501,475号明細書
【特許文献５】米国特許第6,661,417号明細書
【特許文献６】米国特許第7,199,797号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、上述のような事情に鑑み為されたものであり、二値化ドットマトリクスフォントからグレードットマトリクスフォントに自動あるいは半自動で変換する方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様は、二値化ドットマトリクスフォントをグレードットマトリクスフォントに、プログラムされたコンピュータによって変換する方法を提供するものである。この方法は、一般に次の５つのステップを含む。
第１に、二値化ドットマトリクス文字イメージを二値化ドットマトリクスディスプレイ上に表示するために設計された二値化ドットマトリクス輪郭形状（outline shape）が入力されるステップである。この二値化ドットマトリクス輪郭形状は、１又はそれ以上の曲線セグメントを含んでいる。
第２に、入力された二値化ドットマトリクス輪郭形状及びその輪郭形状に基づいて表示（生成）される二値化ドットマトリクス文字イメージが、多くのドットから成る格子座標系の上に配置されるステップである。
第３に、輪郭形状の１又はそれ以上の各曲線セグメントに対して、曲線セグメントと格子座標系のドットとの交点が特定され記録されるステップである。
第４に、１又はそれ以上の曲線セグメントと交差する各ドットにおけるターゲットグレー値を得るために、格子座標系の上に配置された二値化ドットマトリクス輪郭形状に対してアンチエイリアシング処理が実施されるステップである。
第５に、上述のようにして得られた、曲線セグメントと交差する各ドットのターゲットグレー値が集められて、グレードットマトリクスイメージフォントとして記録されるステップである。
【００１１】
本発明の別の態様によれば、プログラムされたコンピュータによって実行される前記方法は、一般に以下の３つの追加ステップを含む。
第６に、交点は格子座標系の中で、交差した各ドットのターゲットグレー値を確定させるために動かされるステップ。
第７に、動かされた交点に従った近似ベジェ曲線セグメントを取得するステップ。
第８に、近似ベジェ曲線セグメントの集合体が、グレードットマトリクスアウトラインフォントとして記録されるステップ。
このようにして、この方法は、結合して文字イメージを形成するドットの集合体であるグレードットマトリクスイメージフォント又は／及び文字イメージの輪郭を定義するための曲線セグメントの集合体であるグレードットマトリクスアウトラインフォントを生成するために使用される。
【００１２】
本発明のさらに別の態様では、コンピュータシステムに読み込まれ、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する本発明に係る方法に関する機能を実行する、コンピュータで実行可能な命令（プログラム）を格納したコンピュータ読み取り可能な媒体が提供される。
【００１３】
本発明のさらに別の態様は、二値化ドットマトリクスフォントからグレードットマトリクスフォントへの変換を全自動あるいは人間（ユーザ）の介在を含む半自動で行うことを可能とするものである。半自動での変換を容易にするために、コンピュータグラフィカルユーザーインタフェース（ＧＵＩ）ソフトウェアツールが格納されたコンピュータ読み取り可能な媒体が提供される。このＧＵＩソフトウェアツールは、コンピュータのスクリーンに、「作業エリア」、「対話式命令エリア」及び「表示エリア」を表示する。
作業エリアは、二値化ドットマトリクス文字イメージを格子座標系に表示し、さらに、二値化ドットマトリクス文字イメージに重畳して、対応する二値化ドットマトリクス輪郭形状を表示するために設けられているものである。
対話式命令エリアは、作業エリアに表示された情報を修正するための、ユーザからの命令を受けるために設けられているものである。
表示エリアとは、作業エリアに表示され、ユーザによって修正された情報から得られた二値化ドットマトリクス文字イメージを表示するために設けられているものである。
このようにして、ユーザは、表示エリアにおいて表示されたグレードットマトリクス文字イメージを視覚的に確認しながら、対話式命令エリアを介して変換プロセスに選択的に（必要に応じて）介入することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の様々な実施形態の実行に適したコンピュータシステム又はＧＵＩ製品を表した図である。
【図２】本発明の様々な実施形態に従って、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する方法のフローチャートを示した図である。
【図３】（Ａ）は、格子座標系に配置された二値化ドットマトリクス文字イメージを示す図であり、（Ｂ）は対応する二値化ドットマトリクス輪郭形状を示す図であり、（Ｃ）は（Ａ）の文字イメージの上に（Ｂ）の輪郭形状が重畳された状態を表す図である。
【図４】（Ａ）は二値化ドットマトリクス輪郭形状の曲線セグメントと格子座標系との交点を表す図であり、（Ｂ）は（Ａ）の曲線セグメントを定義するのに適したよく知られた木構造のベジェ曲線を表す図であり、（Ｃ）は（Ａ）の格子座標系の中の一つのドットを拡大した図である。
【図５】各交点が存在するドットのターゲットグレー値を得るためのガウス演算子を使用したアンチエイリアシング処理の工程を表したフローチャートである。
【図６】各交差ドットに対して、その交差ドットを囲む８個のドットの関係を説明するための図である。
【図７】アンチエイリアシング処理に使用するのに適したガウス平滑化演算子（以下、単に「ガウス演算子」という。）の構成を表した図である。
【図８】特定のトポグラフィー又は交差状態を有するドットに適用するのに都合がよいガウス演算子の例を示すものである。
【図９】ガウス演算子の重み分布を示す図である。
【図１０】各交点が存在するドットのターゲットグレー値を求めるための交点の位置の移動方法に関するフローチャートを示す図である。
【図１１】交点の移動による近似木構造ベジェ曲線セグメントの構築方法のフローチャートを示す図である。
【図１２】本発明の一つの実施例に対するコンピュータシステム又はＧＵＩ製品のブロック図である。
【図１３】本発明の一つの実施例に対するＧＵＩ製品の画面表示例を示す図である。
【発明を実施するための形態】
【００１５】
図１は、本発明の様々な方法やシステムが実行される典型的なコンピュータ環境を表している。ディスプレイ２ａ及び入力装置２ｂ（例えば、マウスやキーボード等）を含む汎用のデジタルコンピュータ１は、本発明の様々な方法を実行したり、本発明の様々なシステムを具現化したりする能力を有する。ディスプレイ２ａ及びその他の出力装置（プリンタ、モニタ、ドライブ機構等）は、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する過程で生ずる中間生成物／データのみならず、本発明によって生成されたフォントを表示したり、印刷したり、さもなければ出力したりすることができる。ネットワーク化システムやメインフレームベースのシステムのような、当業者によく知られた他のコンピュータシステムも使用可能である。
【００１６】
図２は、本発明の様々な実施形態に従って、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する好適な方法のフローチャートを示した図である。
ステップＳ２０では、二値化ドットマトリクススクリーン上に二値化ドットマトリクス文字イメージを生成するために設計された二値化ドットマトリクス輪郭形状を（システムが）受け取る。
図３（Ａ）及び図３（Ｂ）をあわせて参照すると分かるが、二値化ドットマトリクス輪郭形状７が（通常は、二値化ドットマトリクスアウトラインフォントの形式で定義されるが、）、二値化ドットマトリクスアウトラインフォントが標準のフォントエンジンに入力されたときに、図３（Ａ）に示す二値化ドットマトリクス文字イメージ５を発生させる。二値化ドットマトリクス輪郭形状７は、１又はそれ以上の曲線セグメントを含んでいる。たとえば、図３（Ｃ）に示す輪郭形状７の左側の曲線を定義する曲線セグメント８である。
【００１７】
ステップＳ２１では、図３（Ｃ）に示すように、受け取ったドットマトリクス輪郭形状７と、ドットマトリクス輪郭形状７に基づいて表示される二値化ドットマトリクス文字イメージ５の両方が格子座標系１０の上に配置される。すなわち、二値化ドットマトリクス輪郭形状７は格子座標系１０上において二値化ドットマトリクス文字イメージ５に重ね合わされる。格子座標系１０は、格子状に配列されて座標系を形成する複数のドット（画素）から成る。一般には、ドット６は縦と横の線によって定義される。すなわち、各ドットは４辺（２本の縦の辺と２本の横の辺）によって定義される正方形をしている。
一般に、標準的なフォントエンジンは二値化ドットマトリクス輪郭形状に基づいて二値化ドットマトリクス文字イメージを表示（レンダリング）することができる。図３（Ｃ）は、以下の二つの規則に従って表示された一つのサンプルを示す。
（規則１）もし、輪郭（又は輪郭で囲まれた領域）がドット（画素）の面積の５０％を超えて（ドットを）覆う（占有する）場合は、そのドットはアクティブとなり、黒色が割り当てられ、そうでなければ、非アクティブとなり、白色が割り当てられる。
（規則２）もし、あるドットが、互いに向かい合っている二つの曲線セグメントを持つ輪郭によって覆われている場合は、そのドットはアクティブとなり黒色が割り当てられる。
【００１８】
ステップＳ２２では、さらに図４（Ａ）に示すように、二値化ドットマトリクス輪郭形状の曲線セグメント８に対して、格子座標系１０のドット６の各辺（２本の縦辺と２本の横辺）と曲線セグメント８との交点２８が特定される。特に、各交点の交差状態（すなわち、曲線セグメント８が縦辺と交差しているのか、それとも横辺と交差しているのかということ）だけではなく、各交点の位置座標（すなわち、曲線セグメントが、どのドットと、どの位置で交わっているのかという情報）も特定される。これについては、以下にさらに詳細に述べる。
【００１９】
受け取った二値化ドットマトリクス輪郭形状７の曲線セグメント８は、一般には、この技術分野でよく知られた木構造のベジェ曲線として定義される。図４（Ｂ）は、二値化ドットマトリクス輪郭形状の曲線セグメント８を定義するために作られた木構造のベジェ曲線を表したものである。
図４（Ａ）及び図４（Ｂ）に示すように、曲線セグメント８は、よく知られた木構造ベジェ曲線作成方法を使用して、はじめに、両端にそれぞれ置かれた二つの特徴点（ｆ１及びｆ２）によって定義される。ベジェ曲線作成方法は、まず、制御三角形９に基づく曲線セグメント８に近似した二値化ベジェ曲線を作ることから始める。この二値化ベジェ曲線は木構造の根ノード（root  node）になる。制御三角形９は、特徴点ｆ１とｆ２を結ぶ直線を底辺とし、頂点Ｖ３と底辺の中点ｍを結ぶ直線（三角形の中線）とによって形成される。制御三角形９（ｆ１Ｖ３ｆ２）は、中線の中点Ｃを通り、特徴点ｆ１及びｆ２においてそれぞれ三角形の他の２辺ｆ１Ｖ３及びＶ３ｆ２に接する二値化ベジェ曲線を定義するのに使用される。制御三角形９の頂点Ｖ３を移動させることによって、実際の曲線セグメント８に近似した理想的なベジェ曲線が得られる。もし、この方法によって作られた近似ベジェ曲線が曲線セグメント８とぴったり合わない場合は、ベジェ曲線は中線の中点Ｃにおいて二つのセグメントに分割され、分割された曲線セグメントに近似するさらに別の（二次）ベジェ制御三角形を作るために、各曲線セグメントに対して同じ処理が繰り返される。特に、図４（Ｂ）を見れば分かるように、新たな二つの制御三角形ｆ１Ｖ２Ｃ及びＣＶ４ｆ２が形成され、それに基づいて二つの二次ベジェ曲線が定義される。このように、根ノードから枝分かれした二つの葉ノード（leaf  node）を持つベジェ木構造が形成され、二値化ドットマトリクス輪郭形状７の曲線セグメント８に近づくことになる。図示した例では、制御三角形ｆ１Ｖ２Ｃに基づく二次ベジェ曲線Ｐ（ｔ）は、次の式２で定義される。
Ｐ（ｔ）＝（１−ｔ）２Ｖ１＋２ｔ（１−ｔ）Ｖ２＋ｔ２Ｃ……（式２）
本発明の様々な実施例において、二値化ドットマトリクス輪郭形状７は、木構造のベジェ曲線のセグメントの集合体の形で受け入れられるが、各ベジェ曲線は、二値化ドットマトリクス輪郭形状７上の連続した（隣接する）二つの特徴点によって定義される曲線セグメント８に近似したものになる。このように、上述の式２で定義される曲線サブセグメントｆ１Ｃを含む曲線セグメント８は、本発明のシステム及び方法への入力として受け入れられる。
【００２０】
さらに、図４（Ａ）及び図４（Ｂ）を参照すると、曲線サブセグメントｆ１Ｃは、格子座標系１０の縦辺ｘ６、ｘ５及び横辺ｙ１、ｙ２、…ｙ１０においてドット（画素）と交差していることが分かる。この明細書においては、ドットの縦辺ｘｉと交わる点を、ドットの垂直交点ｘｉと呼び、ドットの横辺ｙｉと交わる点を、ドットの水平交点ｙｉと呼ぶこととする。図示した例では、曲線サブセグメントｆ１Ｃは、格子座標系１０と、特徴点ｆ１から始まって中点Ｃまでの間で、順に、（１）ｙ１、（２）ｙ２、（３）ｙ３、（４）ｘ６、（５）ｙ４、（６）ｙ５、（７）ｙ６、（８）ｙ７、（９）ｙ８、（１０）ｘ５、（１１）ｙ９、（１２）ｙ１０の１２点で交わる。
始点ｆ１及び終点Ｃを含むこれらの交点は、曲線サブセグメントｆ１Ｃを形成し、それは以下の式３を満足する。ここに、Ｖ１、Ｖ２及びＣの位置座標は既知とする。
【数１】
2012173632.tif 000003
このように、１２の交点の各々に対応するｔの値は、上記の式３から算出される。すなわち、垂直交点ｘｉに対する方程式ｘ（ｔ）を使用し、それを解くのである。たとえば、ｘ６＝（１−ｔ４）２Ｖ１ｘ＋２ｔ４（１−ｔ４）Ｖ２ｘ＋ｔ４２Ｃｘ；  ｘ５＝（１−ｔ１０）２Ｖ１ｘ＋２ｔ１０（１−ｔ１０）Ｖ２ｘ＋ｔ１０２Ｃｘである。ここに、ｔｉは図示した実施例の特徴点ｆ１から中点Ｃまでの間のｉ番目（ｉ＝１，２…１２）の“ｔ”を意味する。同様に、ｔｉは水平交点ｙｉに対する方程式ｙ（ｔ）を使用し、それを解くことによって決定される。たとえば、ｙ１＝（１−ｔ１）２Ｖ１Ｙ＋２ｔ１（１−ｔ１）Ｖ２Ｙ＋ｔ１２ＣＹである。このようにして、ｔｉ（ｉ＝１、２、…１２）が得られ、各交点（ｙ１、ｙ２、ｙ３、ｘ６、ｙ４、ｙ５、ｙ６、ｙ７、ｙ８、ｘ５、ｙ９、ｙ１０）の位置が、各ｔｉを式３に代入することによって決定され、各交点の位置がそこで記録される。また、各交点の状態、すなわち、垂直交点か水平交点かも記録される。すなわち、ｔｉ（ｉ＝１，２…１２）によって垂直か水平のどちらかを判断することができる。後述のように、各交点の位置及び状態は、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する途中における各交点の移動の範囲を定義するのに使用される。
このとき、二値化ドットマトリクス輪郭形状７を形成する各曲線セグメントに対して、曲線セグメントと格子座標系１０との各交点の位置及び状態が記録される。元の二値化ドットマトリクス輪郭形状７又は二値化ドットマトリクス文字イメージは何も変更されない。
【００２１】
次に、ステップＳ２３では、グレードットマトリクスイメージフォントを生成するために、格子座標系１０上の二値化ドットマトリクス文字輪郭形状７に対してアンチエイリアシング（エッジスムージング）アルゴリズムが適用される。グレードットマトリクスイメージフォントによって表示された文字イメージ中のギザギザは減少する。ここで使用されるように、グレードットマトリクスイメージフォントは、フォントエンジンに入力されるとグレードットマトリクススクリーン上にグレードットマトリクス文字イメージを表示することが可能なドット（黒く塗られたドット）の集合体の形をしたフォントである。上述のように、標準的なフォントエンジンは、結合して文字の輪郭（アウトライン）を定義する曲線セグメントの集合体の形をとるグレードットマトリクスアウトラインフォントを受け入れることも可能である。一般に、グレードットマトリクスアウトラインフォントは、グレードットマトリクスイメージフォントよりも必要とされる記憶スペースが少なくて済む。イメージフォントは、それが定義されたときと同じ解像度レベルを持つスクリーンに表示されるのが一般的であるが、アウトラインフォントはこれと違い、様々な解像度を持つドットマトリクススクリーン上に表示可能なように、よりスケーラブル（拡大・縮小しても形が崩れない性質のこと。）になっている。それゆえに、本発明の様々な実施形態によれば、二値化ドットマトリクスフォントがまずグレードットマトリクスイメージフォントに変換され、それが最終的なものとして使用されるか、もしくは、さらにグレードットマトリクスアウトラインフォントにさらに変換されるために使用されるかのいずれかになる。
【００２２】
図５は、本発明の様々な実施例に対して、二値化ドットマトリクス輪郭形状７にガウス演算子を使用したアンチエイリアシングアルゴリズムを適用する工程を表したフローチャートである。ステップＳ３４において、二値化ドットマトリクス輪郭形状７を形成する１又はそれ以上の曲線セグメントと交差するドット（以下「交差ドット」という。）のそれぞれについてカバー面積が計算される。各交差ドットに対して、その交差ドットを囲む８個のドットが特定され（３×３の場合）、それらのドットが交差しているか否かにかかわらず、周囲のドットのそれぞれについてカバー面積が計算される。もし、周囲のドットで交差していないものがあるとすれば、そのようなドットのカバー面積は０である。前記の背景技術のところで述べたように、各ドットのカバー面積は、カバー面積とドット（画素）の全体面積（又はドット内の非カバー面積）との比を求めるために使用され、そのため、上記式１のような適切なグレー値計算式を用いて、そのドットのグレー値（０〜２５５）が求められる。カバー面積は、各ドット（画素）の全体面積が一定及び既知であるため、直接又は間接にグレー値として使用可能であることに特に注意されたい。例えば、いくつかの実施例においては、カバー面積の値は、グレー値として直接使用することができるが、一方、他の実施例では、カバー面積の値は全体ドット面積に対するカバー面積の比率を得るために使用され、その比率はグレー値を得るのに使用される。
【００２３】
交差ドットのカバー面積の計算法の一つの実施例を、図４（Ａ）の格子座標系１０のドット（画素）１１の拡大図である図４（Ｃ）を参照して説明する。一般に、曲線セグメント８によってカバーされた（占有された）ドットのエリアＡｒの面積は、ドットの辺上の交点に基づいて算出できる。例えば、図４（Ｃ）のドット１１の面積Ａｒは、次の台形の面積公式（式４）から算出可能である。
Ａｒ＝{[x６−P(x１，y６)]＋[x６−P(x２，y７)]}*(y7−y6)/2…（式４）
ここに、ｘ１（すなわち、Ｐ（ｘ１，ｙ６）、水平交点ｙ６のｘ座標である。）の位置は、ｙ６（図示）に対応するｔ７をｘ（ｔ）の方程式に代入することによって得られる。同様に、ｘ２（すなわち、Ｐ（ｘ２，ｙ７））はｙ７（図示）に対応するｔ８をｘ（ｔ）の方程式に代入することによって得られる。
上記の式４は台形の面積公式によるが、ドットのカバー面積の計算のための様々な他の演算式は、交差ドットの各タイプのトポグラフィーに基づいて予め定義しておくことができる。
すなわち、ドットが曲線セグメントとどのように交差すると、どんなタイプのカバーエリア形状になるかというようなことである。例えば、ドットのどの２辺が曲線セグメントと交差するかによって定義された各トポグラフィーに対して方程式が作成される。その２辺とは、例えば、２本の水平辺、２本の垂直辺、１本の上側水平辺と１本の左側垂直辺、１本の上側水平辺と１本の右側垂直辺、１本の下側水平辺と１本の左側垂直辺、１本の下側水平辺と１本の右側垂直辺の６通りある。図４（Ｃ）の台形の例は、２本の水平辺と交差するタイプのトポグラフィーに相当する。各式は、様々な既知の固定値（例えば、水平交点のＹ座標ｙ１、…ｙ１０、交点の各ｔｉと垂直交点のＸ座標ｘ６、ｘ５）及び未知のパラメータ（例えば、水平交点のＸ座標、垂直交点のＹ座標等）を使用する。本発明の様々な好ましい実施形態によれば、水平交点のＹ座標及び垂直交点のＸ座標は、二値化ドットマトリクスフォントからグレードットマトリクスフォントへの変換中に各交点の交差状態を維持するために意図的に固定される。すなわち、詳細は後述するが、水平交点は横辺に沿って移動し水平交点を維持し（つまり、その横辺の中でのみ移動し、隣の辺には行かないということ）、垂直交点は縦辺に沿って移動し、垂直交点を維持することを確実にするためである。他方、詳細は後述するが、未知のパラメータ（変数）は、それらの値が、各交点を移動させてグレードットマトリクスアウトラインフォントを形成するように変化させるようなやり方で使用される。
【００２４】
交差ドットのカバー面積を計算するための様々な計算式は前もって定義されて、テーブル（表）として記憶され、適当な画像解析技術を用いたドットのトポグラフィー又は交差状態の解析に基づいて、各ドットに対する最適な計算式が選択される。
このようにして、各交差ドットのカバー面積が得られる。また、各交差ドットに対して、その交差ドットを囲む８個のドット（図６の３×３マス１６参照）が定義され、それぞれのカバー面積が得られる。周囲ドットのいくつかは非交差ドットであり、そのカバー面積はゼロである。３×３マスにおける９つのカバー面積は、直接又は間接に９つのドットに対するグレー値（ａｉｊ）を得るために使用される。ここに、ｉ＝１，２，３；ｊ＝１，２，３であり、ａ２２は８つのドットで囲まれた中心のドットのグレー値である（図６参照）。しかしながら、このとき、これらのグレー値から得られたグレードットマトリクスイメージは、これらのグレー値を得る基になった二値化ドットマトリクス輪郭形状７が二値化ドットマトリクススクリーンに文字イメージを表示するためにもともと定義されたものであるため、高品質にはならない。
それゆえ、図５のステップＳ３５では、アンチエイリアシングアルゴリズムが、各交差ドットのグレー値に対して適用される。特に、３×３のマスに配列された９つのグレー値（ａｉｊ）の中心にある交差ドットのグレー値ａ２２に対して、アンチエイリアシングアルゴリズムが適用される。
特に、ステップＳ３６においては、重み［ｗｉｊ］の適切なアンチエイリアシング行列が選択され（図７）、交差ドットに対する調整された（ギザギザをなくした）グレー値又はターゲットグレー値を得るために、各交差ドット（図６の３×３マス１６の中心にある）に対して適用される。一般に、アンチエイリアシングアルゴリズムは、ガウス演算子（又は、重み行列）を選択し、中心に交差ドットを含む３×３マスのそれぞれに対して適用して、そのドットに対する新たな（ターゲット）グレー値を計算する。その結果、輪郭形状に沿って計算されたターゲットグレー値は、滑らかに分布しているように見える。
図７は本発明のいくつかの実施例に使用するのに適したガウス演算子１２の一例を図示したものであるが、これは、アンチエイリアシング処理がなされる交差ドットと中心を合わせて配置される重み（Ｗｉｊ）の３×３行列である。この行列（マトリクス）は中心のドットを囲む８個のドットを含み、９つのドットのそれぞれには特定の重み値が割り当てられている。
【００２５】
ステップＳ３７では、３×３マス１６の中の中央のドット（画素）に対するアンチエイリアシング処理されたターゲットグレー値を得るために、マス１６の各ドットのグレー値に、対応する重み行列のドットに割り当てられた所定の重みＷを乗ずる。それから、乗算値の合計が重みＷの合計値で割り算される。ａｉｊ（ｉ＝１，２，３；ｊ＝１，２，３）を３×３マスの中の各ドットに対するグレー値とし、次に、中心のドット（すなわち、アンチエイリアシング処理がなされる交差ドット）の新たな（ターゲット）グレー値ａ’２２が以下のガウス演算子（式５）を適用することによって再計算される。
【数２】
2012173632.tif 000004
ステップＳ３８において、上記計算は輪郭形状７に沿った各交差ドットに対して実行され、その結果、各交差ドットに新たな（ターゲット）グレー値が関連付けられる。予め定義された９個の重み（［ｗｉｊ］）テーブルを持つ重み行列（例えば３×３）は、通常は、ガウス分布に従って定義される。グレードットマトリクスイメージの平滑化においては、各交差ドットに対して同じガウス演算子が適用されるか、又は、トポグラフィー若しくは交差状態が異なる他の交差ドットに対しては別のガウス演算子（すなわち、別の３×３の重み行列）が適用される。後者の場合、様々なタイプの交差ドットトポグラフィー（又は交差状態）に対して様々なガウス演算子が予め定義され、記憶されている。そこで、適当な画像解析技術を用いて解析されたドットのトポグラフィーや交差状態に基づいて、各交差ドットに対して一つのガウス演算子が選択される。
【００２６】
上述の各交差ドットのカバー面積を計算するために作られた式の場合と同じように、適当なガウス演算子を選択するために使用されるドットトポグラフィーは、例えば、ドットのどの２辺が曲線セグメントと交差しているのかを特定することによって定義することができる（例えば、２本の水平辺、２本の垂直辺、１本の上側水平辺と１本の左側垂直辺、１本の上側水平辺と１本の右側垂直辺、１本の下側水平辺と１本の左側垂直辺、１本の下側水平辺と１本の右側垂直辺である。）。例えば、図３（Ｃ）に示すように、二値化ドットマトリクス輪郭形状７は、その上側横辺と左側縦辺においてドット１３と交差しており、従って、ドット１３（３×３マスの中心にある。）を輪郭形状７に沿って平滑化するために、これら二つの辺においてガウス重みが強調される。
図８は特定のトポグラフィー又は交差状態を有するドット１３に適用するのに都合がよいガウス演算子１５の例を示すものである。この例において、もし、中心のドット（すなわち、この場合は交差ドット１３）に「８」の重みが割り当てられたとすると、交差する辺（すなわち、輪郭形状７がそこから中心ドットに入って、出て行く辺）を中心ドットと共有する隣接ドットには「６」の重みが割り当てられ、輪郭形状７とは交差しない辺を中心ドットと共有する他の隣接ドットには、「２」の重みが割り当てられる。さらに、輪郭形状７と接する近隣のドットには「３」の重みが割り当てられ、残りのドットには「１」の重みが割り当てられる。
従って、交差ドット１３の新たな（ターゲット）グレー値a’22は、上記式５を用いて、以下のように計算される。
a’22＝（a11＋6a12＋3a13＋6a21＋8a22＋2a23＋3a31＋2a32＋a33）／32
【００２７】
他の例として、図３（Ｃ）の中のドット１４は、同じ（下側の）横辺からドット１４に入っている二つの異なる曲線セグメントと交差しており、このドット１４が込み合ったエリアに位置していることを示している。それで、ドット１４のグレー値は変えるべきではなく、少なくとも現在よりも暗く（濃く）してはならない。ドット１４の周囲の画像（イメージ）が劣化するからである。このように、２又はそれ以上の異なった曲線セグメントと交差しているタイプのドットに対しては、図８に示すような、中心ドットには重み９を割り当て、残りの各ドットには重み０を割り当てるガウス演算子１５’が選択されて適用される。
よって、交差ドット１４の新たな（ターゲット）グレー値a’22は、上記式５を用いて、以下のように計算される。
a’22＝（0＋0＋0＋0＋9a22＋0＋0＋0＋0）／9＝a22
すなわち、このタイプのドットに対するグレー値は変化せずに元のまま維持される。
【００２８】
図９に示すように、ガウス演算子の重みは正規分布となる。ガウス演算子行列における重みの割り当ては、その演算子が適用される交差ドットのトポグラフィーに依存する。すなわち、トポグラフィーとは、そのドットが輪郭形状７とどのように交差しているか、例えば、何本の曲線セグメントと交差しているのか、ドットのどの辺が曲線セグメントと交差しているのか、そのドットに対して曲線セグメントが大凡どの方向に伸びているか等である。
特定のタイプの交差ドットに対する最適なガウス演算子は、様々な画像解析技術を用いて、及び／又は経験則に基づいて定義することができる。様々なガウス演算子（重み行列）が準備され、特に、あるトポグラフィー（又は交差状態）を有する交差ドットに対して適用すべくそれぞれ設計され、記憶される。そして、適当な画像解析技術を用いたトポグラフィーの解析に基づいて、各交差ドットに対して適当なガウス演算子が選択され、適用される。
【００２９】
図２に戻ると、ステップＳ２４において、上記の各交差ドットに対してアンチエイリアシングアルゴリズムを適用することによって得られた、二値化ドットマトリクス輪郭形状７に沿ったすべての交差ドットに対するターゲットグレー値の集合体が、グレードットマトリクスイメージフォントとして記憶される。グレードットマトリクスイメージフォントは、ドット(アクティブ化されたドット)の集まりであるが、フォントエンジンに入力されると、グレードットマトリクススクリーン上に、高品質なギザギザの無いグレードットマトリクス文字イメージを表示する。
さらに、グレードットマトリクスイメージフォントは、（スケーラブル）グレードットマトリクスアウトラインフォントを作るのに使用される。これについては、図２のステップＳ２５〜Ｓ２７を参照しつつ、以下に述べる。
【００３０】
ステップＳ２５では、格子座標系１０と二値化ドットマトリクス輪郭形状７の曲線セグメントとの交点が、アンチエイリアシング処理における上記の計算のように、曲線セグメントに沿ったすべての交差ドットに対するターゲットグレー値に到達するように動かされる。例えば、図４（Ａ）の曲線セグメント８の各交点２８が動かされ、移動された交点の新たな位置がグレードットマトリクスアウトラインフォントを定義するのに使用される。以下に詳述する。
図１０は、各交点に対するターゲットグレー値に到達するように交点を動かす方法のフローチャートを示したものである。ステップＳ４１では、両端における二つの特徴点によって定義された一つの曲線セグメント（例えば、図４（Ａ）の曲線セグメント８）が選択される。
【００３１】
ステップＳ４３では、選択された曲線セグメントと交差する各交差ドット（全部でｎ個）に対して、図５のステップＳ３４で使用される、カバー面積を定義する式が検索され、受け取られる。
例えば、図４（Ｃ）に示すように、一般に台形状のカバーエリアを有する交差ドット１１に対して、台形の面積の公式が選択又は検索される。上述のように、各式には様々な既知の固定値（例えば、水平交点のＹ座標ｙ１、…ｙ１０、交点の各ｔｉと垂直交点のＸ座標ｘ６、ｘ５）及び未知の変数（例えば、水平交点のＸ座標、垂直交点のＹ座標）を含んでいる。図４（Ｃ）の交差ドット１１に対して、台形の面積（斜線を施した部分の面積）の公式は以下のようになる。
ａ’２２＝｛（ｘ６−ｘ１）＋（ｘ６−ｘ２）｝＊（ｙ７−ｙ６）／２……（式６）
ここに、ｘ６，ｙ６及びｙ７は既知であるが、ｘ１及びｘ２は未知の変数である。曲線セグメント上の各交差ドットに対して、各交差ドットのカバー面積を定義する式が選択／検索される。
【００３２】
ステップＳ４５において、各方程式において、図５のステップＳ３７で計算された交差ドットに対するターゲットグレー値ａ’２２は、上記式６の左辺に入力される。この例においては、グレー値はカバー面積と同じか、又はカバー面積と直接に対応している。しかし、他の例では、グレー値はカバー面積から間接的に決定される（例えば、ドットの全体面積に対するカバー面積の比率を得ること。）。全ての例において、各式は交差ドットに対するターゲットグレー値（式の左辺）を生成する各交差ドットのカバー面積（式の右辺）を定義する。
すなわち、各式は移動された交点の新しい位置を定義するが、新たな交点の位置は、交差ドットに対するターゲットグレー値を生成する(各交差ドットの)新たなカバー面積を定義する。
【００３３】
このように、各式は移動された交点の新たな位置を解くのに適するように方程式化される(例えば、上記式６における、ｘ１及びｘ２を解くこと)。また、各式は、各交点が勝手に動かないようにするために適正に方程式化される。例えば、水平交点のＹ座標ｙ１，…ｙ１０と垂直交点のＸ座標ｘ６，ｘ５は、各点の交差状態が確実に維持されるように固定される。すなわち、水平交点は水平交点のままであり、垂直交点は垂直交点のまま維持される。言い換えれば、各交点の移動は、最初に交わった辺に沿ってしか動かないように制限される。他の例のように、ｔｉは、移動した交点の新たな位置が、各交点に対して初めに計算されたｔｉと同じｔｉによって決定されるように固定される。このように、各交点の移動は、１組のルール（例えば、交差状態は変化しないこと、ｔｉは変化しないこと等）によって制限されるが、それらは、明示的又は暗示的に、ターゲットグレー値と釣り合う各交差ドットのカバー面積を定義するための方程式の中に組み込まれる。
【００３４】
ステップＳ４７において、交差ドットのターゲットグレー値（式の左辺）と釣り合う交差ドットのカバー面積（式の右辺）をそれぞれ定義する、これらのｎ個の方程式のすべてが、最小二乗法を用いて一緒に解かれる。そして、すべての未知の変数が、移動された交点の新たな位置を特定するために解かれる。ステップＳ４９では、最初に二値化ドットマトリクス輪郭形状７を定義したすべての曲線セグメントが考慮され、交点が移動したかどうかが判断される。もしそうでなければ（判定結果が“Ｎｏ”のとき）、ステップＳ４１に戻り、すべての曲線セグメントの交点が、輪郭形状７に沿った各交差ドットに対するターゲットグレー値が求められるように動かされるまで、この方法が繰り返される。
図２に戻ると、ステップＳ２６において、移動された交点は近似ベジェ曲線セグメントを構築するサンプル点として次に使用される。すなわち、ベジェ曲線セグメントは、サンプル点としての移動された交点に合う（従う）ように構築される。
図１１は、木構造のベジェ曲線セグメントの形をなすターゲット輪郭形状を生成する、ベジェ曲線近似の手順を示すフローチャートである。ステップＳ５１では、二値化ドットマトリクス輪郭形状７を形成する各曲線セグメントに対して、その曲線セグメントの両端の二つの特徴点の間に直線を引くことから始める。二つの特徴点の間にある交点は移動されるが、これらの二つの特徴点の位置は変化しないことに注意されたい。二つの特徴点を結ぶ直線は、ベジェ制御三角形の底辺を構成する。次に、底辺の中点から、底辺から最も離れた点である移動交点（これがコントロールポイントＣになる。）を通り、頂点で止まるような直線セグメントが引かれる。その直線セグメントは、コントロールポイントＣによって二等分される。このようにして、ベジェ制御三角形は二値化ベジェ曲線を生成するために形成されるが、このベジェ曲線は底辺から最も離れた点（コントロールポイントＣ）を通り、二つの特徴点において制御三角形の二辺にそれぞれ接する（図４（Ｂ）参照）。
【００３５】
ステップＳ５２では、ステップＳ５１で生成されたベジェ曲線が、二つの特徴点の間の移動された交点のすべてが如何に適合しているか（近似しているか）が判定される。この判定は様々な方法を使用して行うことができる。例えば、ベジェ曲線と移動交点との距離が計算され、その距離の最大値又は平均値が近似誤差値として使用される。
ステップＳ５３では、近似誤差値が所定の許容値と比較される。もし、誤差が許容値を超えていれば、ステップＳ５４において、近似曲線がコントロールポイントＣ（図４（Ｂ））において二つの曲線セグメントに分割される。そして、ステップＳ５５において、同じベジェ曲線近似法による分割セグメントごとに存在する移動交点のサブセットに近似する高次のベジェ曲線を生成するために、高次のベジェ制御三角形が形成される。ステップＳ５６では、近似誤差値が、新たに定義された木構造ベジェ曲線セグメントの各ベジェ曲線セグメントに対して算出され、所定の許容値と比較される。もし、どの近似誤差値も許容値を超えていなければ、曲線の分割は止め、そうでなければ、その近似誤差が許容値を超えている各ベジェ曲線セグメントは二つのセグメントに分割し続けられ、ベジェ曲線近似アプローチが繰り返される。
【００３６】
ステップＳ５７において、新たに定義された木構造ベジェ曲線セグメントが二つの特徴点間の移動交点のすべてと合致（近似）することが確認されると、ベジェ曲線セグメントの新たな分割はなくなる。ステップＳ５８において、対応する木構造ベジェ制御三角形によって定義される最後の木構造近似ベジェ曲線セグメントが、曲線セグメントごとに得られる。もし、二値化ドットマトリクス輪郭形状７が、２又はそれ以上の曲線セグメントで構成されているとすると、２又はそれ以上の近似ベジェ曲線セグメントのセットが得られる。すなわち、図１１で述べたベジェ曲線近似の手順は、二値化ドットマトリクス輪郭形状７を構成する１又はそれ以上の曲線セグメントのそれぞれについて、移動交点によって定義された曲線セグメントのすべてが、近似ベジェ曲線セグメントの（セットの）集合によって近似的に表されるまで繰り返される。
【００３７】
図２に戻ると、ステップＳ２７において、生成された近似ベジェ曲線セグメントの集合は、標準的なフォントエンジンに入力されるとグレードットマトリクススクリーン上に高品質のグレードットマトリクス文字イメージを表示(発生)することが可能な、グレードットマトリクスアウトラインフォントとして記録される。もし、ある文字が２又はそれ以上の輪郭形状から成り立っている場合には、図２の方法は、２又はそれ以上の輪郭形状のそれぞれに対して繰り返し適用されることは当業者に自明であろう。
上記において、本願発明に係る方法のいくつかの実施例について述べたが、この方法は、二値化ドットマトリクスフォントを、グレードットマトリクススクリーン上に高品質な文字イメージとして表示するのに適したグレードットマトリクスフォントに変換するものである。上述のように、この方法は、グレードットマトリクスアウトラインフォントと、二値化ドットマトリクスフォントをグレードットマトリクスアウトラインフォントに変換する際の中間生産物であるグレードットマトリクスイメージフォントの両方を生成するのに使用することができる。
【００３８】
図１２は、本発明の一つの実施形態である二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換するためのシステム又はグラフィカルユーザインタフェースツールのブロック図である。このシステム（又は、グラフィカルユーザインタフェースツール）１は、図１に示す汎用コンピュータで構成され、それは、バスラインを通して互いに接続された処理ユニット（プロセッサ）３、入出力インタフェース４、出力装置２ａ（例えばディスプレイ）、入力装置２ｂ（例えばキーボード、マウス）及び記憶装置７０を含んでいる。
入出力（Ｉ／Ｏ）インタフェース４は、有線又は無線で、（ネットワーク上にある）他の機器２ｃと接続するために用いられる。例えば、他の機器から二値化ドットマトリクスフォントデータを受けとるか、又は、発生させたグレードットマトリクスフォントデータを他の機器に転送するような場合である。Ｉ／Ｏインタフェース４は、接続のために必要な回路素子を備え、必要なプロトコルを用いて使用するように構成されている。また、Ｉ／Ｏインタフェース４は、処理ユニット３を入力装置２ｂや出力装置２ａに接続する働きもする。
【００３９】
記憶装置７０は、一般的には、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、及び、ディスクドライブ、磁気テープドライブ、光学ドライブ又はそれらの組み合わせのような常設の大容量記憶装置を含むものである。記憶装置７０はオペレーティングシステム（ＯＳ）７１、輪郭形状受信部７２、記録部７４、アンチエイリアシング処理部７５、フォント生成部７６、オプションとしてのポイント調整部７８及びフォントエンジン７９を含んでいる。図示した実施例において、これらの各要素は、その機能やルーチンを実行するために設計されたハードウェアとソフトウェアの集合／組み合わせとして構成されている。特に、輪郭形状受信部７２は、二値化ドットマトリクス輪郭形状を受け取るように構成されている。記録部７４は受け取った二値化ドットマトリクス輪郭形状が置かれる格子座標系を構築し、そこに、受け取った輪郭形状に基づいて形成された二値化ドットマトリクス文字イメージが重ねられる。記録部７４は、二値化ドットマトリクス輪郭形状の各曲線セグメントと格子座標系との交点を記録する。記録部７４は、各交点の交差状態（水平又は垂直）も記録する。アンチエイリアシング処理部７５は、二値化ドットマトリクス輪郭形状に沿って各交差ドットのターゲットグレー値を取得するために、二値化ドットマトリクス輪郭形状に対するアンチエイリアシング処理を実行する。フォント生成部７６は、すべての交差ドットに対するターゲットグレー値の集合体の形で、グレードットマトリクスイメージフォントを生成する。
オプションとして、各交差ドットに対するターゲットグレー値に到達するように格子座標系における交点の位置を動かすために、ポイント調整部７８が設けられる。そして、フォント生成部７６は、移動した交点に追随した近似ベジェ曲線セグメントを取得し、近似ベジェ曲線セグメントの集合体をグレードットマトリクスアウトラインフォントとして記録する。
【００４０】
本発明の様々な実施例において、記憶装置７０は、構築されたグレードットマトリクス（イメージ又はアウトライン）フォントをグレードットマトリクススクリーンを備えたディスプレイ２ａ上に表示するためのフォントエンジン７９も含む。上述のどのソフトウェアも、ＤＶＤ／ＣＤ−ＲＯＭドライブ又はＵＳＢメモリドライブのようなコンピュータ読み取り可能な媒体に関する駆動機構を使用して、及び／又はＩ／Ｏインタフェース４を介して、コンピュータ読み取り可能な媒体からコンピュータシステム１の記憶装置７０に読み込まれることが分かるであろう。
本発明のシステム構成は、図１２に示したものに限定されず、他の構成でも可能であることは当業者に自明である。例えば、システム１の様々な要素（又は構成部品）によって実行される機能のいくつかを組み合わせて、単一の要素によって実行するようにしてもよいし、その逆に、単一の要素によって実行される機能又はルーチンを分割して、分散した方法で複数の要素によって実行するようにしてもよい。図１２は、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換するのに適したシステム（又はコンピュータシステム）１のいくつかのキーとなる要素（構成部品）のみを表しており、このシステム１は、図１２に示したものよりも多くの要素（構成部品）を含んでいてもよい。
【００４１】
二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換する方法は、上述の通り全自動で実行できるが、いくつかの応用では、人手の介入が許される。例えば、使用される各ガウス演算子に対する最適な重みを選択するため、あるいは、各交差ドットのカバー面積を定義する数式を公式化するために、人手の介入によって誤差を除去することが必要とされる。従って、本発明のいくつかの実施例においては、二値化ドットマトリクスフォントをグレードットマトリクスフォントに変換するための、コンピュータグラフィカルユーザインタフェース（ＧＵＩ）ソフトウェアツールを格納しているコンピュータ読み取り可能な記録媒体が提供される。そのＧＵＩツールを利用して変換を行うのを容易にするために、ユーザの人手介入が許可される。言い換えると、これらの実施例においては、変換プロセスは半自動で行われるということである。
【００４２】
図１３は本発明の一つの実施例に対応したＧＵＩソフトウェアツールのコンピュータ表示画面の一例を示すものである。スクリーン８０は、作業エリア８１、表示エリア８２及び対話式命令エリア８３を含んでいる。作業エリア８１は、二値化ドットマトリクス文字イメージを格子座標系に表示するように構成されるが、その二値化ドットマトリクス文字イメージには対応する二値化ドットマトリクス輪郭形状が重畳される。作業エリア８１は、二値化ドットマトリクス輪郭形状に沿って各交差ドットに適用されるガウス演算子（例えば、図７の３×３の重み行列）とともに、それに関するルール（例えば、そのガウス演算子はどのようなタイプのトポグラフィーを持つ交差ドットに適用されるのか等のルール）が表示されるように構成される。
さらに、作業エリア８１は、格子座標系において移動された交点とともに、移動された交点に追随する各近似ベジェ曲線セグメントに対するベジェ制御点も表示するように構成される。
【００４３】
対話式命令エリア８３は、作業エリア８１に表示された情報を修正するためのユーザ命令を受け取り、及び／又は表示するように構成されている。ユーザ命令は適当な入力装置２ｂ（図１参照）を介して入力される。入力装置２ｂは、対話式命令エリア８３を構成するために使用される、ユーザが直接に触れることができるタッチスクリーンを備えている。
対話式命令エリア８３は、ガウス演算子を生成するために割り当てられる所定の重みか、又は、そのガウス演算子と関連する規則を受け入れる。他の実施例として、対話式命令エリア８３は、各交差ドットに対してどのガウス演算子を適用するかに関するユーザ命令を受け入れる。
【００４４】
表示エリア８２は、作業エリア８１に表示された情報から生成されるグレードットマトリクス文字イメージを表示するように構成されているが、その情報は、対話式命令エリア８３から入力されたユーザ命令に基づいて、ユーザによって修正される。グレードットマトリクス文字イメージは、適当なフォントエンジン７９によって生成されるが、それは、コンピュータシステム１の記憶装置７０に内蔵されている。
たとえば、ユーザが、対話式命令エリア８３によって、あるガウス演算子を定義又は修正したり、特定の交差ドットに適用される特定のガウス演算子を指定したりすると、アンチエイリアシングアルゴリズムによって、ユーザ指定のガウス演算子が選択された交差ドットに適用される。その結果、出来たグレードットマトリクス文字イメージが、表示エリア８２に、自動的にあるいはユーザの指令通りに表示される。このようにして、ユーザは所望のアンチエイリアシング効果を視覚的に確認することができる。
【００４５】
他の例として、ユーザは、所望のアンチエイリアシング効果を得るように移動させる交点の位置を手動で調整するため、作業エリア８１にあるアイコンを選択（例えば、クリック）する。かかる選択（クリック）に応答して、作業エリア８１は、格子座標系上に移動される交点を表示する。そしてユーザは、たとえば移動される交点をクリックして新しい位置にドラッグ＆ドロップすることによって、任意の移動交点の位置を手動で調整することができるようになる。この実施例では、作業エリア８１はさらに、対話式命令エリア８３として機能する。
あるいは、ユーザが、作業エリア８１において特定の移動交点を選択し、対話式命令エリア８３において、格子座標系における交点が移動されるところの新しい位置のＸ−Ｙ座標を数字で指定することができるようにしてもよい。そして、その結果生成されたグレードットマトリクス文字イメージが、ユーザが手動で移動交点を調整した後に所望のアンチエイリアシング効果を視覚的に確認することができるように、表示エリア８２に表示されるようにしてもよい。
【００４６】
さらに別の例として、作業エリア８１は、移動された交点に沿った各近似ベジェ曲線セグメントに対するベジェ曲線制御点を表示することができ、ユーザは、表示エリア８２に表示されるグレードットマトリクス文字イメージを微調整するために、ベジェ曲線制御点の位置を動かすことができるようになる。この場合、ユーザは、作業エリア８１において制御点をクリック及びドラッグしてもよいし、対話式命令エリア８３において、制御点の新しい位置のＸ−Ｙ座標を数値で指定してもよい。
【００４７】
またさらに別の例として、ユーザは、ベジェ曲線近似手続（図１１のステップＳ５３参照）において使用される近似誤差の許容値を修正することができるが、この許容値は、各近似ベジェ曲線セグメントを移動交点にどの程度近似して追随(又はフィット)させるかを設定するのに使用される。ユーザは、対話式命令エリア８３において、所望の許容値を入力することができる。上述のユーザーインタフェースソフトウェアツールを付加することにより、最終データと同様に中間データも記録することが可能となる。例えば、表示エリア８２は、出来たグレードットマトリクス文字イメージを低解像度（例えば、１６×１６ドット）から高解像度（４８×４８ドット）までにわたって表示するように構成される。次に、ユーザ（フォントデザイナー）は、様々な解像度でグレードットマトリクス文字イメージを表示（レンダリング）するのに適したスケーラブルグレードットマトリクスフォントを定義してもよいし、又は、様々な中間データをそれぞれに記録することによって、異なる解像度において使用される、異なったグレードットマトリクスフォントを定義してもよい。
【００４８】
上述の様々な実施形態はさらに別の実施形態を提供するために組み合わせることが可能である。この明細書の中で引用している米国特許のすべては、参考として丸ごとこの中に組み込まれている。実施形態の様相（Aspect）は、必要ならば、さらに他の実施形態を提供するために、様々な特許公報、特許出願及び公開公報に記載された概念を取り入れて修正することが可能である。上述の詳細な説明に照らせば、実施形態に対してこれらの変更を加えることは可能である。一般に、請求項において用いられている用語は、権利範囲を明細書の詳細な説明に開示された特定の実施例に限定するものに解釈されるべきではなく、請求項の権利範囲に含まれるすべての均等物をも含むように解釈されるべきである。従って、請求項の内容は開示された実施例には限定されない。
【符号の説明】
【００４９】
１  コンピュータシステム
２ａ  出力装置
２ｂ  入力装置
３  処理ユニット
４  入出力インタフェース
５  二値化ドットマトリクス文字イメージ
６  ドット
７  二値化ドットマトリクス輪郭形状
８  曲線セグメント
９  制御三角形
１０  格子座標系
１１  交差ドット
１２  ガウス演算子
１３  交差ドット
１４  交差ドット
１５  ガウス演算子
７０  記憶装置
７１  オペレーティングシステム
７２  輪郭形状受信部
７４  記録部
７５  アンチエイリアシング処理部
７６  フォント生成部
７８  ポイント調整部
７９  フォントエンジン
８０  スクリーン
８１  作業エリア
８２  表示エリア
８３  対話式命令エリア
【図１】
2012173632.tif 000005
【図２】
2012173632.tif 000006
【図３】
2012173632.tif 000007
【図４】
2012173632.tif 000008
【図５】
2012173632.tif 000009
【図６】
2012173632.tif 000010
【図７】
2012173632.tif 000011
【図８】
2012173632.tif 000012
【図９】
2012173632.tif 000013
【図１０】
2012173632.tif 000014
【図１１】
2012173632.tif 000015
【図１２】
2012173632.tif 000016
【図１３】
2012173632.tif 000017