低解像度ディスプレイのためのストロークベースのフォント文字を生成する方法
【課題】高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示すること。
【解決手段】キーポイントと幅値によって定義されたストロークベースのフォントを用い、それを低解像度の2次元のピクセルマトリクススクリーン上に表示させ、低解像度においても文字がつぶれずに識別可能なように表示できるように、キーポイントの位置と幅値を調整し、フォントデータを再定義する。
【解決手段】キーポイントと幅値によって定義されたストロークベースのフォントを用い、それを低解像度の2次元のピクセルマトリクススクリーン上に表示させ、低解像度においても文字がつぶれずに識別可能なように表示できるように、キーポイントの位置と幅値を調整し、フォントデータを再定義する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、活字又は他の記号のディジタル表現に関し、特に、比較的低解像度のスクリーンに表示するのに適したフォントデータを発生/修正するためのシステム、方法及びそれらの命令を格納したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
アジア文字フォント(以下、アジアフォントという。)を生成するための数多くのフォント生成システムが存在する。アジアフォントはアジア言語における文字を表す多くの表意文字(ideographs)から成り立っている。アジア言語は数千の文字を含んでいる。例えば、中国語には2万を超える異なる文字が含まれている。
【0003】
アジアフォントにおける文字パターンを生成するための従来の慣用的なコンピュータ技術はアウトラインフォント方式を使用している。このシステムは、下記非特許文献1に記載されている。この方式において、文字パターンの輪郭(アウトライン)は直線と曲線の集合体として保存される。この方式に関してはいくつかの不都合な点が存在する。第1に、個々にフォントの輪郭が定義されなければならず、何万もの異なった文字が記憶されるため、メモリ容量は比較的大きなものが要求される。第2に、高解像度で保存されるフォントの輪郭データは、高解像度においてのみ表示するのには適しているが、比較的低解像度において高品位に表示するのには適していない。
【0004】
アジアフォントを生成する他の方法は、ストロークベースの文字パターンデータを使用するものであり、1文字内の各ストロークは別々に定義される。一般的には、一つの文字は相互に重なったり、交差したりする複数のストロークから成り立っている。ストロークベースの文字データは、キーポイント、幅値、特徴点及び湾曲度(curve_ratio)から成り立っており、それらが一緒になって各ストロークの輪郭を定義している。かかるストロークベースの文字データの作成及びレンダリングは、下記特許文献1乃至3に詳述されており、それらは本明細書中に明示的に取り込まれている。なお、レンダリングとは、数値データとして与えられたフォントに関する情報を目に見える文字として画像化(可視化)することを意味する。ストロークベースのフォント技術はフォントのためのメモリ容量を軽減するのに適している。
【0005】
アジアフォントを生成するさらに別の方法は、グリフベースの文字パターンデータを使用するものであり、1つの文字内の各グリフは別個に定義される。一般に、アジア文字は1又はそれ以上のグリフから成り立っており、各グリフは1又はそれ以上のストロークから成り立っている。例えば、互いに交差したり重なりあったりしている1つの文字内のいくつかのストロークは、しばしば複雑な全体的として幾何学的な形状を作り出すが、それがグリフである。グリフベースの技術においては、上述のストロークベースの技術と同様に、それぞれのグリフは、キーポイント、幅値、特徴点および湾曲度によって定義される。かかるグリフベースの文字パターンデータの作成及びレンダリングは、下記特許文献4及び5に詳述されており、それらは本明細書中に明示的に取り込まれている。
【0006】
グレースケールで表示するためのアジアフォントのセットを生成するためのさらに他の方法は公知であるが、各文字は、1又はそれ以上のストローク/グリフを有しており、さらに、各ストローク/グリフはシルエット化表示用に定義されている。グレースケールで表示するためのシルエット化表示用のフォントデータの作成及びレンダリングは、下記特許文献6に詳述されており、それらは本明細書中に明示的に取り込まれている。
【0007】
セルラー電話、PDA及び携帯デジタルオーディオ機器のような携帯用電子機器技術の出現に伴い、比較的長いバイナリテキストイメージが、小さなサイズでそのような携帯用電子機器の画面に表示されるようになった。一般的に、それらの文字は高解像度スクリーンで表示するように定義されているため、これらの文字を低解像度のスクリーンでレンダリング(表示)すると、表示されたテキストイメージがひどく劣化することになる。これは、特に、比較的複雑な全体的に幾何学形状を持つ傾向にあるアジア文字に当てはまる。例えば、図1(A)は低解像度ピクセルマトリクススクリーン11に重ね表示(スーパーインポーズ)された文字(「幽」)10を示し、図1(B)は、従来の方法(例えば、任意のピクセルの面積の50%以上が文字で占有されていれば、そのピクセルを黒く塗りつぶす方法。)によって低解像度スクリーンに表示された文字10の画像を示すものである。図1(B)に示すように、レンダリングされた文字10はほとんど識別できないほど劣化している。たとえば、図1(A)の文字10のストローク12〜15は互いにくっつき、一般には長方形のブロック16を形成する(図1(B)参照)。他の例としては、文字10の縦型のストローク17の左右にそれぞれ位置する、二つの似た形状の部分B及びB’は、低解像度のスクリーンに表示されると、図1(B)のC及びC’のようにお互いに全く異なったものになってしまう。図2は一番下に文字10を含む5つの漢字を示しているが、比較的低解像度のディスプレイに劣化した品質で表示したものである。
【0008】
そこで、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示するためのシステム、方法及びフォントの生成又は修正の命令を格納したコンピュータ読み取り可能な記憶媒体が求められている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許第5,852,448号公報
【特許文献2】米国特許第6,151,032号公報
【特許文献3】米国特許第6,157,390号公報
【特許文献4】米国特許第6,501,475号公報
【特許文献5】米国特許第6,661,417号公報
【特許文献6】米国特許第7,199,797号公報
【非特許文献】
【0010】
【非特許文献1】ポストスクリプト ラングエイジ チュートリアル アンド クックブック、アドビシステムズ インク、アジソン−ウェズレー出版、1985年
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明は上述のような事情に鑑み為されたものであり、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示するためのシステム、方法及びフォントの生成又は修正の命令を格納したコンピュータ読み取り可能な記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【0012】
本発明の一つの実施形態では、低解像度スクリーンのための文字生成方法が提供される。この方法は、まず始めに1又はそれ以上のストロークから成る文字のセットを受け入れる。セットを成す、これらのストロークのうちのいくつかは類似の形状をしている。類似形状を有するストロークの各セットについて、その類似形状のストロークを書法上最もよく表す“基本”ストロークが、前掲の参考文献の特許に記載された方法に従って、予め定義される。各基本ストロークと、その基本ストロークによって書法上代表される各ストロークは、キーポイント、幅値、特徴点及び湾曲度によって定義される。
【0013】
次に、受け入れられた文字セットは、もっと正確に言えば、受け入れられた各文字を構成するストロークは、ピクセルのアレイから成る比較的低解像度のスクリーン上に、適切なピクセルカバレッジ方式を用いて表示される。例えば、その面積の50%以上がストロークによってカバー又は占有されている任意のピクセルはアクティブとされ、塗りつぶされる。次に、予め決められた規則に従い、そのストロークのキーポイントをピクセルの中心線まで移動させ、ストロークの幅値を単一のピクセル内に収まるように減らし、その結果、再定義されたキーポイントと幅値を持つ修正されたフォントデータを生成する。その後は、新たに定義されたキーポイントと幅値を持つ修正されたフォントデータは、適切なピクセルカバレッジ方式と所定のレンダリング基準を用いて、再び表示(レンダリング)される。
【0014】
本発明の一つの態様によれば、低解像度スクリーン用にフォントデータを修正するための所定のルールの適用は、コンピュータのGUI(Graphical_User_Interface)ツールを用いてマニュアルで行われるか、適当な画像解析技術を用いて自動的又は半自動で行われるかのいずれでもよい。この点については、本発明は、フォントデザイナーがこの方法を様々な態様で実行できるようにするための実行命令を備えたコンピュータGUIツールも用意している。
【0015】
本発明の他の態様によれば、低解像度スクリーンに表示されたときに互いにくっついてしまう二つのストロークの間にスペース(間隙)を設けるための方法がさらに提供される。この更なる方法は、上述のように、フォントデータの修正とは独立して、あるいは、フォントデータの修正方法と一緒に用いられる。この方法によれば、くっついたストロークが認識されると、片方のストロークのキーポイントが移動され、くっついたストロークの間に間隙が設けられる。
【0016】
本発明は、本発明の様々な実施形態を実行するためのコンピュータ実行命令を格納したコンピュータ読み取り可能な記憶媒体も提供する。
【発明の効果】
【0017】
本発明に係る方法又はGUIによれば、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示することが可能となる。
【図面の簡単な説明】
【0018】
【図1】(A)はアジア文字フォントの一例であり、(B)はそれを従来の方法によって比較的低解像度のディスプレイに表示したときの画像イメージを示すものである。
【図2】比較的低解像度のディスプレイに劣化した品質で表示された5つの漢字したものである
【図3】本発明に係る方法を実行するのに適したGUIツールを含むコンピュータシステムを示す図である。
【図4】キーポイント、幅値、特徴点、及び湾曲度によって定義されたストロークで構成される文字のサンプルを示す図である。
【図5】それぞれのキーポイントが一つのピクセル内に在る結合型のストロークを示す図である。
【図6】本発明の一実施例に基づいて、低解像度スクリーンに表示する文字セットの発生方法または修正方法を示すフローチャートである。
【図7】その文字が表示されようとしている低解像度スクリーンに対応する二次元座標を有するピクセルマトリクススクリーンに文字を投影したところを示す図である。
【図8】図7のピクセルマトリクススクリーンの中の一つのピクセル(65)を拡大した図である。
【図9】図6の方法で使用される、ストロークのキーポイント及び幅値を定義する詳細なステップを示すフローチャートである。
【図10】ストロークのキーポイントの移動を示す図であり、それぞれ、(A)は縦型ストローク、(B)は横型ストロークの場合を示す。
【図11】複数のピクセルを占有するストロークの湾曲部を制御するキーポイントの移動を示す図である。
【図12】単一のピクセルに収まるように幅値(W)を調整するところを示す図である。
【図13】本発明の実施例によって修正されて低解像度ディスプレイに表示される図1(A)及び図1(B)と同じ文字を示す。
【図14】従来の方法に従って低解像度ディスプレイに表示した他の文字を示すものであり、横型ストロークがくっついてしまっている状態を示している。
【図15】本発明に係る実施例に従って、文字のくっついたストロークの間に隙間を入れる方法のフローチャートを示す。
【図16】図15に示す方法により、修正され、ストローク同士がくっつかずに低解像度ディスプレイに表示された図14(A)と図14(B)と同じ文字を示す。
【図17】図15に示す方法により、さらに修正され、ストローク同士がくっつかずに表示された図13(A)と図13(B)と同じ文字を示す。
【図18】本発明に係る方法により、修正され、ストローク同士がくっつかずに低解像度ディスプレイに表示された図2と同じ5つの漢字を示す。
【図19】従来の方法によって低解像度ディスプレイに表示された、横のストローク同士がくっついている他の文字の例を示すものである。
【図20】図19に示した文字と同一の文字であって、本発明に係る方法によって簡略化され、低解像度ディスプレイに表示されたものである。
【発明を実施するための形態】
【0019】
図3は、本発明に係る様々な方法を実行するための典型的なコンピュータ環境を示す図である。ディスプレイ27を含む汎用のデジタルコンピュータ26と、それに接続されたプリンタ28によって、本発明の様々な方法を実行することが可能である。ディスプレイ27、プリンタ28、及び任意の他の出力装置(モニタ、プロッタ等)は、本発明によって生成された及び/または修正されたフォントを表示、印刷、その他出力を行うことができる。ネットワークシステムやメインフレームベースのシステムのような他のコンピュータシステムも、当業者には自明であるが、本発明に係る方法を実行するのに使用可能である。
【0020】
下は、1またはそれ以上のストロークから成る文字の生成及び修正に適用される本発明の記載であるが、本発明は、1またはそれ以上のグリフから成る文字の生成及び修正にも同様に適用できるものと考えるべきである。上述の背景技術でも述べたように、グリフは文字の副構成単位(サブユニット)であるとともに、1またはそれ以上のストロークから成る。ストロークもグリフも共に、キーポイント、幅値、特徴点、及び湾曲度によって定義される。従って、基本ストロークによる文字の生成及び修正についての方法に関する以下の技術内容が、基本基本グリフによる文字の生成及び修正についての方法に容易に拡張できることは、当業者であれば知っている。従って、特にことわらない限り、以下、「ストローク」という用語は、ストロークとグリフの両方の意味を含むものとする。
【0021】
図4(A)は、二つのストローク31及び32で構成される文字30を示すものである。ストローク31はキーポイントK1、K2と幅値W1によって定義され、ストローク32はキーポイントK3、K4と幅値W2、W3によって定義される。図4(B)は、キーポイントと幅値に基づいてすべて決定される、ストローク31の特徴点f1、f2及びf3、ストローク32の特徴点f4、f5及びf6、及び湾曲度(図示せず)を示しており、これらは上記特許文献1乃至3に記載されている通りである。上記特許文献に記載の通り、アジア言語の特徴の一つは、多くのストロークが多くの文字で共通して使われているということである。類似形状のストロークの各セットは、基本ストロークによって書法上代表される。各基本ストロークは、まずキーポイントと幅値によって定義される。キーポイントは基本ストロークの端部、交差部分、屈曲部分に置かれるので、キーポイントを動かすと、基本ストロークの輪郭形状が変化する。幅値もまた基本ストロークの内部にあるので、幅値を変えると基本ストロークの輪郭形状が変化する。各基本ストロークは、キーポイントと幅値とに基づいて特徴点を求める数式によって関連付けられる。図4(A)及び(B)に示す例では、特徴点(f1〜f6)を得るための数式は以下の通りである。
[数1]
f1=(x1−W1/2,y1)
f2=(x1+W1/2,y1)
f3=(x2,y2)
f4=(x3,y3)
f5=(x4−W2,y4)
f6=(x4,y4−W3)
ただし、(xi、yi)はキーポイントKiのx−y座標を示す。(i=1,2,・・・)
【0022】
図示したように、特徴点はキーポイントおよび幅値と予め定義された空間的な関係を有している。図4(B)に示すように、特徴点は、一般には、基本ストロークの輪郭上であって、輪郭の方向又は湾曲度が変わる所に置かれる。さらに、各基本ストロークは、好ましくは様々な解像度レベルにおいて定義された湾曲度と関連があり、特定の出力機器の解像度レベルに依存する二つの連続した特徴点の間の曲線のセグメントを作り出すように設計される。湾曲度の使用に関する詳細は上記特許文献に開示されている。
【0023】
各基本ストロークには、表1に示すように、ストローク識別値(基本ストロークID)が割り当てられている。図示された例では、ストローク31には基本ストロークIDとして“511”が割り当てられており、キーポイントと幅値によって定義されている。同様に、ストローク32には基本ストロークIDとして“623”が割り当てられており、キーポイントと幅値によって定義されている。定義された各基本ストロークは、そのキーポイントを動かすこと、及び/又は幅値を変えることによって、類似形状を有する他のストロークを定義するのに使用される。
【表1】
定義された各基本ストロークは、そのキーポイントを動かすこと、及び/又は幅値を変えることによって、類似形状を有する他のストロークを定義するのに使用される。基本ストロークの形状をわずかに修正して特定のストロークのための新たな形状を定義するために、キーポイントと幅値を変えると、それらに関連する特徴点は基本ストロークに関する数式(たとえば上記数1)に基づいて自動的に再計算される。さらに、新たな曲線のセグメントは、予め定義された湾曲度に従い、出力機器の解像度レベルに則って再計算された特徴点の間に創り出される。また、基本ストロークのキーポイントと幅値に対して為されたいかなる変更も、その基本ストロークによって書法的に代表されるストロークのセットの中に自動的に反映される。基本ストロークに基づいて、類似形状のストロークを定義することに関する詳細は、上記特許文献に開示されている。
【0024】
図5(A)及び(B)は、結合型のストロークの例を示すものである。ここで例として使用されているように、もし、一つのピクセル内にそれぞれ別のストロークに属する2又はそれ以上のキーポイントが含まれているならば、そのピクセルは結合型ストロークによって占有されている、あるいはカバーされていると言われる。図5(A)はストローク41のキーポイント41aと、ストローク42のキーポイント42aを含むピクセル40を示している。従って、ストローク41及び42は低解像度マトリクスにおけるピクセル40に関して結合型ストロークであると言われる。図5(B)は、ピクセル40の中にキーポイントがある結合型ストローク41及び42のような、多くの結合型ストロークを有する文字43を示している。文字43を構成する、結合型ストロークではないすべてのストロークは、独立型ストロークに分類される。例えば、ストローク46及び47は共に独立型ストロークである。独立型ストロークという概念は、図15に関して後述するが、くっついたあるいは重なりあったストロークの間に間隙を設ける方法において使用される。ストロークの型(結合型又は独立型)を識別するプロセスは上述の基準に基づいて自動的に実行されるが、フォントデザイナーによってピクセルマトリクススクリーン上でマニュアルで実行してもよい。
【0025】
図6は、低解像度スクリーンに表示される文字セットを生成及び/又は修正する方法を示すフローチャートである。ここで用いられる“低解像度”とは、文字セットが初めて定義され又はデザインされたときの解像度レベルと比較して相対的に低いレベルの解像度であるという意味である。例えば、低解像度スクリーンとは、各文字を16×16、10×10、又は8×8ピクセルで表示するピクセルマトリクススクリーンを意味する。
【0026】
まず、フォントデザイナーは、低解像度スクリーン用に定義される文字セットを選択し、選択された文字セットは図3に示す汎用コンピュータのようなコンピュータシステムにロードされる(ステップS51)。フォントデザイナーは、商用のフォントデータベースを構築しようとしているグラフィックデザイナーであるのが普通である。各文字セットは一又はそれ以上のストロークから成り、すべてのストロークは類似形状のストロークの組に分割される。類似形状のストロークの各セットに対して、類似形状のストロークを書法的に最もよく代表する一つの基本ストロークが、キーポイント、幅値、特徴点、及び湾曲度によって予め定義される。
【0027】
上述のように、キーポイント、幅値、特徴点、及び湾曲度によって定義された受信された(又はロードされた)文字セットは、その文字セットが表示されようとしている、ある低レベルの解像度に対応した低解像度のピクセルマトリクススクリーン上に投影される(ステップS52)。各ピクセルの位置は二次元座標(例えば、X−Y座標)によって定義される。ピクセルマトリクススクリーン上のピクセルの数は、所望の解像度レベルに基づいて自動的に設定されるか、フォントデザイナーによってマニュアルで設定されるかのいずれかである。図7は、各文字を表示するための8×8ピクセルのサイズの低解像度スクリーンに対応したピクセルマトリクススクリーン61上に表示(スーパーインポーズ)された文字30を示すものである。ピクセルマトリクススクリーン61上の各ピクセルは、X−Y座標によって定義される。各文字は「ピクセルカバレッジ方式」を用いてレンダリングされる。特に、各ピクセルに対するカバレッジ値(カバー率)が算出される。カバー率とは、ストロークによって覆われる、あるいは占有されるピクセルの面積率(%)によって定義されるものである。すなわち、カバー率はストロークの輪郭の内部が占める面積に基づいて計算される。
【0028】
図8は図7のピクセル65の拡大図である。この例では、ピクセル65は、4つの頂点(2,4)、(2,5)、(3,5)、及び(3,4)によって定義される。ピクセル65はストロークの部分66(網掛けをした部分)によって覆われており、ピクセル65のカバー率は、ハッチングされた部分とピクセル全体の面積比で算出される。具体的には、ピクセルの頂点の座標と、ピクセルの外周とストロークの輪郭が交わる点(交点)の座標(a,5)及び(b,4)から求められる(ただし、2<a<3,2<b<3)。閾値(例えば50%)を超えるカバー率を持つピクセルが、黒く塗りつぶされる。
【0029】
一つのストロークの一部分によって覆われるピクセルもあるが、一方では、2又はそれ以上の異なったストロークの2又はそれ以上の部分によってそれぞれ覆われるピクセルもある。後者の場合、2又はそれ以上の異なったストロークは独立型でも結合型でもよい。カバー率の合計とともに、ピクセルを占める各ストロークごとのカバー率が計算され、各ストロークの基本ストロークIDとストロークの型(独立型か結合型か)とともにコンピュータに記憶される。
【0030】
図6のステップS54では、低解像度スクリーンに表示される文字を構成する各ストロークが、予め決められたルールに従ってキーポイント及び幅値を調整することによって、定義又は再定義される。図9はステップS54を詳細に示したフローチャートである。図9のステップS83において、各ストロークのキーポイントは、そのキーポイントが存在するピクセルの中心線上の位置に移動される。中心線とは、図10(A)に示す縦の中心線93か、又は図10(B)に示す横の中心線94のどちらでもよいが、ストロークが縦型か横型かによって適切な中心線が選択される。特に、ストロークは書法的に解析され、縦型ストローク(例えば、図1(A)におけるストローク17)、又は横型ストローク(例えば、図1(A)におけるストローク18)に分類される。やや斜めに延びるストロークは、所定のルールに従って、1又はその他のカテゴリーに分類される。ちなみに、図7の二つのストロークの両方とも、完全には縦になっていないが、縦型ストロークに分類される。図10(A)に戻ると、縦型ストローク95及び96に対するキーポイント95a及び96aはそれぞれ各キーポイントが含まれるピクセルの縦の中心線93に、水平方向に移動される。図10(B)に戻ると、横型ストローク97及び98に対するキーポイント97a及び98aはそれぞれ各キーポイントが含まれるピクセルの横の中心線94に、垂直方向に移動される。
【0031】
図11において、曲線の輪郭で定義されたストロークの湾曲部分102(ハッチングされた部分)が、一つのピクセルよりも多くのピクセルを占めるときは、湾曲部分102を制御するキーポイントは、そのストロークに対するカバー率が最大であるピクセルの中心線に向かって移動される。図11において、ストローク101のキーポイント101aはストローク101の湾曲部分102を制御しており、湾曲部分102は特徴点103及び104の間の曲線部分(セグメント)によって定義されている。湾曲部分102はピクセルマトリクススクリーンの中の4つのピクセル105、106、107、及び108を覆っている。ピクセル105は最大のカバー率(%)を有しているので、キーポイント101aはピクセル105の縦の中心線に向かって移動される。一つの具体例では、キーポイント101aは、ピクセル105の中心線上にあるピクセル106内の位置101bに向かって水平方向に移動される。他の例では、キーポイント101aは、ピクセル105の中心線上にあるピクセル105内の位置101cに向かって移動される。
【0032】
次に、図9のステップS85において、各ストロークの幅値がピクセルの大きさ(ピクセルの幅又は長さ)を超えているかどうかが調べられる。もし、ストロークの幅がピクセルの大きさを超えている場合は、ステップS87において、ピクセル内に収まるように幅が縮小される。たとえば、図7において、文字30を構成するストロークの幅値W2及びW3は1ピクセルの大きさを超えている。図12(A)は、図4(A)のW2のように、幅値が水平方向に定義された場合を示している。図12(B)は、図4(A)のW3のように、幅値が垂直方向に定義された場合を示している。両方の場合において、幅値はピクセルのサイズ内に収まるように調整され、それによってストロークの形状が変化することを示している。図9のステップS89において、再調整されたキーポイントと幅値によって再定義されたフォントデータが記憶される。
【0033】
キーポイントと幅値を調整する、フォントデータ定義/修正プロセスの順序は変更可能である。一例では、いずれかのキーポイントの位置が調整されてから幅値が調整されるが、その一方で、他の例では、幅値が調整された後に、キーポイントの位置が調整される。いずれにしても、本発明の様々な典型的な実施例によれば、低解像度ピクセルマトリクススクリーン上に高品質でレンダリングするために、各文字が定義及び/又は再定義(修正)される。
【0034】
図6に戻ると、ステップS55において、再定義された各文字は、ピクセルカバレッジ方式及びそのためのレンダリング基準を用いてレンダリングされる。特に、ステップS54においてキーポイントと幅値を調整した後に、各ピクセルに対するピクセルカバー率が、再定義されたフォントデータに基づいて再計算される。次に、そのピクセルが以下の基準に基づいてアクティブ化(具体的には、たとえば黒く塗りつぶす。)される。
基準(i):ピクセルカバー率が所定の値(例えば50%)よりも大きい場合は、そのピクセルをアクティブ化する。
基準(ii):ストロークの輪郭のセグメントが、そのピクセル内で互いに向かい合っている場合は、そのピクセルをアクティブ化する。
この場合、ストロークの輪郭のセグメントは必ずしも互いに平行である必要はないが、一般には、それらが互いに向かい合っていれば、基準(ii)は満たしているといえる。例えば、図4(B)において、輪郭のセグメント302及び303は互いに向かい合っていると考えられる。各輪郭のセグメントは二つの隣り合う特徴点間のセグメントとして定義される。例えば、図4(B)において、ストローク31は、3つの輪郭セグメント301、302、及び303を含んでいる。二つの輪郭のセグメントが互いに向かい合っているか否かは、適当な画像処理技術を用いて自動的に判定されるか、又は、フォントデザイナーによってマニュアル若しくは半自動で判定してもよい。
【0035】
図13(A)及び(B)は図1(A)及び(B)に示すものと同じ文字10を表しているが、上述の本発明に係る方法によって処理され、レンダリングされたものである。特に、図13(A)に示すように、図1(A)の文字10を構成する様々なストロークのキーポイントや幅値が調整されたものである。そして、(キーポイントと幅値の調整によって)再定義されたフォントデータが、所定のレンダリング基準によって、図13(B)に示すようにレンダリングされる。例えば、図13(B)において、ピクセルカバー率が50%を超えるピクセルは塗りつぶされ、二つの互いに向かい合った輪郭セグメントを含むピクセルも塗りつぶされている。図13(A)における具体例として、ピクセル125は互いに向かい合うストローク18の二つの輪郭セグメントを含んでいる。このように、ピクセル125のカバー率がたとえ所定値(例えば50%)よりも小さかったとしても、ピクセル125は図13(B)に示す通り、依然として塗りつぶされている。
【0036】
さらに、図6を参照すると、最後には、フォントデザイナーが、各文字が正しくレンダリングされたことを、例えば、互いにくっついているストロークがないことを検証することによって、視覚的に確認する。もし、フォントデザイナーが満足すれば、フォントデータはセーブされ、低解像度スクリーンの為のフォント文字の生成(又は再定義)の方法は終了する。一方、フォントデザイナーが満足しなければ、図6のステップS54に戻り、フォントデザイナーが、満足されない文字を構成しているストロークのキーポイント及び/又は幅値をマニュアルで調整することによって、満足されない文字が再定義される。このプロセスは、フォントデザイナーがすべての文字セットのレンダリング結果の見栄えに満足するまで繰り返される。
【0037】
本発明の他の局面では、低解像度スクリーンに表示したときに互いにくっついてしまうようなストローク同士の間に確実に間隙を設ける方法を提供する。低解像度でのレンダリングを行うと、文字中のストローク(特に、平行なストローク)は重なったりくっついたりしてしまい、表示された結果の文字イメージは識別不能になる。例えば、図14(A)の二つのストローク131a及び132aは、レンダリングされると、図14(B)の131b及び132bになるが、それらは互いにくっついてしまい、単一のストローク133として表現される。本発明に係る方法の一実施例によればストロークの間に必要なスペースを設けるために、一又はそれ以上のピクセルを特に塗りつぶさないようにする。ストロークの間にスペースを設けるこの方法は、上述のように、キーポイントと幅値を調整することによってフォントデータを定義/再定義する方法とは別に、あるいはそれと一緒に用いられる。
【0038】
図15は低解像度スクリーンに表示された文字に適切なスペースを与える方法の一例を示すフローチャートである。まず、ステップS140においては、くっついたストロークを検出する。これはフォントデザイナーによる視覚検査に基づいてマニュアルで為されるか、適当な画像解析技術によって自動又は半自動で行われる。もし、くっついたストロークが検出された場合(ステップS141でYESの場合)、ステップS142において、くっついたストロークが解析され、横型ストロークか、縦型ストロークか、又はそのどちらでもないものか(横型にも縦型にも分類できない、例えば斜めのストローク)が判定される。もし、そのストロークが横型又は縦型であれば(YESの場合)、ステップS143において、文字の別の部分がくっついてしまうこと無しに、そのストロークを互いに離すために動かすのに十分なスペースがあるか否かについて判定される。くっついた平行なストロークに適切なスペースを与えるためには、少なくとも一つのピクセルアレイが必要である。もし、そのようなスペースを設けることが可能であり、かつ、くっついたストロークが横型であれば、ステップS144において、スペースを与えるために隣のピクセルの横の中心線上に、キーポイントが垂直方向に移動される。もし、くっついたストロークが縦型であれば、ステップS145において、隣のピクセルの縦の中心線上に、キーポイントが水平方向に移動される。図16(A)は図14(A)の文字130に対応した修正された文字130’を示している。図16(A)に示された例において、ストローク131aのキーポイント134は、ピクセル135の水平の中心線の上に垂直方向に移動され、その結果、ストローク131aは上方に移動するので、ストローク132aとの間にスペース(1行分のピクセルアレイ)ができる。図16(B)は、平行なストローク131bと132bとの間に適当なスペースが設けられた、低解像度スクリーン上に表示された文字130’を示している。
【0039】
くっついたストロークが横型でも縦型でもない場合は(ステップS142でNOの場合)、ステップS146において、くっついたピクセルの中の各ピクセルが2個以上のストロークで占められているかどうかを判定するために解析される。もし、2個以上のピクセルで占められていれば、ステップS147に移行し、その2以上のストロークが結合型ストローク(図5参照)かどうか、すなわち、各ストロークのキーポイントがすべて同じピクセル内にあるかどうかが判定される。もし、それらのストロークが結合型ストロークであれば、ステップS148に移行し、何もせずに結合型ストロークのキーポイントは同じピクセル内にそのまま維持される。一方、それらのストロークが結合型ストロークでない場合は、ステップS149に移行し、そのピクセルで最も大きな面積を占めているストロークのキーポイントが隣のピクセルの中心線上に移動される。例えば、図13(A)において、ピクセル120は3つのストローク、121、122、及び123で覆われている。これらのストロークは結合型ストロークではないので、ピクセル120の中で最も大きな面積を占めるストローク122のキーポイントは、図17(A)に示すように、隣のピクセル124の(水平の)中心線上に移動される。ここで、図13(A)において、ピクセル120の隣のピクセルは、辺を接して4個あるが、ストローク122のキーポイントが移動される先のピクセル(この場合はピクセル124であるが)がどのようにして決定されるのかが問題となる。ピクセル120の4つの辺のうち、ストローク122によって覆われている部分の長さが最も大きい辺(この場合は、ピクセル120の上下左右の4つの辺のうち、下側の辺になる。)に接するピクセル124が選択されることになる。図17(A)に示すように、ピクセル120は、そのピクセルカバー率が所定の値(例えば50%)を超えておらず、かつ、互いに向かい合った二つの輪郭セグメントも含んでいないので、塗りつぶされていない。このようにして、図17(B)に示すように、ピクセル120には適切なスペースが与えられ、文字が識別できるようにレンダリングされる。
【0040】
もし、図15のステップS146において、ピクセルが2以上のストロークによって覆われていないと(つまり、単一のストロークであることが)判定されたら、ステップS150において、そのピクセルが互いに向かい合った輪郭セグメントを含んでいるかどうかが判定される。もし、含んでいると判定されると、ステップS151において、そのストロークのキーポイントが存在するピクセルの中心線上に、そのキーポイントを移動させ、輪郭セグメントの一方を(二つの輪郭セグメントが存在していた)ピクセルの外に移動させる。
【0041】
例えば、図13(A)において、ピクセル126は互いに向かい合うストローク13の二つの輪郭セグメントを含んでいる。そのような場合、ピクセル127内にあるストローク13のキーポイントは、ピクセル127の中心線上に移動され、ストローク13の輪郭セグメントの一つ(左側のセグメント)はピクセル126の外に移動する。従って、図17(A)に示すように、ピクセル126はもはやお互いに向かい合った二つの輪郭セグメントを含まなくなり、(ピクセル126のカバー率が閾値、例えば50%を越えないと仮定して)、ピクセル126は塗りつぶされない。この結果として、図17(A)に示すように、ピクセル126(ピクセル128も同様)において文字に対して適切なスペースが与えられ、従来技術(図1(B))及び適切なスペースを与える所定の方法を使用しない先の実施例(図13(B))と比較して、低解像度スクリーンに文字全体をより認識可能(図17(B))に表示できるようになる。図17(B)において、ピクセル120、126、及び128が空白になっているため、文字イメージは元の漢字をはっきりと表している。このようにしてすべてのストロークについて必要な調整が終わり、フォントデータの再定義が終わると、それらのデータはコンピュータに記憶される(ステップS152)。
【0042】
図18は、図2に示す5つの漢字と同じものであるが、本発明に係る方法を用いて修正されて、低解像度ディスプレイに表示されたものを示している。特に、フォントデータは調整されたキーポイントと幅値を用いて修正される(図6参照)とともに、適切なスペースを付与され(図15)、検出されたピクセルカバー率と所定のレンダリング基準に従ってレンダリングされる。
【0043】
低解像度スクリーンは限られた数のピクセルしか持っていないので、場合によっては、一又はそれ以上のくっついたストロークを移動するためのスペースがとれないことさえある(図15のステップS143におけるNOの場合である。)。かかる場合に、図15のステップS153で、その文字を簡略化した書体に再定義するようにフォントデザイナーに促す。図19(A)は、横型ストロークを6つ(182a〜187a)も含んでいる文字180を示している。図19(B)は低解像度スクリーンにレンダリングされた文字180を示しており、6つの横型ストロークがくっついてしまって、4つになってしまっている。具体的には、ストローク182bと183b、184bと185bがそれぞれくっついている。しかしながら、くっついたストロークのキーポイントのいずれも動かすことができない。なぜなら、限られた文字サイズ(この例では10×10ピクセル)では、動かすために使用可能なスペースがないからである。例えば、くっついてしまったストローク185bを下方向に移動させると、新たなくっついたストロークのセット(この例では、185bと186bを指す。)ができてしまうからである。
【0044】
かかる場合、フォントデザイナーは同じ文字の簡略化した書体に置き換える。図20(A)及び(B)は、図19(A)の文字180に対応した簡略化された文字190を示している。フォントデザイナーはそのような簡略化した文字を再定義し、記憶させる。
【0045】
本発明に係る様々な方法がグラフィカルユーザインタフェース(GUI)やCADツールを用いて実行される。例えば、Windows(登録商標)のOS用のGUIツールは使用可能である。尤も、GUIツールは様々なほかのOSでも実行可能なのだが。GUIツールで実行される方法の1以上のステップは、画像解析技術によって自動的に実行可能であることに注意されたい。
【0046】
以上、本発明の好ましい実施形態について図示し説明したが、本発明はこれに限定されるものではなく、特許請求の範囲に記載された発明の範囲を逸脱しない範囲で、様々な変更が可能である。
【技術分野】
【0001】
本発明は、活字又は他の記号のディジタル表現に関し、特に、比較的低解像度のスクリーンに表示するのに適したフォントデータを発生/修正するためのシステム、方法及びそれらの命令を格納したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
アジア文字フォント(以下、アジアフォントという。)を生成するための数多くのフォント生成システムが存在する。アジアフォントはアジア言語における文字を表す多くの表意文字(ideographs)から成り立っている。アジア言語は数千の文字を含んでいる。例えば、中国語には2万を超える異なる文字が含まれている。
【0003】
アジアフォントにおける文字パターンを生成するための従来の慣用的なコンピュータ技術はアウトラインフォント方式を使用している。このシステムは、下記非特許文献1に記載されている。この方式において、文字パターンの輪郭(アウトライン)は直線と曲線の集合体として保存される。この方式に関してはいくつかの不都合な点が存在する。第1に、個々にフォントの輪郭が定義されなければならず、何万もの異なった文字が記憶されるため、メモリ容量は比較的大きなものが要求される。第2に、高解像度で保存されるフォントの輪郭データは、高解像度においてのみ表示するのには適しているが、比較的低解像度において高品位に表示するのには適していない。
【0004】
アジアフォントを生成する他の方法は、ストロークベースの文字パターンデータを使用するものであり、1文字内の各ストロークは別々に定義される。一般的には、一つの文字は相互に重なったり、交差したりする複数のストロークから成り立っている。ストロークベースの文字データは、キーポイント、幅値、特徴点及び湾曲度(curve_ratio)から成り立っており、それらが一緒になって各ストロークの輪郭を定義している。かかるストロークベースの文字データの作成及びレンダリングは、下記特許文献1乃至3に詳述されており、それらは本明細書中に明示的に取り込まれている。なお、レンダリングとは、数値データとして与えられたフォントに関する情報を目に見える文字として画像化(可視化)することを意味する。ストロークベースのフォント技術はフォントのためのメモリ容量を軽減するのに適している。
【0005】
アジアフォントを生成するさらに別の方法は、グリフベースの文字パターンデータを使用するものであり、1つの文字内の各グリフは別個に定義される。一般に、アジア文字は1又はそれ以上のグリフから成り立っており、各グリフは1又はそれ以上のストロークから成り立っている。例えば、互いに交差したり重なりあったりしている1つの文字内のいくつかのストロークは、しばしば複雑な全体的として幾何学的な形状を作り出すが、それがグリフである。グリフベースの技術においては、上述のストロークベースの技術と同様に、それぞれのグリフは、キーポイント、幅値、特徴点および湾曲度によって定義される。かかるグリフベースの文字パターンデータの作成及びレンダリングは、下記特許文献4及び5に詳述されており、それらは本明細書中に明示的に取り込まれている。
【0006】
グレースケールで表示するためのアジアフォントのセットを生成するためのさらに他の方法は公知であるが、各文字は、1又はそれ以上のストローク/グリフを有しており、さらに、各ストローク/グリフはシルエット化表示用に定義されている。グレースケールで表示するためのシルエット化表示用のフォントデータの作成及びレンダリングは、下記特許文献6に詳述されており、それらは本明細書中に明示的に取り込まれている。
【0007】
セルラー電話、PDA及び携帯デジタルオーディオ機器のような携帯用電子機器技術の出現に伴い、比較的長いバイナリテキストイメージが、小さなサイズでそのような携帯用電子機器の画面に表示されるようになった。一般的に、それらの文字は高解像度スクリーンで表示するように定義されているため、これらの文字を低解像度のスクリーンでレンダリング(表示)すると、表示されたテキストイメージがひどく劣化することになる。これは、特に、比較的複雑な全体的に幾何学形状を持つ傾向にあるアジア文字に当てはまる。例えば、図1(A)は低解像度ピクセルマトリクススクリーン11に重ね表示(スーパーインポーズ)された文字(「幽」)10を示し、図1(B)は、従来の方法(例えば、任意のピクセルの面積の50%以上が文字で占有されていれば、そのピクセルを黒く塗りつぶす方法。)によって低解像度スクリーンに表示された文字10の画像を示すものである。図1(B)に示すように、レンダリングされた文字10はほとんど識別できないほど劣化している。たとえば、図1(A)の文字10のストローク12〜15は互いにくっつき、一般には長方形のブロック16を形成する(図1(B)参照)。他の例としては、文字10の縦型のストローク17の左右にそれぞれ位置する、二つの似た形状の部分B及びB’は、低解像度のスクリーンに表示されると、図1(B)のC及びC’のようにお互いに全く異なったものになってしまう。図2は一番下に文字10を含む5つの漢字を示しているが、比較的低解像度のディスプレイに劣化した品質で表示したものである。
【0008】
そこで、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示するためのシステム、方法及びフォントの生成又は修正の命令を格納したコンピュータ読み取り可能な記憶媒体が求められている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許第5,852,448号公報
【特許文献2】米国特許第6,151,032号公報
【特許文献3】米国特許第6,157,390号公報
【特許文献4】米国特許第6,501,475号公報
【特許文献5】米国特許第6,661,417号公報
【特許文献6】米国特許第7,199,797号公報
【非特許文献】
【0010】
【非特許文献1】ポストスクリプト ラングエイジ チュートリアル アンド クックブック、アドビシステムズ インク、アジソン−ウェズレー出版、1985年
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明は上述のような事情に鑑み為されたものであり、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示するためのシステム、方法及びフォントの生成又は修正の命令を格納したコンピュータ読み取り可能な記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【0012】
本発明の一つの実施形態では、低解像度スクリーンのための文字生成方法が提供される。この方法は、まず始めに1又はそれ以上のストロークから成る文字のセットを受け入れる。セットを成す、これらのストロークのうちのいくつかは類似の形状をしている。類似形状を有するストロークの各セットについて、その類似形状のストロークを書法上最もよく表す“基本”ストロークが、前掲の参考文献の特許に記載された方法に従って、予め定義される。各基本ストロークと、その基本ストロークによって書法上代表される各ストロークは、キーポイント、幅値、特徴点及び湾曲度によって定義される。
【0013】
次に、受け入れられた文字セットは、もっと正確に言えば、受け入れられた各文字を構成するストロークは、ピクセルのアレイから成る比較的低解像度のスクリーン上に、適切なピクセルカバレッジ方式を用いて表示される。例えば、その面積の50%以上がストロークによってカバー又は占有されている任意のピクセルはアクティブとされ、塗りつぶされる。次に、予め決められた規則に従い、そのストロークのキーポイントをピクセルの中心線まで移動させ、ストロークの幅値を単一のピクセル内に収まるように減らし、その結果、再定義されたキーポイントと幅値を持つ修正されたフォントデータを生成する。その後は、新たに定義されたキーポイントと幅値を持つ修正されたフォントデータは、適切なピクセルカバレッジ方式と所定のレンダリング基準を用いて、再び表示(レンダリング)される。
【0014】
本発明の一つの態様によれば、低解像度スクリーン用にフォントデータを修正するための所定のルールの適用は、コンピュータのGUI(Graphical_User_Interface)ツールを用いてマニュアルで行われるか、適当な画像解析技術を用いて自動的又は半自動で行われるかのいずれでもよい。この点については、本発明は、フォントデザイナーがこの方法を様々な態様で実行できるようにするための実行命令を備えたコンピュータGUIツールも用意している。
【0015】
本発明の他の態様によれば、低解像度スクリーンに表示されたときに互いにくっついてしまう二つのストロークの間にスペース(間隙)を設けるための方法がさらに提供される。この更なる方法は、上述のように、フォントデータの修正とは独立して、あるいは、フォントデータの修正方法と一緒に用いられる。この方法によれば、くっついたストロークが認識されると、片方のストロークのキーポイントが移動され、くっついたストロークの間に間隙が設けられる。
【0016】
本発明は、本発明の様々な実施形態を実行するためのコンピュータ実行命令を格納したコンピュータ読み取り可能な記憶媒体も提供する。
【発明の効果】
【0017】
本発明に係る方法又はGUIによれば、元々は高解像度ディスプレイ用に設計されたフォントを比較的低解像度のディスプレイに高品質で表示することが可能となる。
【図面の簡単な説明】
【0018】
【図1】(A)はアジア文字フォントの一例であり、(B)はそれを従来の方法によって比較的低解像度のディスプレイに表示したときの画像イメージを示すものである。
【図2】比較的低解像度のディスプレイに劣化した品質で表示された5つの漢字したものである
【図3】本発明に係る方法を実行するのに適したGUIツールを含むコンピュータシステムを示す図である。
【図4】キーポイント、幅値、特徴点、及び湾曲度によって定義されたストロークで構成される文字のサンプルを示す図である。
【図5】それぞれのキーポイントが一つのピクセル内に在る結合型のストロークを示す図である。
【図6】本発明の一実施例に基づいて、低解像度スクリーンに表示する文字セットの発生方法または修正方法を示すフローチャートである。
【図7】その文字が表示されようとしている低解像度スクリーンに対応する二次元座標を有するピクセルマトリクススクリーンに文字を投影したところを示す図である。
【図8】図7のピクセルマトリクススクリーンの中の一つのピクセル(65)を拡大した図である。
【図9】図6の方法で使用される、ストロークのキーポイント及び幅値を定義する詳細なステップを示すフローチャートである。
【図10】ストロークのキーポイントの移動を示す図であり、それぞれ、(A)は縦型ストローク、(B)は横型ストロークの場合を示す。
【図11】複数のピクセルを占有するストロークの湾曲部を制御するキーポイントの移動を示す図である。
【図12】単一のピクセルに収まるように幅値(W)を調整するところを示す図である。
【図13】本発明の実施例によって修正されて低解像度ディスプレイに表示される図1(A)及び図1(B)と同じ文字を示す。
【図14】従来の方法に従って低解像度ディスプレイに表示した他の文字を示すものであり、横型ストロークがくっついてしまっている状態を示している。
【図15】本発明に係る実施例に従って、文字のくっついたストロークの間に隙間を入れる方法のフローチャートを示す。
【図16】図15に示す方法により、修正され、ストローク同士がくっつかずに低解像度ディスプレイに表示された図14(A)と図14(B)と同じ文字を示す。
【図17】図15に示す方法により、さらに修正され、ストローク同士がくっつかずに表示された図13(A)と図13(B)と同じ文字を示す。
【図18】本発明に係る方法により、修正され、ストローク同士がくっつかずに低解像度ディスプレイに表示された図2と同じ5つの漢字を示す。
【図19】従来の方法によって低解像度ディスプレイに表示された、横のストローク同士がくっついている他の文字の例を示すものである。
【図20】図19に示した文字と同一の文字であって、本発明に係る方法によって簡略化され、低解像度ディスプレイに表示されたものである。
【発明を実施するための形態】
【0019】
図3は、本発明に係る様々な方法を実行するための典型的なコンピュータ環境を示す図である。ディスプレイ27を含む汎用のデジタルコンピュータ26と、それに接続されたプリンタ28によって、本発明の様々な方法を実行することが可能である。ディスプレイ27、プリンタ28、及び任意の他の出力装置(モニタ、プロッタ等)は、本発明によって生成された及び/または修正されたフォントを表示、印刷、その他出力を行うことができる。ネットワークシステムやメインフレームベースのシステムのような他のコンピュータシステムも、当業者には自明であるが、本発明に係る方法を実行するのに使用可能である。
【0020】
下は、1またはそれ以上のストロークから成る文字の生成及び修正に適用される本発明の記載であるが、本発明は、1またはそれ以上のグリフから成る文字の生成及び修正にも同様に適用できるものと考えるべきである。上述の背景技術でも述べたように、グリフは文字の副構成単位(サブユニット)であるとともに、1またはそれ以上のストロークから成る。ストロークもグリフも共に、キーポイント、幅値、特徴点、及び湾曲度によって定義される。従って、基本ストロークによる文字の生成及び修正についての方法に関する以下の技術内容が、基本基本グリフによる文字の生成及び修正についての方法に容易に拡張できることは、当業者であれば知っている。従って、特にことわらない限り、以下、「ストローク」という用語は、ストロークとグリフの両方の意味を含むものとする。
【0021】
図4(A)は、二つのストローク31及び32で構成される文字30を示すものである。ストローク31はキーポイントK1、K2と幅値W1によって定義され、ストローク32はキーポイントK3、K4と幅値W2、W3によって定義される。図4(B)は、キーポイントと幅値に基づいてすべて決定される、ストローク31の特徴点f1、f2及びf3、ストローク32の特徴点f4、f5及びf6、及び湾曲度(図示せず)を示しており、これらは上記特許文献1乃至3に記載されている通りである。上記特許文献に記載の通り、アジア言語の特徴の一つは、多くのストロークが多くの文字で共通して使われているということである。類似形状のストロークの各セットは、基本ストロークによって書法上代表される。各基本ストロークは、まずキーポイントと幅値によって定義される。キーポイントは基本ストロークの端部、交差部分、屈曲部分に置かれるので、キーポイントを動かすと、基本ストロークの輪郭形状が変化する。幅値もまた基本ストロークの内部にあるので、幅値を変えると基本ストロークの輪郭形状が変化する。各基本ストロークは、キーポイントと幅値とに基づいて特徴点を求める数式によって関連付けられる。図4(A)及び(B)に示す例では、特徴点(f1〜f6)を得るための数式は以下の通りである。
[数1]
f1=(x1−W1/2,y1)
f2=(x1+W1/2,y1)
f3=(x2,y2)
f4=(x3,y3)
f5=(x4−W2,y4)
f6=(x4,y4−W3)
ただし、(xi、yi)はキーポイントKiのx−y座標を示す。(i=1,2,・・・)
【0022】
図示したように、特徴点はキーポイントおよび幅値と予め定義された空間的な関係を有している。図4(B)に示すように、特徴点は、一般には、基本ストロークの輪郭上であって、輪郭の方向又は湾曲度が変わる所に置かれる。さらに、各基本ストロークは、好ましくは様々な解像度レベルにおいて定義された湾曲度と関連があり、特定の出力機器の解像度レベルに依存する二つの連続した特徴点の間の曲線のセグメントを作り出すように設計される。湾曲度の使用に関する詳細は上記特許文献に開示されている。
【0023】
各基本ストロークには、表1に示すように、ストローク識別値(基本ストロークID)が割り当てられている。図示された例では、ストローク31には基本ストロークIDとして“511”が割り当てられており、キーポイントと幅値によって定義されている。同様に、ストローク32には基本ストロークIDとして“623”が割り当てられており、キーポイントと幅値によって定義されている。定義された各基本ストロークは、そのキーポイントを動かすこと、及び/又は幅値を変えることによって、類似形状を有する他のストロークを定義するのに使用される。
【表1】
定義された各基本ストロークは、そのキーポイントを動かすこと、及び/又は幅値を変えることによって、類似形状を有する他のストロークを定義するのに使用される。基本ストロークの形状をわずかに修正して特定のストロークのための新たな形状を定義するために、キーポイントと幅値を変えると、それらに関連する特徴点は基本ストロークに関する数式(たとえば上記数1)に基づいて自動的に再計算される。さらに、新たな曲線のセグメントは、予め定義された湾曲度に従い、出力機器の解像度レベルに則って再計算された特徴点の間に創り出される。また、基本ストロークのキーポイントと幅値に対して為されたいかなる変更も、その基本ストロークによって書法的に代表されるストロークのセットの中に自動的に反映される。基本ストロークに基づいて、類似形状のストロークを定義することに関する詳細は、上記特許文献に開示されている。
【0024】
図5(A)及び(B)は、結合型のストロークの例を示すものである。ここで例として使用されているように、もし、一つのピクセル内にそれぞれ別のストロークに属する2又はそれ以上のキーポイントが含まれているならば、そのピクセルは結合型ストロークによって占有されている、あるいはカバーされていると言われる。図5(A)はストローク41のキーポイント41aと、ストローク42のキーポイント42aを含むピクセル40を示している。従って、ストローク41及び42は低解像度マトリクスにおけるピクセル40に関して結合型ストロークであると言われる。図5(B)は、ピクセル40の中にキーポイントがある結合型ストローク41及び42のような、多くの結合型ストロークを有する文字43を示している。文字43を構成する、結合型ストロークではないすべてのストロークは、独立型ストロークに分類される。例えば、ストローク46及び47は共に独立型ストロークである。独立型ストロークという概念は、図15に関して後述するが、くっついたあるいは重なりあったストロークの間に間隙を設ける方法において使用される。ストロークの型(結合型又は独立型)を識別するプロセスは上述の基準に基づいて自動的に実行されるが、フォントデザイナーによってピクセルマトリクススクリーン上でマニュアルで実行してもよい。
【0025】
図6は、低解像度スクリーンに表示される文字セットを生成及び/又は修正する方法を示すフローチャートである。ここで用いられる“低解像度”とは、文字セットが初めて定義され又はデザインされたときの解像度レベルと比較して相対的に低いレベルの解像度であるという意味である。例えば、低解像度スクリーンとは、各文字を16×16、10×10、又は8×8ピクセルで表示するピクセルマトリクススクリーンを意味する。
【0026】
まず、フォントデザイナーは、低解像度スクリーン用に定義される文字セットを選択し、選択された文字セットは図3に示す汎用コンピュータのようなコンピュータシステムにロードされる(ステップS51)。フォントデザイナーは、商用のフォントデータベースを構築しようとしているグラフィックデザイナーであるのが普通である。各文字セットは一又はそれ以上のストロークから成り、すべてのストロークは類似形状のストロークの組に分割される。類似形状のストロークの各セットに対して、類似形状のストロークを書法的に最もよく代表する一つの基本ストロークが、キーポイント、幅値、特徴点、及び湾曲度によって予め定義される。
【0027】
上述のように、キーポイント、幅値、特徴点、及び湾曲度によって定義された受信された(又はロードされた)文字セットは、その文字セットが表示されようとしている、ある低レベルの解像度に対応した低解像度のピクセルマトリクススクリーン上に投影される(ステップS52)。各ピクセルの位置は二次元座標(例えば、X−Y座標)によって定義される。ピクセルマトリクススクリーン上のピクセルの数は、所望の解像度レベルに基づいて自動的に設定されるか、フォントデザイナーによってマニュアルで設定されるかのいずれかである。図7は、各文字を表示するための8×8ピクセルのサイズの低解像度スクリーンに対応したピクセルマトリクススクリーン61上に表示(スーパーインポーズ)された文字30を示すものである。ピクセルマトリクススクリーン61上の各ピクセルは、X−Y座標によって定義される。各文字は「ピクセルカバレッジ方式」を用いてレンダリングされる。特に、各ピクセルに対するカバレッジ値(カバー率)が算出される。カバー率とは、ストロークによって覆われる、あるいは占有されるピクセルの面積率(%)によって定義されるものである。すなわち、カバー率はストロークの輪郭の内部が占める面積に基づいて計算される。
【0028】
図8は図7のピクセル65の拡大図である。この例では、ピクセル65は、4つの頂点(2,4)、(2,5)、(3,5)、及び(3,4)によって定義される。ピクセル65はストロークの部分66(網掛けをした部分)によって覆われており、ピクセル65のカバー率は、ハッチングされた部分とピクセル全体の面積比で算出される。具体的には、ピクセルの頂点の座標と、ピクセルの外周とストロークの輪郭が交わる点(交点)の座標(a,5)及び(b,4)から求められる(ただし、2<a<3,2<b<3)。閾値(例えば50%)を超えるカバー率を持つピクセルが、黒く塗りつぶされる。
【0029】
一つのストロークの一部分によって覆われるピクセルもあるが、一方では、2又はそれ以上の異なったストロークの2又はそれ以上の部分によってそれぞれ覆われるピクセルもある。後者の場合、2又はそれ以上の異なったストロークは独立型でも結合型でもよい。カバー率の合計とともに、ピクセルを占める各ストロークごとのカバー率が計算され、各ストロークの基本ストロークIDとストロークの型(独立型か結合型か)とともにコンピュータに記憶される。
【0030】
図6のステップS54では、低解像度スクリーンに表示される文字を構成する各ストロークが、予め決められたルールに従ってキーポイント及び幅値を調整することによって、定義又は再定義される。図9はステップS54を詳細に示したフローチャートである。図9のステップS83において、各ストロークのキーポイントは、そのキーポイントが存在するピクセルの中心線上の位置に移動される。中心線とは、図10(A)に示す縦の中心線93か、又は図10(B)に示す横の中心線94のどちらでもよいが、ストロークが縦型か横型かによって適切な中心線が選択される。特に、ストロークは書法的に解析され、縦型ストローク(例えば、図1(A)におけるストローク17)、又は横型ストローク(例えば、図1(A)におけるストローク18)に分類される。やや斜めに延びるストロークは、所定のルールに従って、1又はその他のカテゴリーに分類される。ちなみに、図7の二つのストロークの両方とも、完全には縦になっていないが、縦型ストロークに分類される。図10(A)に戻ると、縦型ストローク95及び96に対するキーポイント95a及び96aはそれぞれ各キーポイントが含まれるピクセルの縦の中心線93に、水平方向に移動される。図10(B)に戻ると、横型ストローク97及び98に対するキーポイント97a及び98aはそれぞれ各キーポイントが含まれるピクセルの横の中心線94に、垂直方向に移動される。
【0031】
図11において、曲線の輪郭で定義されたストロークの湾曲部分102(ハッチングされた部分)が、一つのピクセルよりも多くのピクセルを占めるときは、湾曲部分102を制御するキーポイントは、そのストロークに対するカバー率が最大であるピクセルの中心線に向かって移動される。図11において、ストローク101のキーポイント101aはストローク101の湾曲部分102を制御しており、湾曲部分102は特徴点103及び104の間の曲線部分(セグメント)によって定義されている。湾曲部分102はピクセルマトリクススクリーンの中の4つのピクセル105、106、107、及び108を覆っている。ピクセル105は最大のカバー率(%)を有しているので、キーポイント101aはピクセル105の縦の中心線に向かって移動される。一つの具体例では、キーポイント101aは、ピクセル105の中心線上にあるピクセル106内の位置101bに向かって水平方向に移動される。他の例では、キーポイント101aは、ピクセル105の中心線上にあるピクセル105内の位置101cに向かって移動される。
【0032】
次に、図9のステップS85において、各ストロークの幅値がピクセルの大きさ(ピクセルの幅又は長さ)を超えているかどうかが調べられる。もし、ストロークの幅がピクセルの大きさを超えている場合は、ステップS87において、ピクセル内に収まるように幅が縮小される。たとえば、図7において、文字30を構成するストロークの幅値W2及びW3は1ピクセルの大きさを超えている。図12(A)は、図4(A)のW2のように、幅値が水平方向に定義された場合を示している。図12(B)は、図4(A)のW3のように、幅値が垂直方向に定義された場合を示している。両方の場合において、幅値はピクセルのサイズ内に収まるように調整され、それによってストロークの形状が変化することを示している。図9のステップS89において、再調整されたキーポイントと幅値によって再定義されたフォントデータが記憶される。
【0033】
キーポイントと幅値を調整する、フォントデータ定義/修正プロセスの順序は変更可能である。一例では、いずれかのキーポイントの位置が調整されてから幅値が調整されるが、その一方で、他の例では、幅値が調整された後に、キーポイントの位置が調整される。いずれにしても、本発明の様々な典型的な実施例によれば、低解像度ピクセルマトリクススクリーン上に高品質でレンダリングするために、各文字が定義及び/又は再定義(修正)される。
【0034】
図6に戻ると、ステップS55において、再定義された各文字は、ピクセルカバレッジ方式及びそのためのレンダリング基準を用いてレンダリングされる。特に、ステップS54においてキーポイントと幅値を調整した後に、各ピクセルに対するピクセルカバー率が、再定義されたフォントデータに基づいて再計算される。次に、そのピクセルが以下の基準に基づいてアクティブ化(具体的には、たとえば黒く塗りつぶす。)される。
基準(i):ピクセルカバー率が所定の値(例えば50%)よりも大きい場合は、そのピクセルをアクティブ化する。
基準(ii):ストロークの輪郭のセグメントが、そのピクセル内で互いに向かい合っている場合は、そのピクセルをアクティブ化する。
この場合、ストロークの輪郭のセグメントは必ずしも互いに平行である必要はないが、一般には、それらが互いに向かい合っていれば、基準(ii)は満たしているといえる。例えば、図4(B)において、輪郭のセグメント302及び303は互いに向かい合っていると考えられる。各輪郭のセグメントは二つの隣り合う特徴点間のセグメントとして定義される。例えば、図4(B)において、ストローク31は、3つの輪郭セグメント301、302、及び303を含んでいる。二つの輪郭のセグメントが互いに向かい合っているか否かは、適当な画像処理技術を用いて自動的に判定されるか、又は、フォントデザイナーによってマニュアル若しくは半自動で判定してもよい。
【0035】
図13(A)及び(B)は図1(A)及び(B)に示すものと同じ文字10を表しているが、上述の本発明に係る方法によって処理され、レンダリングされたものである。特に、図13(A)に示すように、図1(A)の文字10を構成する様々なストロークのキーポイントや幅値が調整されたものである。そして、(キーポイントと幅値の調整によって)再定義されたフォントデータが、所定のレンダリング基準によって、図13(B)に示すようにレンダリングされる。例えば、図13(B)において、ピクセルカバー率が50%を超えるピクセルは塗りつぶされ、二つの互いに向かい合った輪郭セグメントを含むピクセルも塗りつぶされている。図13(A)における具体例として、ピクセル125は互いに向かい合うストローク18の二つの輪郭セグメントを含んでいる。このように、ピクセル125のカバー率がたとえ所定値(例えば50%)よりも小さかったとしても、ピクセル125は図13(B)に示す通り、依然として塗りつぶされている。
【0036】
さらに、図6を参照すると、最後には、フォントデザイナーが、各文字が正しくレンダリングされたことを、例えば、互いにくっついているストロークがないことを検証することによって、視覚的に確認する。もし、フォントデザイナーが満足すれば、フォントデータはセーブされ、低解像度スクリーンの為のフォント文字の生成(又は再定義)の方法は終了する。一方、フォントデザイナーが満足しなければ、図6のステップS54に戻り、フォントデザイナーが、満足されない文字を構成しているストロークのキーポイント及び/又は幅値をマニュアルで調整することによって、満足されない文字が再定義される。このプロセスは、フォントデザイナーがすべての文字セットのレンダリング結果の見栄えに満足するまで繰り返される。
【0037】
本発明の他の局面では、低解像度スクリーンに表示したときに互いにくっついてしまうようなストローク同士の間に確実に間隙を設ける方法を提供する。低解像度でのレンダリングを行うと、文字中のストローク(特に、平行なストローク)は重なったりくっついたりしてしまい、表示された結果の文字イメージは識別不能になる。例えば、図14(A)の二つのストローク131a及び132aは、レンダリングされると、図14(B)の131b及び132bになるが、それらは互いにくっついてしまい、単一のストローク133として表現される。本発明に係る方法の一実施例によればストロークの間に必要なスペースを設けるために、一又はそれ以上のピクセルを特に塗りつぶさないようにする。ストロークの間にスペースを設けるこの方法は、上述のように、キーポイントと幅値を調整することによってフォントデータを定義/再定義する方法とは別に、あるいはそれと一緒に用いられる。
【0038】
図15は低解像度スクリーンに表示された文字に適切なスペースを与える方法の一例を示すフローチャートである。まず、ステップS140においては、くっついたストロークを検出する。これはフォントデザイナーによる視覚検査に基づいてマニュアルで為されるか、適当な画像解析技術によって自動又は半自動で行われる。もし、くっついたストロークが検出された場合(ステップS141でYESの場合)、ステップS142において、くっついたストロークが解析され、横型ストロークか、縦型ストロークか、又はそのどちらでもないものか(横型にも縦型にも分類できない、例えば斜めのストローク)が判定される。もし、そのストロークが横型又は縦型であれば(YESの場合)、ステップS143において、文字の別の部分がくっついてしまうこと無しに、そのストロークを互いに離すために動かすのに十分なスペースがあるか否かについて判定される。くっついた平行なストロークに適切なスペースを与えるためには、少なくとも一つのピクセルアレイが必要である。もし、そのようなスペースを設けることが可能であり、かつ、くっついたストロークが横型であれば、ステップS144において、スペースを与えるために隣のピクセルの横の中心線上に、キーポイントが垂直方向に移動される。もし、くっついたストロークが縦型であれば、ステップS145において、隣のピクセルの縦の中心線上に、キーポイントが水平方向に移動される。図16(A)は図14(A)の文字130に対応した修正された文字130’を示している。図16(A)に示された例において、ストローク131aのキーポイント134は、ピクセル135の水平の中心線の上に垂直方向に移動され、その結果、ストローク131aは上方に移動するので、ストローク132aとの間にスペース(1行分のピクセルアレイ)ができる。図16(B)は、平行なストローク131bと132bとの間に適当なスペースが設けられた、低解像度スクリーン上に表示された文字130’を示している。
【0039】
くっついたストロークが横型でも縦型でもない場合は(ステップS142でNOの場合)、ステップS146において、くっついたピクセルの中の各ピクセルが2個以上のストロークで占められているかどうかを判定するために解析される。もし、2個以上のピクセルで占められていれば、ステップS147に移行し、その2以上のストロークが結合型ストローク(図5参照)かどうか、すなわち、各ストロークのキーポイントがすべて同じピクセル内にあるかどうかが判定される。もし、それらのストロークが結合型ストロークであれば、ステップS148に移行し、何もせずに結合型ストロークのキーポイントは同じピクセル内にそのまま維持される。一方、それらのストロークが結合型ストロークでない場合は、ステップS149に移行し、そのピクセルで最も大きな面積を占めているストロークのキーポイントが隣のピクセルの中心線上に移動される。例えば、図13(A)において、ピクセル120は3つのストローク、121、122、及び123で覆われている。これらのストロークは結合型ストロークではないので、ピクセル120の中で最も大きな面積を占めるストローク122のキーポイントは、図17(A)に示すように、隣のピクセル124の(水平の)中心線上に移動される。ここで、図13(A)において、ピクセル120の隣のピクセルは、辺を接して4個あるが、ストローク122のキーポイントが移動される先のピクセル(この場合はピクセル124であるが)がどのようにして決定されるのかが問題となる。ピクセル120の4つの辺のうち、ストローク122によって覆われている部分の長さが最も大きい辺(この場合は、ピクセル120の上下左右の4つの辺のうち、下側の辺になる。)に接するピクセル124が選択されることになる。図17(A)に示すように、ピクセル120は、そのピクセルカバー率が所定の値(例えば50%)を超えておらず、かつ、互いに向かい合った二つの輪郭セグメントも含んでいないので、塗りつぶされていない。このようにして、図17(B)に示すように、ピクセル120には適切なスペースが与えられ、文字が識別できるようにレンダリングされる。
【0040】
もし、図15のステップS146において、ピクセルが2以上のストロークによって覆われていないと(つまり、単一のストロークであることが)判定されたら、ステップS150において、そのピクセルが互いに向かい合った輪郭セグメントを含んでいるかどうかが判定される。もし、含んでいると判定されると、ステップS151において、そのストロークのキーポイントが存在するピクセルの中心線上に、そのキーポイントを移動させ、輪郭セグメントの一方を(二つの輪郭セグメントが存在していた)ピクセルの外に移動させる。
【0041】
例えば、図13(A)において、ピクセル126は互いに向かい合うストローク13の二つの輪郭セグメントを含んでいる。そのような場合、ピクセル127内にあるストローク13のキーポイントは、ピクセル127の中心線上に移動され、ストローク13の輪郭セグメントの一つ(左側のセグメント)はピクセル126の外に移動する。従って、図17(A)に示すように、ピクセル126はもはやお互いに向かい合った二つの輪郭セグメントを含まなくなり、(ピクセル126のカバー率が閾値、例えば50%を越えないと仮定して)、ピクセル126は塗りつぶされない。この結果として、図17(A)に示すように、ピクセル126(ピクセル128も同様)において文字に対して適切なスペースが与えられ、従来技術(図1(B))及び適切なスペースを与える所定の方法を使用しない先の実施例(図13(B))と比較して、低解像度スクリーンに文字全体をより認識可能(図17(B))に表示できるようになる。図17(B)において、ピクセル120、126、及び128が空白になっているため、文字イメージは元の漢字をはっきりと表している。このようにしてすべてのストロークについて必要な調整が終わり、フォントデータの再定義が終わると、それらのデータはコンピュータに記憶される(ステップS152)。
【0042】
図18は、図2に示す5つの漢字と同じものであるが、本発明に係る方法を用いて修正されて、低解像度ディスプレイに表示されたものを示している。特に、フォントデータは調整されたキーポイントと幅値を用いて修正される(図6参照)とともに、適切なスペースを付与され(図15)、検出されたピクセルカバー率と所定のレンダリング基準に従ってレンダリングされる。
【0043】
低解像度スクリーンは限られた数のピクセルしか持っていないので、場合によっては、一又はそれ以上のくっついたストロークを移動するためのスペースがとれないことさえある(図15のステップS143におけるNOの場合である。)。かかる場合に、図15のステップS153で、その文字を簡略化した書体に再定義するようにフォントデザイナーに促す。図19(A)は、横型ストロークを6つ(182a〜187a)も含んでいる文字180を示している。図19(B)は低解像度スクリーンにレンダリングされた文字180を示しており、6つの横型ストロークがくっついてしまって、4つになってしまっている。具体的には、ストローク182bと183b、184bと185bがそれぞれくっついている。しかしながら、くっついたストロークのキーポイントのいずれも動かすことができない。なぜなら、限られた文字サイズ(この例では10×10ピクセル)では、動かすために使用可能なスペースがないからである。例えば、くっついてしまったストローク185bを下方向に移動させると、新たなくっついたストロークのセット(この例では、185bと186bを指す。)ができてしまうからである。
【0044】
かかる場合、フォントデザイナーは同じ文字の簡略化した書体に置き換える。図20(A)及び(B)は、図19(A)の文字180に対応した簡略化された文字190を示している。フォントデザイナーはそのような簡略化した文字を再定義し、記憶させる。
【0045】
本発明に係る様々な方法がグラフィカルユーザインタフェース(GUI)やCADツールを用いて実行される。例えば、Windows(登録商標)のOS用のGUIツールは使用可能である。尤も、GUIツールは様々なほかのOSでも実行可能なのだが。GUIツールで実行される方法の1以上のステップは、画像解析技術によって自動的に実行可能であることに注意されたい。
【0046】
以上、本発明の好ましい実施形態について図示し説明したが、本発明はこれに限定されるものではなく、特許請求の範囲に記載された発明の範囲を逸脱しない範囲で、様々な変更が可能である。
【特許請求の範囲】
【請求項1】
高解像度で予め定義された文字セットを、それよりも低い解像度スクリーンに表示するための文字セットを生成するためのコンピュータによる方法であって、前記文字のそれぞれが基本ストロークに基づくストロークを備え、前記基本ストロークのそれぞれがキーポイントと幅値によって定義されたものであり、さらに、前記方法は以下の(a)〜(d)のステップを含むことを特徴とするコンピュータによる方法。
(a)高解像度で予め定義された前記文字セットを受け取るステップ;
(b)前記受け取った前記文字セットを低解像度スクリーンに対応した2次元座標のピクセルマトリクススクリーン上に投影するステップ;
(c)前記受け取った文字セットを構成しているストロークを所定のルールに従って、前記ストロークのキーポイント及び/又は幅値を調整して再定義し、再定義された文字セットを生成するステップ;
(d)前記再定義された文字セットを、所定のレンダリング基準に基づいてレンダリングするステップ:
【請求項2】
前記文字セットを構成する各ストロークが、キーポイント、幅値、前記キーポイント及び幅値と所定の空間的な関係を有する特徴点、並びに前記特徴点間の曲線を定義する湾曲度によって定義されることを特徴とする、請求項1に記載のコンピュータによる方法。
【請求項3】
前記ステップ(c)が、前記ストロークのキーポイントをピクセルの中心線に移動させるステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
【請求項4】
前記ステップ(c)が、縦型ストロークのキーポイントを該キーポイントが存在するピクセルの縦の中心線上に移動させ、横型ストロークのキーポイントを該キーポイントが存在するピクセルの横の中心線上に移動させるステップを具備したことを特徴とする請求項3に記載のコンピュータによる方法。
【請求項5】
前記ストロークの曲線部分が1ピクセル以上を占有し、前記1以上の各ピクセルがカバー率を有するとともに、前記ステップ(c)が、前記曲線部分を制御する前記ストロークの前記キーポイントを、最も大きなカバー率を有するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項3に記載のコンピュータによる方法。
【請求項6】
前記ステップ(c)が、1ピクセルのサイズ以内に収まるように前記ストロークの幅値を減らすステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
【請求項7】
前記方法が、さらに次の(e)及び(f)のステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
(e)前記ステップ(b)の後で、互いにくっついた2以上のストロークを認識するステップ;及び
(f)前記くっついたストロークの間にスペースを設けるステップ:
【請求項8】
前記ステップ(f)が、互いにくっついている前記ストロークのうちの一方のストロークのキーポイントを、該キーポイントが元存在したピクセルに隣接するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項7に記載のコンピュータによる方法。
【請求項9】
一つのピクセルが2以上の独立型ストロークによって占有され、該2以上の独立型ストロークのそれぞれがカバー率を有するとともに、前記ステップ(f)が、最も大きなカバー率を有するストロークのキーポイントを、該キーポイントが元存在したピクセルに隣接するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項7に記載のコンピュータによる方法。
【請求項10】
一つのピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含み、前記ステップ(f)が、前記ストロークのキーポイントを、該キーポイントが元存在したピクセルの中心線上に移動させることにより、前記ピクセルに含まれていた輪郭セグメントの一方を前記ピクセルの外に出すステップを具備したことを特徴とする請求項7に記載のコンピュータによる方法。
【請求項11】
前記ステップ(d)が、次の(i)又は(ii)の場合に、前記ドットマトリクスのピクセルを黒く塗りつぶすステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
(i)前記ピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含む場合;又は、
(ii)そのピクセルが予め設定された閾値を超えるカバー率を有している場合;
【請求項12】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項1に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項13】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項7に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項14】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項11に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項15】
低解像度スクリーンに表示するための文字セットを生成するためのコンピュータグラフィカルユーザインタフェースツールであって、前記文字セットは予め高解像度で定義され、前記各文字は基本ストロークから成る1以上のストロークを備え、前記各基本ストロークはキーポイント及び幅値によって定義されたものであり、前記ツールは次の(a)〜(d)の手段を具備したことを特徴とするコンピュータグラフィカルユーザインタフェースツール。
(a)予め定義された前記文字セットを受け取る手段;
(b)前記定義された文字セットを低解像度スクリーンに対応した2次元座標のピクセルマトリクススクリーン上に投影する手段;
(c)前記文字セットを構成しているストロークを所定のルールに従って、前記ストロークのキーポイント及び/又は幅値を調整して再定義し、再定義された文字セットを生成する手段;及び
(d)前記再定義された文字セットを、所定のレンダリング基準に基づいてレンダリングする手段:
【請求項16】
前記手段(c)が、前記ストロークのキーポイントをピクセルの中心線に移動させることを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項17】
前記手段(c)が、1ピクセルのサイズ以内に収まるように前記ストロークの幅値を減らすことを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項18】
前記コンピュータグラフィカルユーザインタフェースツールが、さらに次の(e)及び(f)の手段を具備したことを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
(e)一つの文字の中で互いにくっついた2以上のストロークを認識する手段;
及び
(f)前記くっついたストロークの間にスペースを設ける手段:
【請求項19】
前記手段(f)がフォントデザイナーに通知して前記文字の簡略化バージョンの定義を促すことを特徴とする請求項18に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項20】
前記手段(d)が、次の(i)又は(ii)の場合に、前記ドットマトリクススクリーンのピクセルを黒く塗りつぶすことを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
(i)前記ピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含む場合;又は、
(ii)そのピクセルが予め設定された閾値を超えるカバー率を有している場合;
【請求項1】
高解像度で予め定義された文字セットを、それよりも低い解像度スクリーンに表示するための文字セットを生成するためのコンピュータによる方法であって、前記文字のそれぞれが基本ストロークに基づくストロークを備え、前記基本ストロークのそれぞれがキーポイントと幅値によって定義されたものであり、さらに、前記方法は以下の(a)〜(d)のステップを含むことを特徴とするコンピュータによる方法。
(a)高解像度で予め定義された前記文字セットを受け取るステップ;
(b)前記受け取った前記文字セットを低解像度スクリーンに対応した2次元座標のピクセルマトリクススクリーン上に投影するステップ;
(c)前記受け取った文字セットを構成しているストロークを所定のルールに従って、前記ストロークのキーポイント及び/又は幅値を調整して再定義し、再定義された文字セットを生成するステップ;
(d)前記再定義された文字セットを、所定のレンダリング基準に基づいてレンダリングするステップ:
【請求項2】
前記文字セットを構成する各ストロークが、キーポイント、幅値、前記キーポイント及び幅値と所定の空間的な関係を有する特徴点、並びに前記特徴点間の曲線を定義する湾曲度によって定義されることを特徴とする、請求項1に記載のコンピュータによる方法。
【請求項3】
前記ステップ(c)が、前記ストロークのキーポイントをピクセルの中心線に移動させるステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
【請求項4】
前記ステップ(c)が、縦型ストロークのキーポイントを該キーポイントが存在するピクセルの縦の中心線上に移動させ、横型ストロークのキーポイントを該キーポイントが存在するピクセルの横の中心線上に移動させるステップを具備したことを特徴とする請求項3に記載のコンピュータによる方法。
【請求項5】
前記ストロークの曲線部分が1ピクセル以上を占有し、前記1以上の各ピクセルがカバー率を有するとともに、前記ステップ(c)が、前記曲線部分を制御する前記ストロークの前記キーポイントを、最も大きなカバー率を有するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項3に記載のコンピュータによる方法。
【請求項6】
前記ステップ(c)が、1ピクセルのサイズ以内に収まるように前記ストロークの幅値を減らすステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
【請求項7】
前記方法が、さらに次の(e)及び(f)のステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
(e)前記ステップ(b)の後で、互いにくっついた2以上のストロークを認識するステップ;及び
(f)前記くっついたストロークの間にスペースを設けるステップ:
【請求項8】
前記ステップ(f)が、互いにくっついている前記ストロークのうちの一方のストロークのキーポイントを、該キーポイントが元存在したピクセルに隣接するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項7に記載のコンピュータによる方法。
【請求項9】
一つのピクセルが2以上の独立型ストロークによって占有され、該2以上の独立型ストロークのそれぞれがカバー率を有するとともに、前記ステップ(f)が、最も大きなカバー率を有するストロークのキーポイントを、該キーポイントが元存在したピクセルに隣接するピクセルの中心線上に移動させるステップを具備したことを特徴とする請求項7に記載のコンピュータによる方法。
【請求項10】
一つのピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含み、前記ステップ(f)が、前記ストロークのキーポイントを、該キーポイントが元存在したピクセルの中心線上に移動させることにより、前記ピクセルに含まれていた輪郭セグメントの一方を前記ピクセルの外に出すステップを具備したことを特徴とする請求項7に記載のコンピュータによる方法。
【請求項11】
前記ステップ(d)が、次の(i)又は(ii)の場合に、前記ドットマトリクスのピクセルを黒く塗りつぶすステップを具備したことを特徴とする請求項1に記載のコンピュータによる方法。
(i)前記ピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含む場合;又は、
(ii)そのピクセルが予め設定された閾値を超えるカバー率を有している場合;
【請求項12】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項1に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項13】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項7に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項14】
コンピュータを制御するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに請求項11に記載の方法を実行させるためのコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項15】
低解像度スクリーンに表示するための文字セットを生成するためのコンピュータグラフィカルユーザインタフェースツールであって、前記文字セットは予め高解像度で定義され、前記各文字は基本ストロークから成る1以上のストロークを備え、前記各基本ストロークはキーポイント及び幅値によって定義されたものであり、前記ツールは次の(a)〜(d)の手段を具備したことを特徴とするコンピュータグラフィカルユーザインタフェースツール。
(a)予め定義された前記文字セットを受け取る手段;
(b)前記定義された文字セットを低解像度スクリーンに対応した2次元座標のピクセルマトリクススクリーン上に投影する手段;
(c)前記文字セットを構成しているストロークを所定のルールに従って、前記ストロークのキーポイント及び/又は幅値を調整して再定義し、再定義された文字セットを生成する手段;及び
(d)前記再定義された文字セットを、所定のレンダリング基準に基づいてレンダリングする手段:
【請求項16】
前記手段(c)が、前記ストロークのキーポイントをピクセルの中心線に移動させることを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項17】
前記手段(c)が、1ピクセルのサイズ以内に収まるように前記ストロークの幅値を減らすことを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項18】
前記コンピュータグラフィカルユーザインタフェースツールが、さらに次の(e)及び(f)の手段を具備したことを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
(e)一つの文字の中で互いにくっついた2以上のストロークを認識する手段;
及び
(f)前記くっついたストロークの間にスペースを設ける手段:
【請求項19】
前記手段(f)がフォントデザイナーに通知して前記文字の簡略化バージョンの定義を促すことを特徴とする請求項18に記載のコンピュータグラフィカルユーザインタフェースツール。
【請求項20】
前記手段(d)が、次の(i)又は(ii)の場合に、前記ドットマトリクススクリーンのピクセルを黒く塗りつぶすことを特徴とする請求項15に記載のコンピュータグラフィカルユーザインタフェースツール。
(i)前記ピクセルが、一つのストロークの互いに向かい合った輪郭セグメントを含む場合;又は、
(ii)そのピクセルが予め設定された閾値を超えるカバー率を有している場合;
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2013−61660(P2013−61660A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2012−238596(P2012−238596)
【出願日】平成24年10月30日(2012.10.30)
【分割の表示】特願2009−4580(P2009−4580)の分割
【原出願日】平成21年1月13日(2009.1.13)
【出願人】(503186320)威鋒數位開發股▲ふん▼有限公司 (9)
【Fターム(参考)】
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願日】平成24年10月30日(2012.10.30)
【分割の表示】特願2009−4580(P2009−4580)の分割
【原出願日】平成21年1月13日(2009.1.13)
【出願人】(503186320)威鋒數位開發股▲ふん▼有限公司 (9)
【Fターム(参考)】
[ Back to top ]