(57)【要約】【課題】高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示すること。【解決手段】キーポイントと幅値によって定義されたストロークベースのフォントを用い、それを低解像度の２次元のピクセルマトリクススクリーン上に表示させ、低解像度においても文字がつぶれずに識別可能なように表示できるように、キーポイントの位置と幅値を調整し、フォントデータを再定義する。【選択図】図１７
2010055048.tif 000002
【特許請求の範囲】
【請求項１】
高解像度で予め定義された文字セットを、それよりも低い解像度スクリーンに表示するための文字セットを生成するためのコンピュータによる方法であって、前記文字のそれぞれが基本ストロークに基づくストロークを備え、前記基本ストロークのそれぞれがキーポイントと幅値によって定義されたものであり、さらに、前記方法は以下の(a)〜(d)のステップを含むことを特徴とするコンピュータによる方法。
(a)高解像度で予め定義された前記文字セットを受け取るステップ；
(b)前記受け取った前記文字セットを低解像度スクリーンに対応した２次元座標のピクセルマトリクススクリーン上に投影するステップ；
(c)前記受け取った文字セットを構成しているストロークを所定のルールに従って、前記ストロークのキーポイント及び／又は幅値を調整して再定義し、再定義された文字セットを生成するステップ；
(d)前記再定義された文字セットを、所定のレンダリング基準に基づいてレンダリングするステップ：
【請求項２】
前記文字セットを構成する各ストロークが、キーポイント、幅値、前記キーポイント及び幅値と所定の空間的な関係を有する特徴点、並びに前記特徴点間の曲線を定義する湾曲度によって定義されることを特徴とする、請求項１に記載のコンピュータによる方法。
【請求項３】
前記ステップ(c)が、前記ストロークのキーポイントをピクセルの中心線に移動させるステップを具備したことを特徴とする請求項１に記載のコンピュータによる方法。
【請求項４】
前記ステップ(c)が、縦型ストロークのキーポイントを該キーポイントが存在するピクセルの縦の中心線上に移動させ、横型ストロークのキーポイントを該キーポイントが存在するピクセルの横の中心線上に移動させるステップを具備したことを特徴とする請求項３に記載のコンピュータによる方法。
【請求項５】
前記ストロークの曲線部分が１ピクセル以上を占有し、前記１以上の各ピクセルがカバー率を有するとともに、前記ステップ(c)が、前記曲線部分を制御する前記ストロークの前記キーポイントを、最も大きなカバー率を有するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項３に記載のコンピュータによる方法。
【請求項６】
前記ステップ(c)が、１ピクセルのサイズ以内に収まるように前記ストロークの幅値を減らすステップを具備したことを特徴とする請求項１に記載のコンピュータによる方法。
【請求項７】
前記方法が、さらに次の(e)及び(f)のステップを具備したことを特徴とする請求項１に記載のコンピュータによる方法。
(e)前記ステップ(b)の後で、互いにくっついた２以上のストロークを認識するステップ；及び
(f)前記くっついたストロークの間にスペースを設けるステップ：
【請求項８】
前記ステップ(f)が、互いにくっついている前記ストロークのうちの一方のストロークのキーポイントを、該キーポイントが元存在したピクセルに隣接するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項７に記載のコンピュータによる方法。
【請求項９】
一つのピクセルが２以上の独立型ストロークによって占有され、該２以上の独立型ストロークのそれぞれがカバー率を有するとともに、前記ステップ(f)が、最も大きなカバー率を有するストロークのキーポイントを、該キーポイントが元存在したピクセルに隣接するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項７に記載のコンピュータによる方法。
【請求項１０】
一つのピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含み、前記ステップ(f)が、前記ストロークのキーポイントを、該キーポイントが元存在したピクセルの中心線上に移動させることにより、前記ピクセルに含まれていた輪郭セグメントの一方を前記ピクセルの外に出すステップを具備したことを特徴とする請求項７に記載のコンピュータによる方法。
【請求項１１】
前記ステップ(d)が、次の（i）又は（ii）の場合に、前記ドットマトリクスのピクセルを黒く塗りつぶすステップを具備したことを特徴とする請求項１に記載のコンピュータによる方法。
（i）前記ピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含む場合；又は、
（ii）そのピクセルが予め設定された閾値を超えるカバー率を有している場合；
【請求項１２】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項１に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１３】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項７に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１４】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項１１に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１５】
低解像度スクリーンに表示するための文字セットを生成するためのコンピュータグラフィカルユーザインタフェースツールであって、前記文字セットは予め高解像度で定義され、前記各文字は基本ストロークから成る１以上のストロークを備え、前記各基本ストロークはキーポイント及び幅値によって定義されたものであり、前記ツールは次の(a)〜(d)の手段を具備したことを特徴とするコンピュータグラフィカルユーザインタフェースツール。
(a)予め定義された前記文字セットを受け取る手段；
(b)前記定義された文字セットを低解像度スクリーンに対応した２次元座標のピクセルマトリクススクリーン上に投影する手段；
(c)前記文字セットを構成しているストロークを所定のルールに従って、前記ストロークのキーポイント及び／又は幅値を調整して再定義し、再定義された文字セットを生成する手段；及び
(d)前記再定義された文字セットを、所定のレンダリング基準に基づいてレンダリングする手段：
【請求項１６】
前記手段(c)が、前記ストロークのキーポイントをピクセルの中心線に移動させることを特徴とする請求項１５に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項１７】
前記手段(c)が、１ピクセルのサイズ以内に収まるように前記ストロークの幅値を減らすことを特徴とする請求項１５に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項１８】
前記コンピュータグラフィカルユーザインタフェースツールが、さらに次の(e)及び(f)の手段を具備したことを特徴とする請求項１５に記載のコンピュータグラフィカルユーザインタフェースツール。
(e)一つの文字の中で互いにくっついた２以上のストロークを認識する手段；
及び
(f)前記くっついたストロークの間にスペースを設ける手段：
【請求項１９】
前記手段(f)がフォントデザイナーに通知して前記文字の簡略化バージョンの定義を促すことを特徴とする請求項１８に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項２０】
前記手段(d)が、次の（i）又は（ii）の場合に、前記ドットマトリクススクリーンのピクセルを黒く塗りつぶすことを特徴とする請求項１５に記載のコンピュータグラフィカルユーザインタフェースツール。
（i）前記ピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含む場合；又は、
（ii）そのピクセルが予め設定された閾値を超えるカバー率を有している場合；
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、活字又は他の記号のディジタル表現に関し、特に、比較的低解像度のスクリーンに表示するのに適したフォントデータを発生/修正するためのシステム、方法及びそれらの命令を格納したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
アジア文字フォント（以下、アジアフォントという。）を生成するための数多くのフォント生成システムが存在する。アジアフォントはアジア言語における文字を表す多くの表意文字（ideographs）から成り立っている。アジア言語は数千の文字を含んでいる。例えば、中国語には２万を超える異なる文字が含まれている。
【０００３】
アジアフォントにおける文字パターンを生成するための従来の慣用的なコンピュータ技術はアウトラインフォント方式を使用している。このシステムは、下記非特許文献１に記載されている。この方式において、文字パターンの輪郭（アウトライン）は直線と曲線の集合体として保存される。この方式に関してはいくつかの不都合な点が存在する。第１に、個々にフォントの輪郭が定義されなければならず、何万もの異なった文字が記憶されるため、メモリ容量は比較的大きなものが要求される。第２に、高解像度で保存されるフォントの輪郭データは、高解像度においてのみ表示するのには適しているが、比較的低解像度において高品位に表示するのには適していない。
【０００４】
アジアフォントを生成する他の方法は、ストロークベースの文字パターンデータを使用するものであり、１文字内の各ストロークは別々に定義される。一般的には、一つの文字は相互に重なったり、交差したりする複数のストロークから成り立っている。ストロークベースの文字データは、キーポイント、幅値、特徴点及び湾曲度（curve_ratio）から成り立っており、それらが一緒になって各ストロークの輪郭を定義している。かかるストロークベースの文字データの作成及びレンダリングは、下記特許文献１乃至３に詳述されており、それらは本明細書中に明示的に取り込まれている。なお、レンダリングとは、数値データとして与えられたフォントに関する情報を目に見える文字として画像化（可視化）することを意味する。ストロークベースのフォント技術はフォントのためのメモリ容量を軽減するのに適している。
【０００５】
アジアフォントを生成するさらに別の方法は、グリフベースの文字パターンデータを使用するものであり、１つの文字内の各グリフは別個に定義される。一般に、アジア文字は１又はそれ以上のグリフから成り立っており、各グリフは１又はそれ以上のストロークから成り立っている。例えば、互いに交差したり重なりあったりしている１つの文字内のいくつかのストロークは、しばしば複雑な全体的として幾何学的な形状を作り出すが、それがグリフである。グリフベースの技術においては、上述のストロークベースの技術と同様に、それぞれのグリフは、キーポイント、幅値、特徴点および湾曲度によって定義される。かかるグリフベースの文字パターンデータの作成及びレンダリングは、下記特許文献４及び５に詳述されており、それらは本明細書中に明示的に取り込まれている。
【０００６】
グレースケールで表示するためのアジアフォントのセットを生成するためのさらに他の方法は公知であるが、各文字は、１又はそれ以上のストローク／グリフを有しており、さらに、各ストローク／グリフはシルエット化表示用に定義されている。グレースケールで表示するためのシルエット化表示用のフォントデータの作成及びレンダリングは、下記特許文献６に詳述されており、それらは本明細書中に明示的に取り込まれている。
【０００７】
セルラー電話、ＰＤＡ及び携帯デジタルオーディオ機器のような携帯用電子機器技術の出現に伴い、比較的長いバイナリテキストイメージが、小さなサイズでそのような携帯用電子機器の画面に表示されるようになった。一般的に、それらの文字は高解像度スクリーンで表示するように定義されているため、これらの文字を低解像度のスクリーンでレンダリング（表示）すると、表示されたテキストイメージがひどく劣化することになる。これは、特に、比較的複雑な全体的に幾何学形状を持つ傾向にあるアジア文字に当てはまる。例えば、図１（Ａ）は低解像度ピクセルマトリクススクリーン１１に重ね表示（スーパーインポーズ）された文字（「幽」）１０を示し、図１（Ｂ）は、従来の方法（例えば、任意のピクセルの面積の５０％以上が文字で占有されていれば、そのピクセルを黒く塗りつぶす方法。）によって低解像度スクリーンに表示された文字１０の画像を示すものである。図１（Ｂ）に示すように、レンダリングされた文字１０はほとんど識別できないほど劣化している。たとえば、図１（Ａ）の文字１０のストローク１２〜１５は互いにくっつき、一般には長方形のブロック１６を形成する（図１（Ｂ）参照）。他の例としては、文字１０の縦型のストローク１７の左右にそれぞれ位置する、二つの似た形状の部分Ｂ及びＢ’は、低解像度のスクリーンに表示されると、図１（Ｂ）のＣ及びＣ’のようにお互いに全く異なったものになってしまう。図２は一番下に文字１０を含む５つの漢字を示しているが、比較的低解像度のディスプレイに劣化した品質で表示したものである。
【０００８】
そこで、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示するためのシステム、方法及びフォントの生成又は修正の命令を格納したコンピュータ読み取り可能な記憶媒体が求められている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第5,852,448号公報
【特許文献２】米国特許第6,151,032号公報
【特許文献３】米国特許第6,157,390号公報
【特許文献４】米国特許第6,501,475号公報
【特許文献５】米国特許第6,661,417号公報
【特許文献６】米国特許第7,199,797号公報
【非特許文献】
【００１０】
【非特許文献１】ポストスクリプト  ラングエイジ  チュートリアル  アンド  クックブック、アドビシステムズ  インク、アジソン−ウェズレー出版、１９８５年
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は上述のような事情に鑑み為されたものであり、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示するためのシステム、方法及びフォントの生成又は修正の命令を格納したコンピュータ読み取り可能な記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【００１２】
本発明の一つの実施形態では、低解像度スクリーンのための文字生成方法が提供される。この方法は、まず始めに１又はそれ以上のストロークから成る文字のセットを受け入れる。セットを成す、これらのストロークのうちのいくつかは類似の形状をしている。
類似形状を有するストロークの各セットについて、その類似形状のストロークを書法上最もよく表す“基本”ストロークが、前掲の参考文献の特許に記載された方法に従って、予め定義される。各基本ストロークと、その基本ストロークによって書法上代表される各ストロークは、キーポイント、幅値、特徴点及び湾曲度によって定義される。
【００１３】
次に、受け入れられた文字セットは、もっと正確に言えば、受け入れられた各文字を構成するストロークは、ピクセルのアレイから成る比較的低解像度のスクリーン上に、適切なピクセルカバレッジ方式を用いて表示される。例えば、その面積の５０％以上がストロークによってカバー又は占有されている任意のピクセルはアクティブとされ、塗りつぶされる。次に、予め決められた規則に従い、そのストロークのキーポイントをピクセルの中心線まで移動させ、ストロークの幅値を単一のピクセル内に収まるように減らし、その結果、再定義されたキーポイントと幅値を持つ修正されたフォントデータを生成する。その後は、新たに定義されたキーポイントと幅値を持つ修正されたフォントデータは、適切なピクセルカバレッジ方式と所定のレンダリング基準を用いて、再び表示（レンダリング）される。
【００１４】
本発明の一つの態様によれば、低解像度スクリーン用にフォントデータを修正するための所定のルールの適用は、コンピュータのＧＵＩ（Graphical_User_Interface）ツールを用いてマニュアルで行われるか、適当な画像解析技術を用いて自動的又は半自動で行われるかのいずれでもよい。この点については、本発明は、フォントデザイナーがこの方法を様々な態様で実行できるようにするための実行命令を備えたコンピュータＧＵＩツールも用意している。
【００１５】
本発明の他の態様によれば、低解像度スクリーンに表示されたときに互いにくっついてしまう二つのストロークの間にスペース（間隙）を設けるための方法がさらに提供される。この更なる方法は、上述のように、フォントデータの修正とは独立して、あるいは、フォントデータの修正方法と一緒に用いられる。この方法によれば、くっついたストロークが認識されると、片方のストロークのキーポイントが移動され、くっついたストロークの間に間隙が設けられる。
【００１６】
本発明は、本発明の様々な実施形態を実行するためのコンピュータ実行命令を格納したコンピュータ読み取り可能な記憶媒体も提供する。
【発明の効果】
【００１７】
本発明に係る方法又はＧＵＩによれば、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】（Ａ）はアジア文字フォントの一例であり、（Ｂ）はそれを従来の方法によって比較的低解像度のディスプレイに表示したときの画像イメージを示すものである。
【図２】比較的低解像度のディスプレイに劣化した品質で表示された５つの漢字したものである
【図３】本発明に係る方法を実行するのに適したＧＵＩツールを含むコンピュータシステムを示す図である。
【図４】キーポイント、幅値、特徴点、及び湾曲度によって定義されたストロークで構成される文字のサンプルを示す図である。
【図５】それぞれのキーポイントが一つのピクセル内に在る結合型のストロークを示す図である。
【図６】本発明の一実施例に基づいて、低解像度スクリーンに表示する文字セットの発生方法または修正方法を示すフローチャートである。
【図７】その文字が表示されようとしている低解像度スクリーンに対応する二次元座標を有するピクセルマトリクススクリーンに文字を投影したところを示す図である。
【図８】図７のピクセルマトリクススクリーンの中の一つのピクセル（６５）を拡大した図である。
【図９】図６の方法で使用される、ストロークのキーポイント及び幅値を定義する詳細なステップを示すフローチャートである。
【図１０】ストロークのキーポイントの移動を示す図であり、それぞれ、（Ａ）は縦型ストローク、（Ｂ）は横型ストロークの場合を示す。
【図１１】複数のピクセルを占有するストロークの湾曲部を制御するキーポイントの移動を示す図である。
【図１２】単一のピクセルに収まるように幅値（Ｗ）を調整するところを示す図である。
【図１３】本発明の実施例によって修正されて低解像度ディスプレイに表示される図１（Ａ）及び図１（Ｂ）と同じ文字を示す。
【図１４】従来の方法に従って低解像度ディスプレイに表示した他の文字を示すものであり、横型ストロークがくっついてしまっている状態を示している。
【図１５】本発明に係る実施例に従って、文字のくっついたストロークの間に隙間を入れる方法のフローチャートを示す。
【図１６】図１５に示す方法により、修正され、ストローク同士がくっつかずに低解像度ディスプレイに表示された図１４（Ａ）と図１４（Ｂ）と同じ文字を示す。
【図１７】図１５に示す方法により、さらに修正され、ストローク同士がくっつかずに表示された図１３（Ａ）と図１３（Ｂ）と同じ文字を示す。
【図１８】本発明に係る方法により、修正され、ストローク同士がくっつかずに低解像度ディスプレイに表示された図２と同じ５つの漢字を示す。
【図１９】従来の方法によって低解像度ディスプレイに表示された、横のストローク同士がくっついている他の文字の例を示すものである。
【図２０】図１９に示した文字と同一の文字であって、本発明に係る方法によって簡略化され、低解像度ディスプレイに表示されたものである。
【発明を実施するための形態】
【００１９】
図３は、本発明に係る様々な方法を実行するための典型的なコンピュータ環境を示す図である。ディスプレイ２７を含む汎用のデジタルコンピュータ２６と、それに接続されたプリンタ２８によって、本発明の様々な方法を実行することが可能である。ディスプレイ２７、プリンタ２８、及び任意の他の出力装置（モニタ、プロッタ等）は、本発明によって生成された及び／または修正されたフォントを表示、印刷、その他出力を行うことができる。ネットワークシステムやメインフレームベースのシステムのような他のコンピュータシステムも、当業者には自明であるが、本発明に係る方法を実行するのに使用可能である。
【００２０】
以下は、１またはそれ以上のストロークから成る文字の生成及び修正に適用される本発明の記載であるが、本発明は、１またはそれ以上のグリフから成る文字の生成及び修正にも同様に適用できるものと考えるべきである。上述の背景技術でも述べたように、グリフは文字の副構成単位（サブユニット）であるとともに、１またはそれ以上のストロークから成る。ストロークもグリフも共に、キーポイント、幅値、特徴点、及び湾曲度によって定義される。従って、基本ストロークによる文字の生成及び修正についての方法に関する以下の技術内容が、基本基本グリフによる文字の生成及び修正についての方法に容易に拡張できることは、当業者であれば知っている。従って、特にことわらない限り、以下、「ストローク」という用語は、ストロークとグリフの両方の意味を含むものとする。
【００２１】
図４（Ａ）は、二つのストローク３１及び３２で構成される文字３０を示すものである。ストローク３１はキーポイントＫ１、Ｋ２と幅値Ｗ１によって定義され、ストローク３２はキーポイントＫ３、Ｋ４と幅値Ｗ２、Ｗ３によって定義される。図４（Ｂ）は、キーポイントと幅値に基づいてすべて決定される、ストローク３１の特徴点ｆ１、ｆ２及びｆ３、ストローク３２の特徴点ｆ４、ｆ５及びｆ６、及び湾曲度（図示せず）を示しており、これらは上記特許文献１乃至３に記載されている通りである。上記特許文献に記載の通り、アジア言語の特徴の一つは、多くのストロークが多くの文字で共通して使われているということである。類似形状のストロークの各セットは、基本ストロークによって書法上代表される。各基本ストロークは、まずキーポイントと幅値によって定義される。キーポイントは基本ストロークの端部、交差部分、屈曲部分に置かれるので、キーポイントを動かすと、基本ストロークの輪郭形状が変化する。幅値もまた基本ストロークの内部にあるので、幅値を変えると基本ストロークの輪郭形状が変化する。各基本ストロークは、キーポイントと幅値とに基づいて特徴点を求める数式によって関連付けられる。図４（Ａ）及び（Ｂ）に示す例では、特徴点（ｆ１〜ｆ６）を得るための数式は以下の通りである。
［数１］
ｆ１＝（ｘ１−Ｗ１／２，ｙ１）
ｆ２＝（ｘ１＋Ｗ１／２，ｙ１）
ｆ３＝（ｘ２，ｙ２）
ｆ４＝（ｘ３，ｙ３）
ｆ５＝（ｘ４−Ｗ２，ｙ４）
ｆ６＝（ｘ４，ｙ４−Ｗ３）
ただし、（ｘｉ、ｙｉ）はキーポイントＫｉのｘ−ｙ座標を示す。（ｉ＝１，２，・・・）
【００２２】
図示したように、特徴点はキーポイントおよび幅値と予め定義された空間的な関係を有している。図４（Ｂ）に示すように、特徴点は、一般には、基本ストロークの輪郭上であって、輪郭の方向又は湾曲度が変わる所に置かれる。さらに、各基本ストロークは、好ましくは様々な解像度レベルにおいて定義された湾曲度と関連があり、特定の出力機器の解像度レベルに依存する二つの連続した特徴点の間の曲線のセグメントを作り出すように設計される。湾曲度の使用に関する詳細は上記特許文献に開示されている。
【００２３】
各基本ストロークには、表１に示すように、ストローク識別値（基本ストロークＩＤ）が割り当てられている。図示された例では、ストローク３１には基本ストロークＩＤとして“５１１”が割り当てられており、キーポイントと幅値によって定義されている。同様に、ストローク３２には基本ストロークＩＤとして“６２３”が割り当てられており、キーポイントと幅値によって定義されている。定義された各基本ストロークは、そのキーポイントを動かすこと、及び／又は幅値を変えることによって、類似形状を有する他のストロークを定義するのに使用される。
【表１】
2010055048.tif 000003
定義された各基本ストロークは、そのキーポイントを動かすこと、及び／又は幅値を変えることによって、類似形状を有する他のストロークを定義するのに使用される。基本ストロークの形状をわずかに修正して特定のストロークのための新たな形状を定義するために、キーポイントと幅値を変えると、それらに関連する特徴点は基本ストロークに関する数式(たとえば上記数１)に基づいて自動的に再計算される。さらに、新たな曲線のセグメントは、予め定義された湾曲度に従い、出力機器の解像度レベルに則って再計算された特徴点の間に創り出される。また、基本ストロークのキーポイントと幅値に対して為されたいかなる変更も、その基本ストロークによって書法的に代表されるストロークのセットの中に自動的に反映される。基本ストロークに基づいて、類似形状のストロークを定義することに関する詳細は、上記特許文献に開示されている。
【００２４】
図５（Ａ）及び（Ｂ）は、結合型のストロークの例を示すものである。ここで例として使用されているように、もし、一つのピクセル内にそれぞれ別のストロークに属する２又はそれ以上のキーポイントが含まれているならば、そのピクセルは結合型ストロークによって占有されている、あるいはカバーされていると言われる。図５（Ａ）はストローク４１のキーポイント４１ａと、ストローク４２のキーポイント４２ａを含むピクセル４０を示している。従って、ストローク４１及び４２は低解像度マトリクスにおけるピクセル４０に関して結合型ストロークであると言われる。図５（Ｂ）は、ピクセル４０の中にキーポイントがある結合型ストローク４１及び４２のような、多くの結合型ストロークを有する文字４３を示している。文字４３を構成する、結合型ストロークではないすべてのストロークは、独立型ストロークに分類される。例えば、ストローク４６及び４７は共に独立型ストロークである。独立型ストロークという概念は、図１５に関して後述するが、くっついたあるいは重なりあったストロークの間に間隙を設ける方法において使用される。ストロークの型（結合型又は独立型）を識別するプロセスは上述の基準に基づいて自動的に実行されるが、フォントデザイナーによってピクセルマトリクススクリーン上でマニュアルで実行してもよい。
【００２５】
図６は、低解像度スクリーンに表示される文字セットを生成及び／又は修正する方法を示すフローチャートである。ここで用いられる“低解像度”とは、文字セットが初めて定義され又はデザインされたときの解像度レベルと比較して相対的に低いレベルの解像度であるという意味である。例えば、低解像度スクリーンとは、各文字を１６×１６、１０×１０、又は８×８ピクセルで表示するピクセルマトリクススクリーンを意味する。
【００２６】
まず、フォントデザイナーは、低解像度スクリーン用に定義される文字セットを選択し、選択された文字セットは図３に示す汎用コンピュータのようなコンピュータシステムにロードされる（ステップＳ５１）。フォントデザイナーは、商用のフォントデータベースを構築しようとしているグラフィックデザイナーであるのが普通である。各文字セットは一又はそれ以上のストロークから成り、すべてのストロークは類似形状のストロークの組に分割される。類似形状のストロークの各セットに対して、類似形状のストロークを書法的に最もよく代表する一つの基本ストロークが、キーポイント、幅値、特徴点、及び湾曲度によって予め定義される。
【００２７】
上述のように、キーポイント、幅値、特徴点、及び湾曲度によって定義された受信された（又はロードされた）文字セットは、その文字セットが表示されようとしている、ある低レベルの解像度に対応した低解像度のピクセルマトリクススクリーン上に投影される（ステップＳ５２）。各ピクセルの位置は二次元座標（例えば、Ｘ−Ｙ座標）によって定義される。ピクセルマトリクススクリーン上のピクセルの数は、所望の解像度レベルに基づいて自動的に設定されるか、フォントデザイナーによってマニュアルで設定されるかのいずれかである。図７は、各文字を表示するための８×８ピクセルのサイズの低解像度スクリーンに対応したピクセルマトリクススクリーン６１上に表示（スーパーインポーズ）された文字３０を示すものである。ピクセルマトリクススクリーン６１上の各ピクセルは、Ｘ−Ｙ座標によって定義される。各文字は「ピクセルカバレッジ方式」を用いてレンダリングされる。特に、各ピクセルに対するカバレッジ値（カバー率）が算出される。カバー率とは、ストロークによって覆われる、あるいは占有されるピクセルの面積率（％）によって定義されるものである。すなわち、カバー率はストロークの輪郭の内部が占める面積に基づいて計算される。
【００２８】
図８は図７のピクセル６５の拡大図である。この例では、ピクセル６５は、４つの頂点（２，４）、（２，５）、（３，５）、及び（３，４）によって定義される。ピクセル６５はストロークの部分６６（網掛けをした部分）によって覆われており、ピクセル６５のカバー率は、ハッチングされた部分とピクセル全体の面積比で算出される。具体的には、ピクセルの頂点の座標と、ピクセルの外周とストロークの輪郭が交わる点（交点）の座標（ａ，５）及び（ｂ，４）から求められる（ただし、２＜ａ＜３，２＜ｂ＜３）。閾値（例えば５０％）を超えるカバー率を持つピクセルが、黒く塗りつぶされる。
【００２９】
一つのストロークの一部分によって覆われるピクセルもあるが、一方では、２又はそれ以上の異なったストロークの２又はそれ以上の部分によってそれぞれ覆われるピクセルもある。後者の場合、２又はそれ以上の異なったストロークは独立型でも結合型でもよい。カバー率の合計とともに、ピクセルを占める各ストロークごとのカバー率が計算され、各ストロークの基本ストロークＩＤとストロークの型（独立型か結合型か）とともにコンピュータに記憶される。
【００３０】
図６のステップＳ５４では、低解像度スクリーンに表示される文字を構成する各ストロークが、予め決められたルールに従ってキーポイント及び幅値を調整することによって、定義又は再定義される。図９はステップＳ５４を詳細に示したフローチャートである。図９のステップＳ８３において、各ストロークのキーポイントは、そのキーポイントが存在するピクセルの中心線上の位置に移動される。中心線とは、図１０（Ａ）に示す縦の中心線９３か、又は図１０（Ｂ）に示す横の中心線９４のどちらでもよいが、ストロークが縦型か横型かによって適切な中心線が選択される。特に、ストロークは書法的に解析され、縦型ストローク（例えば、図１（Ａ）におけるストローク１７）、又は横型ストローク（例えば、図１（Ａ）におけるストローク１８）に分類される。やや斜めに延びるストロークは、所定のルールに従って、１又はその他のカテゴリーに分類される。ちなみに、図７の二つのストロークの両方とも、完全には縦になっていないが、縦型ストロークに分類される。図１０（Ａ）に戻ると、縦型ストローク９５及び９６に対するキーポイント９５ａ及び９６ａはそれぞれ各キーポイントが含まれるピクセルの縦の中心線９３に、水平方向に移動される。図１０（Ｂ）に戻ると、横型ストローク９７及び９８に対するキーポイント９７ａ及び９８ａはそれぞれ各キーポイントが含まれるピクセルの横の中心線９４に、垂直方向に移動される。
【００３１】
図１１において、曲線の輪郭で定義されたストロークの湾曲部分１０２（ハッチングされた部分）が、一つのピクセルよりも多くのピクセルを占めるときは、湾曲部分１０２を制御するキーポイントは、そのストロークに対するカバー率が最大であるピクセルの中心線に向かって移動される。図１１において、ストローク１０１のキーポイント１０１ａはストローク１０１の湾曲部分１０２を制御しており、湾曲部分１０２は特徴点１０３及び１０４の間の曲線部分（セグメント）によって定義されている。湾曲部分１０２はピクセルマトリクススクリーンの中の４つのピクセル１０５、１０６、１０７、及び１０８を覆っている。ピクセル１０５は最大のカバー率（％）を有しているので、キーポイント１０１ａはピクセル１０５の縦の中心線に向かって移動される。一つの具体例では、キーポイント１０１ａは、ピクセル１０５の中心線上にあるピクセル１０６内の位置１０１ｂに向かって水平方向に移動される。他の例では、キーポイント１０１ａは、ピクセル１０５の中心線上にあるピクセル１０５内の位置１０１ｃに向かって移動される。
【００３２】
次に、図９のステップＳ８５において、各ストロークの幅値がピクセルの大きさ（ピクセルの幅又は長さ）を超えているかどうかが調べられる。もし、ストロークの幅がピクセルの大きさを超えている場合は、ステップＳ８７において、ピクセル内に収まるように幅が縮小される。たとえば、図７において、文字３０を構成するストロークの幅値Ｗ２及びＷ３は１ピクセルの大きさを超えている。図１２（Ａ）は、図４（Ａ）のＷ２のように、幅値が水平方向に定義された場合を示している。図１２（Ｂ）は、図４（Ａ）のＷ３のように、幅値が垂直方向に定義された場合を示している。両方の場合において、幅値はピクセルのサイズ内に収まるように調整され、それによってストロークの形状が変化することを示している。図９のステップＳ８９において、再調整されたキーポイントと幅値によって再定義されたフォントデータが記憶される。
【００３３】
キーポイントと幅値を調整する、フォントデータ定義／修正プロセスの順序は変更可能である。一例では、いずれかのキーポイントの位置が調整されてから幅値が調整されるが、その一方で、他の例では、幅値が調整された後に、キーポイントの位置が調整される。いずれにしても、本発明の様々な典型的な実施例によれば、低解像度ピクセルマトリクススクリーン上に高品質でレンダリングするために、各文字が定義及び／又は再定義（修正）される。
【００３４】
図６に戻ると、ステップＳ５５において、再定義された各文字は、ピクセルカバレッジ方式及びそのためのレンダリング基準を用いてレンダリングされる。特に、ステップＳ５４においてキーポイントと幅値を調整した後に、各ピクセルに対するピクセルカバー率が、再定義されたフォントデータに基づいて再計算される。次に、そのピクセルが以下の基準に基づいてアクティブ化（具体的には、たとえば黒く塗りつぶす。）される。
基準(i）：ピクセルカバー率が所定の値（例えば５０％）よりも大きい場合は、そのピクセルをアクティブ化する。
基準(ii)：ストロークの輪郭のセグメントが、そのピクセル内で互いに向かい合っている場合は、そのピクセルをアクティブ化する。
この場合、ストロークの輪郭のセグメントは必ずしも互いに平行である必要はないが、一般には、それらが互いに向かい合っていれば、基準(ii)は満たしているといえる。例えば、図４（Ｂ）において、輪郭のセグメント３０２及び３０３は互いに向かい合っていると考えられる。各輪郭のセグメントは二つの隣り合う特徴点間のセグメントとして定義される。例えば、図４（Ｂ）において、ストローク３１は、３つの輪郭セグメント３０１、３０２、及び３０３を含んでいる。二つの輪郭のセグメントが互いに向かい合っているか否かは、適当な画像処理技術を用いて自動的に判定されるか、又は、フォントデザイナーによってマニュアル若しくは半自動で判定してもよい。
【００３５】
図１３（Ａ）及び（Ｂ）は図１（Ａ）及び（Ｂ）に示すものと同じ文字１０を表しているが、上述の本発明に係る方法によって処理され、レンダリングされたものである。特に、図１３（Ａ）に示すように、図１（Ａ）の文字１０を構成する様々なストロークのキーポイントや幅値が調整されたものである。そして、（キーポイントと幅値の調整によって）再定義されたフォントデータが、所定のレンダリング基準によって、図１３（Ｂ）に示すようにレンダリングされる。例えば、図１３（Ｂ）において、ピクセルカバー率が５０％を超えるピクセルは塗りつぶされ、二つの互いに向かい合った輪郭セグメントを含むピクセルも塗りつぶされている。図１３（Ａ）における具体例として、ピクセル１２５は互いに向かい合うストローク１８の二つの輪郭セグメントを含んでいる。このように、ピクセル１２５のカバー率がたとえ所定値（例えば５０％）よりも小さかったとしても、ピクセル１２５は図１３（Ｂ）に示す通り、依然として塗りつぶされている。
【００３６】
さらに、図６を参照すると、最後には、フォントデザイナーが、各文字が正しくレンダリングされたことを、例えば、互いにくっついているストロークがないことを検証することによって、視覚的に確認する。もし、フォントデザイナーが満足すれば、フォントデータはセーブされ、低解像度スクリーンの為のフォント文字の生成（又は再定義）の方法は終了する。一方、フォントデザイナーが満足しなければ、図６のステップＳ５４に戻り、フォントデザイナーが、満足されない文字を構成しているストロークのキーポイント及び／又は幅値をマニュアルで調整することによって、満足されない文字が再定義される。このプロセスは、フォントデザイナーがすべての文字セットのレンダリング結果の見栄えに満足するまで繰り返される。
【００３７】
本発明の他の局面では、低解像度スクリーンに表示したときに互いにくっついてしまうようなストローク同士の間に確実に間隙を設ける方法を提供する。低解像度でのレンダリングを行うと、文字中のストローク（特に、平行なストローク）は重なったりくっついたりしてしまい、表示された結果の文字イメージは識別不能になる。例えば、図１４（Ａ）の二つのストローク１３１ａ及び１３２ａは、レンダリングされると、図１４（Ｂ）の１３１ｂ及び１３２ｂになるが、それらは互いにくっついてしまい、単一のストローク１３３として表現される。本発明に係る方法の一実施例によればストロークの間に必要なスペースを設けるために、一又はそれ以上のピクセルを特に塗りつぶさないようにする。ストロークの間にスペースを設けるこの方法は、上述のように、キーポイントと幅値を調整することによってフォントデータを定義／再定義する方法とは別に、あるいはそれと一緒に用いられる。
【００３８】
図１５は低解像度スクリーンに表示された文字に適切なスペースを与える方法の一例を示すフローチャートである。まず、ステップＳ１４０においては、くっついたストロークを検出する。これはフォントデザイナーによる視覚検査に基づいてマニュアルで為されるか、適当な画像解析技術によって自動又は半自動で行われる。もし、くっついたストロークが検出された場合（ステップＳ１４１でＹＥＳの場合）、ステップＳ１４２において、くっついたストロークが解析され、横型ストロークか、縦型ストロークか、又はそのどちらでもないものか（横型にも縦型にも分類できない、例えば斜めのストローク）が判定される。もし、そのストロークが横型又は縦型であれば（ＹＥＳの場合）、ステップＳ１４３において、文字の別の部分がくっついてしまうこと無しに、そのストロークを互いに離すために動かすのに十分なスペースがあるか否かについて判定される。くっついた平行なストロークに適切なスペースを与えるためには、少なくとも一つのピクセルアレイが必要である。もし、そのようなスペースを設けることが可能であり、かつ、くっついたストロークが横型であれば、ステップＳ１４４において、スペースを与えるために隣のピクセルの横の中心線上に、キーポイントが垂直方向に移動される。もし、くっついたストロークが縦型であれば、ステップＳ１４５において、隣のピクセルの縦の中心線上に、キーポイントが水平方向に移動される。図１６（Ａ）は図１４（Ａ）の文字１３０に対応した修正された文字１３０’を示している。図１６（Ａ）に示された例において、ストローク１３１ａのキーポイント１３４は、ピクセル１３５の水平の中心線の上に垂直方向に移動され、その結果、ストローク１３１ａは上方に移動するので、ストローク１３２ａとの間にスペース（１行分のピクセルアレイ）ができる。図１６（Ｂ）は、平行なストローク１３１ｂと１３２ｂとの間に適当なスペースが設けられた、低解像度スクリーン上に表示された文字１３０’を示している。
【００３９】
くっついたストロークが横型でも縦型でもない場合は（ステップＳ１４２でＮＯの場合）、ステップＳ１４６において、くっついたピクセルの中の各ピクセルが２個以上のストロークで占められているかどうかを判定するために解析される。もし、２個以上のピクセルで占められていれば、ステップＳ１４７に移行し、その２以上のストロークが結合型ストローク（図５参照）かどうか、すなわち、各ストロークのキーポイントがすべて同じピクセル内にあるかどうかが判定される。もし、それらのストロークが結合型ストロークであれば、ステップＳ１４８に移行し、何もせずに結合型ストロークのキーポイントは同じピクセル内にそのまま維持される。一方、それらのストロークが結合型ストロークでない場合は、ステップＳ１４９に移行し、そのピクセルで最も大きな面積を占めているストロークのキーポイントが隣のピクセルの中心線上に移動される。例えば、図１３（Ａ）において、ピクセル１２０は３つのストローク、１２１、１２２、及び１２３で覆われている。これらのストロークは結合型ストロークではないので、ピクセル１２０の中で最も大きな面積を占めるストローク１２２のキーポイントは、図１７（Ａ）に示すように、隣のピクセル１２４の（水平の）中心線上に移動される。ここで、図１３（Ａ）において、ピクセル１２０の隣のピクセルは、辺を接して４個あるが、ストローク１２２のキーポイントが移動される先のピクセル（この場合はピクセル１２４であるが）がどのようにして決定されるのかが問題となる。ピクセル１２０の４つの辺のうち、ストローク１２２によって覆われている部分の長さが最も大きい辺（この場合は、ピクセル１２０の上下左右の４つの辺のうち、下側の辺になる。）に接するピクセル１２４が選択されることになる。図１７（Ａ）に示すように、ピクセル１２０は、そのピクセルカバー率が所定の値（例えば５０％）を超えておらず、かつ、互いに向かい合った二つの輪郭セグメントも含んでいないので、塗りつぶされていない。このようにして、図１７（Ｂ）に示すように、ピクセル１２０には適切なスペースが与えられ、文字が識別できるようにレンダリングされる。
【００４０】
もし、図１５のステップＳ１４６において、ピクセルが２以上のストロークによって覆われていないと（つまり、単一のストロークであることが）判定されたら、ステップＳ１５０において、そのピクセルが互いに向かい合った輪郭セグメントを含んでいるかどうかが判定される。もし、含んでいると判定されると、ステップＳ１５１において、そのストロークのキーポイントが存在するピクセルの中心線上に、そのキーポイントを移動させ、輪郭セグメントの一方を（二つの輪郭セグメントが存在していた）ピクセルの外に移動させる。
【００４１】
例えば、図１３（Ａ）において、ピクセル１２６は互いに向かい合うストローク１３の二つの輪郭セグメントを含んでいる。そのような場合、ピクセル１２７内にあるストローク１３のキーポイントは、ピクセル１２７の中心線上に移動され、ストローク１３の輪郭セグメントの一つ（左側のセグメント）はピクセル１２６の外に移動する。従って、図１７（Ａ）に示すように、ピクセル１２６はもはやお互いに向かい合った二つの輪郭セグメントを含まなくなり、（ピクセル１２６のカバー率が閾値、例えば５０％を越えないと仮定して）、ピクセル１２６は塗りつぶされない。この結果として、図１７（Ａ）に示すように、ピクセル１２６（ピクセル１２８も同様）において文字に対して適切なスペースが与えられ、従来技術（図１（Ｂ））及び適切なスペースを与える所定の方法を使用しない先の実施例（図１３（Ｂ））と比較して、低解像度スクリーンに文字全体をより認識可能（図１７（Ｂ））に表示できるようになる。図１７（Ｂ）において、ピクセル１２０、１２６、及び１２８が空白になっているため、文字イメージは元の漢字をはっきりと表している。このようにしてすべてのストロークについて必要な調整が終わり、フォントデータの再定義が終わると、それらのデータはコンピュータに記憶される（ステップＳ１５２）。
【００４２】
図１８は、図２に示す５つの漢字と同じものであるが、本発明に係る方法を用いて修正されて、低解像度ディスプレイに表示されたものを示している。特に、フォントデータは調整されたキーポイントと幅値を用いて修正される（図６参照）とともに、適切なスペースを付与され（図１５）、検出されたピクセルカバー率と所定のレンダリング基準に従ってレンダリングされる。
【００４３】
低解像度スクリーンは限られた数のピクセルしか持っていないので、場合によっては、一又はそれ以上のくっついたストロークを移動するためのスペースがとれないことさえある（図１５のステップＳ１４３におけるＮＯの場合である。）。かかる場合に、図１５のステップＳ１５３で、その文字を簡略化した書体に再定義するようにフォントデザイナーに促す。図１９（Ａ）は、横型ストロークを６つ（１８２ａ〜１８７ａ）も含んでいる文字１８０を示している。図１９（Ｂ）は低解像度スクリーンにレンダリングされた文字１８０を示しており、６つの横型ストロークがくっついてしまって、４つになってしまっている。具体的には、ストローク１８２ｂと１８３ｂ、１８４ｂと１８５ｂがそれぞれくっついている。しかしながら、くっついたストロークのキーポイントのいずれも動かすことができない。なぜなら、限られた文字サイズ（この例では１０×１０ピクセル）では、動かすために使用可能なスペースがないからである。例えば、くっついてしまったストローク１８５ｂを下方向に移動させると、新たなくっついたストロークのセット（この例では、１８５ｂと１８６ｂを指す。）ができてしまうからである。
【００４４】
かかる場合、フォントデザイナーは同じ文字の簡略化した書体に置き換える。図２０（Ａ）及び（Ｂ）は、図１９（Ａ）の文字１８０に対応した簡略化された文字１９０を示している。フォントデザイナーはそのような簡略化した文字を再定義し、記憶させる。
【００４５】
本発明に係る様々な方法がグラフィカルユーザインタフェース（ＧＵＩ）やＣＡＤツールを用いて実行される。例えば、Ｗｉｎｄｏｗｓ（登録商標）のＯＳ用のＧＵＩツールは使用可能である。尤も、ＧＵＩツールは様々なほかのＯＳでも実行可能なのだが。ＧＵＩツールで実行される方法の１以上のステップは、画像解析技術によって自動的に実行可能であることに注意されたい。
【００４６】
以上、本発明の好ましい実施形態について図示し説明したが、本発明はこれに限定されるものではなく、特許請求の範囲に記載された発明の範囲を逸脱しない範囲で、様々な変更が可能である。
【図１】
2010055048.tif 000004
【図２】
2010055048.tif 000005
【図３】
2010055048.tif 000006
【図４】
2010055048.tif 000007
【図５】
2010055048.tif 000008
【図６】
2010055048.tif 000009
【図７】
2010055048.tif 000010
【図８】
2010055048.tif 000011
【図９】
2010055048.tif 000012
【図１０】
2010055048.tif 000013
【図１１】
2010055048.tif 000014
【図１２】
2010055048.tif 000015
【図１３】
2010055048.tif 000016
【図１４】
2010055048.tif 000017
【図１５】
2010055048.tif 000018
【図１６】
2010055048.tif 000019
【図１７】
2010055048.tif 000020
【図１８】
2010055048.tif 000021
【図１９】
2010055048.tif 000022
【図２０】
2010055048.tif 000023