(57)【特許請求の範囲】
【請求項１】
それぞれのピクセルが異なる色の複数のピクセルサブコンポーネントを有する複数のピクセルを有する表示装置を有するコンピュータシステムにおいて、前記表示装置上での画像のラスタ化に備えて前記ピクセルおよびピクセルサブコンポーネントによって規定されたグリッドに画像データを合わせる方法であって、
複数の制御点を有する所定の輪郭からなる画像データを用いて、該画像データの選択された制御点を、前記ピクセルおよびピクセルサブコンポーネントによって規定されたグリッド上の場所に配置するステップであって、前記画像データの前記選択された制御点の所定の前記場所が、前記ピクセルサブコンポーネント間の境界と一致しないステップと、
ここで、前記画像データは文字を表し、前記グリッド上の場所に配置するステップは、調整されるべき前記制御点によって規定されたグリフの特徴部分を特定するために前記文字のトポロジーを分析するステップを含み、
１つ又は複数の前記制御点によって規定されたグリフの特徴部分が、ピクセルサブコンポーネント間の選択された境界と一致するグリッド上の場所に合わされるように前記画像データをヒンティングするステップであって、前記ピクセルサブコンポーネント間の選択された境界は、他のピクセルサブコンポーネント間の境界に比べてハイコントラストな境界として指定されるステップと、
前記ヒンティングされた画像データを使用して前記表示装置上に前記画像を表示するステップであって、前記グリフの特徴部分が前記ハイコントラストな境界に表示されるステップと
を具えたことを特徴とする方法。
【請求項２】
前記グリフの特徴部分は、前記画像データによって表される文字のステムであることを特徴とする請求項１記載の方法。
【請求項３】
前記画像データをヒンティングするステップは、前記ステムの左エッジが前記ハイコントラストな境界に位置合わせされるように実行されることを特徴とする請求項２記載の方法。
【請求項４】
前記グリフの特徴部分は、前記画像データによって表される文字の横セグメントであることを特徴とする請求項１記載の方法。
【請求項５】
前記画像データをヒンティングするステップは、
前記画像データのグリフの特徴部分を規定する１つ又は複数の制御点がグリッド点に対応するように、前記画像データを、前記表示装置の前記ピクセルとピクセルサブコンポーネント上のグリッドの前記グリッド点にグリッド合わせするステップと、
前記グリフの特徴部分が前記ハイコントラストな境界と一致するように前記グリフの特徴部分を位相調整するステップと、
前記画像データの残りの制御点の前記グリッド上の場所が特定されるように、前記画像データを内挿するステップと
を具えたことを特徴とする請求項１記載の方法。
【請求項６】
前記グリフの特徴部分は、文字の１つ又は複数の縦ステムであることを特徴とする請求項５記載の方法。
【請求項７】
前記グリフの特徴部分は、文字の１つ又は複数の横セグメントであることを特徴とする請求項５記載の方法。
【請求項８】
前記画像データは、前記表示装置上に表示されるべき文字を表し、
前記グリフの特徴部分を特定するために実行時に前記文字のトポロジーを分析するステップをさらに具えたことを特徴とする請求項５記載の方法。
【請求項９】
前記位相調整のステップは、
前記画像データに関連つけられたヒンティング命令を、前記グリフの特徴部分を示すパターンに関して分析するステップと、
前記ヒンティング命令から有向非環式グラフを導くステップと、
ここで、前記グリフの特徴部分の前記トポロジーの少なくとも一部は、前記有向非環式グラフの１つ又は複数のノードによって規定され、
前記有向非環式グラフのトラバースに基づいて、前記グリフの特徴部分の前記場所を特定し、前記グリフの特徴部分を前記ハイコントラストな境界に再配置するステップと
をさらに具えたことを特徴とする請求項５記載の方法。
【請求項１０】
前記有向非環式グラフをトラバースするステップと、
前記グリッド上に再配置されるべき前記画像データの点に対応するノードを特定するステップと、
前記特定されたノードに対応する点の再配置によって発生したエラーを表すステップと
をさらに具えたことを特徴とする請求項９記載の方法。
【請求項１１】
前記ヒンティング命令を分析するステップは、前記グリフの特徴部分に関連付けられた指定された少なくとも黒、白の色を有する選択された間隔のパターンを検索するステップをさらに具え、
前記黒は前記画像データの内部の色であり、前記白は前記画像データの外部の色であることを特徴とする請求項９記載の方法。
【請求項１２】
前記選択されたパターンは、前記白の間隔で囲まれた前記黒の間隔であることを特徴とする請求項１１記載の方法。
【請求項１３】
前記選択されたパターンは、前記黒でない間隔で囲まれた前記黒の間隔であることを特徴とする請求項１１記載の方法。
【請求項１４】
前記ハイコントラストな境界は、青のピクセルサブコンポーネントと緑のピクセルサブコンポーネントの間にあり、
前記青のピクセルサブコンポーネントは、前記画像データによって規定された文字内部にあり、
前記緑のピクセルサブコンポーネントは、前記文字の外にあることを特徴とする請求項５記載の方法。
【請求項１５】
前記ハイコントラストな境界は、赤のピクセルサブコンポーネントと緑のピクセルサブコンポーネントの間にあり、
前記赤のピクセルサブコンポーネントは、前記画像データによって規定された文字の外にあり、
前記緑のピクセルサブコンポーネントは、前記文字の内部にあることを特徴とする請求項５記載の方法。
【請求項１６】
前記画像データのサンプルをピクセルにマッピングするのではなく、前記画像データの１つ又は複数のサンプルの異なる複数のピクセルサブコンポーネントからなるセットを前記ピクセルの個々のピクセルサブコンポーネントにマッピングするステップをさらに具えたことを特徴とする請求項５記載の方法。
【請求項１７】
前記画像データは、文字に関連付けられ、
前記画像データをヒンティングするステップは、
前記文字に関連付けられた前記画像データを分析するステップと、
ここで、前記画像データは、制御点を使用して前記文字の輪郭を規定し、主要制御点間の間隔を規定し、かつ前記主要制御点の親／子関係を規定し、
前記表示装置上のピクセルサブコンポーネントの前記ハイコントラストな境界上に配置されるべき前記文字のグリフの特徴部分を示す前記文字の所定部分の間隔を特定するステップと、
ここで、前記特定された間隔が前記主要制御点の少なくともいくつかに関連付けられ、
前記文字の前記特定された主要制御点を、前記表示装置上のピクセルサブコンポーネントの前記ハイコントラストな境界に対応する前記グリッド上のグリッド点に配置するステップと
を具えたことを特徴とする請求項１記載の方法。
【請求項１８】
前記間隔は、前記文字の前記輪郭の内部にある黒の間隔と、前記文字の前記輪郭の外にある白の間隔と、前記黒と前記白の間隔の組み合わせであるグレイの間隔とを含むことを特徴とする請求項１７記載の方法。
【請求項１９】
前記間隔は、前記主要制御点の少なくともいくつかによって特定されるステム幅を規定することを特徴とする請求項１７記載の方法。
【請求項２０】
前記配置するステップは、前記文字のステムを配置することを特徴とする請求項１９記載の方法。
【請求項２１】
前記ハイコントラストな境界は、青のピクセルサブコンポーネントと緑のピクセルサブコンポーネントの間にあり、
前記青のピクセルサブコンポーネントは、前記文字の内部にあり、
前記緑のピクセルサブコンポーネントは、前記文字の外にあることを特徴とする請求項１７記載の方法。
【請求項２２】
前記ハイコントラストな境界は、赤のピクセルサブコンポーネントと緑のピクセルサブコンポーネントの間にあり、
前記赤のピクセルサブコンポーネントは、前記文字の外にあり、
前記緑のピクセルサブコンポーネントは、前記文字の内部にあることを特徴とする請求項１７記載の方法。
【請求項２３】
前記配置するステップは、前記文字の左のエッジを前記境界上に配置することを特徴とする請求項１７記載の方法。
【請求項２４】
前記画像データをヒンティングするステップは、
前記画像データから選択された主要制御点を表す親／子階層を導くステップと、
グリフの特徴部分を示すパターンに関して前記画像データを調べるステップと、
ここで、前記パターンは前記主要制御点によって特定され、前記階層の各ノードは前記グリフの特徴部分の１つに関連付けられ、
前記階層を表すデータ構造をトラバースする間に、１つ又は複数の選択されたグリフの特徴部分を位相調整するステップと
を具え、
ここで、該位相調整は、前記ピクセルサブコンポーネント間の前記ハイコントラストな境界に対応する前記グリッドのグリッド点上に、前記選択されたグリフの特徴部分に関連付けられた前記主要制御点を配置することによって行い、前記ハイコントラストな境界はピクセル間の境界ではないことを特徴とする請求項１記載の方法。
【請求項２５】
連続して規定されたグリフの特徴部分が位相調整される際に、該グリフの特徴部分の位相調整から発生したエラーを表すステップをさらに具えたことを特徴とする請求項２４記載の方法。
【請求項２６】
前記エラーは、前記グリフの特徴部分の移動を表すことを特徴とする請求項２５記載の方法。
【請求項２７】
同じ色のピクセルサブコンポーネントの縦ストライプを形成するように、前記ピクセルの、前記ピクセルサブコンポーネントは前記表示装置上に配置され、
前記１つ又は複数の選択されたグリフの特徴部分は前記文字の縦ステムを含むことを特徴とする請求項２４記載の方法。
【請求項２８】
同じ色のピクセルサブコンポーネントの横ストライプを形成するように、前記ピクセルの、前記ピクセルサブコンポーネントは前記表示装置上に配置され、
前記１つ又は複数の選択されたグリフの特徴部分は前記文字の横セグメントを含むことを特徴とする請求項２４記載の方法。
【請求項２９】
前記パターンは交互の黒と白の間隔を含み、
前記黒の間隔が前記文字の内部にある範囲を含み、
前記白の間隔が前記文字の外にある範囲を含むことを特徴とする請求項２４記載の方法。
【請求項３０】
前記画像データが文字を表しており、
前記画像データに関連付けられている前記文字の所定部分の間隔を調べることによって前記画像データの選択された点を特定するステップと、
前記調べた間隔に基づいて、前記選択された点を位相調整されるべき前記グリフの特徴部分を規定するものと認知するステップと
をさらに具えたことを特徴とする請求項１記載の方法。
【請求項３１】
前記ピクセルサブコンポーネントは、同じ色のピクセルサブコンポーネントの縦ストライプを形成するために前記表示装置上に配置され、
前記グリフの特徴部分は、前記縦ストライプの方向に平行な文字のステムであることを特徴とする請求項１記載の方法。
【請求項３２】
前記表示装置上に前記画像を表示するステップは、前記ピクセルの、前記ピクセルサブコンポーネントのそれぞれに、特定のピクセルサブコンポーネントにマッピングされた１つ又は複数のサンプルの前記異なる複数のピクセルサブコンポーネントからなるセットから生成された光度値を適用することによって、前記ピクセルの、前記ピクセルサブコンポーネントを別個に制御するステップ
をさらに具えたことを特徴とする請求項１記載の方法。
【請求項３３】
コンピュータにより、請求項１ないし３２のいずれかに記載の方法を実行することが可能な命令を有するコンピュータプログラム。
【請求項３４】
請求項３３記載のコンピュータプログラムを有するコンピュータ読取り可能な記録媒体。
【請求項３５】
それぞれのピクセルが異なる色の複数のピクセルサブコンポーネントを有する複数のピクセルを有する表示装置を有するコンピュータシステムにおいて、前記表示装置上での画像のラスタ化に備えて前記ピクセルおよびピクセルサブコンポーネントによって規定されたグリッドに画像データを合わせる装置であって、
プロセッサと、
コンピュータ実行可能命令を有するメモリと
を具え、前記プロセッサにより処理される前記コンピュータ実行可能命令は、
複数の制御点を有する所定の輪郭からなる画像データを用いて、該画像データの選択された制御点を、前記ピクセルおよびピクセルサブコンポーネントによって規定されたグリッド上の場所に配置することであって、前記画像データの前記選択された制御点の所定の前記場所が、前記ピクセルサブコンポーネント間の境界と一致しないことと、
ここで、前記画像データは文字を表し、前記グリッド上の場所に配置することは、調整されるべき前記制御点によって規定されたグリフの特徴部分を特定するために前記文字のトポロジーを分析することを含み、
１つ又は複数の前記制御点によって規定されたグリフの特徴部分が、ピクセルサブコンポーネント間の選択された境界と一致するグリッド上の場所に合わされるように前記画像データをヒンティングすることであって、前記ピクセルサブコンポーネント間の選択された境界は、他のピクセルサブコンポーネント間の境界に比べてハイコントラストな境界として指定されることと、
前記ヒンティングされた画像データを使用して前記表示装置上に前記画像を表示することであって、前記グリフの特徴部分が前記ハイコントラストな境界に表示されることと
を実行することを特徴とする装置。
【請求項３６】
前記画像データをヒンティングすることは、
前記画像データのグリフの特徴部分を規定する１つ又は複数の制御点がグリッド点に対応するように、前記画像データを、前記表示装置の前記ピクセルとピクセルサブコンポーネント上のグリッドの前記グリッド点にグリッド合わせすることと、
前記グリフの特徴部分が前記ハイコントラストな境界と一致するように前記グリフの特徴部分を位相調整することと、
前記画像データの残りの制御点の前記グリッド上の場所が特定されるように、前記画像データを内挿することと
を含むことを特徴とする請求項３５記載の装置。
【発明の詳細な説明】
【０００１】
（発明の背景）
１．発明の分野
本発明は、表示装置上に画像を表示するシステムおよび方法に関する。より詳細には、本情報は、文字の選択されたエッジをハイコントラストなピクセルサブコンポーネントの境界に配置して、別個に制御可能なピクセルサブコンポーネントを有する表示装置上にテキスト文字を表示するシステムおよび方法に関する。
【０００２】
２．従来技術
多くの技術の、特にコンピュータの主な特徴は、エンドユーザとの視覚的な対話を必要とすることである。事実、多くのアプリケーションによって表示されるデータおよび情報は、特に、視覚的に心地よく美的な外観を有するように設計されている。例えばワードプロセッサは、通常、画面に用紙の図形を表示させることによって実際の用紙をエミュレートすることを試みる。ワードプロセッサが文書を作成する場合、テキストおよび画像は、物理的にレンダリングされたときに表示されるように図形の用紙上に配置される。エンドユーザと表示装置の視覚的な対話は、したがって、多くの技術になくてはならない部分である。
【０００３】
エンドユーザとの視覚的な対話の重要な特徴は、色を表示する機能である。通常の表示装置は、多数のピクセルを有する画面を有し、各ピクセルは、一般に、赤、緑、および青のサブピクセルを有する。ピクセルは比較的小さいので、人間の目で識別される色は各ピクセルの赤、緑、および青の光の混合である。赤、緑、および青の光の強度を変更することによって、表示装置は、潜在的に数百万の異なる色を表示することができる。
【０００４】
色を表示するために使用される１つの一般的な表示装置は、陰極線管（ＣＲＴ）表示装置である。ＣＲＴディスプレイのピクセルは、各ピクセルを電子ビームによって励起されたときに光を発する３つの蛍光体から構成して、特定の幾何学的配置で構成されている。ＣＲＴ表示装置の場合、蛍光体に割り当てられた光度値は共に計算され、１つのピクセル中の３つの蛍光体は共に制御されて、選択された色調、輝度、彩度を有するようにユーザによって認知される色をピクセルで生成する。
【０００５】
一般的にポータブルコンピュータに使用される別の一般的な表示装置は、液晶ディスプレイ（ＬＣＤ）である。ＬＣＤディスプレイは、主として、一般に、同等のサイズのＣＲＴディスプレイよりも小型、軽量、省電力なので、多くの場合、ＣＲＴディスプレイよりも好ましい。電源を電池に依存するコンピュータでは、これは大きな利点である。ＬＣＤディスプレイの技術は、鮮明さと解像度の点でＣＲＴディスプレイに匹敵することを可能にする。
【０００６】
しかしＣＲＴとＬＣＤディスプレイの間にはいくつかの違いが存在する。ＬＣＤ表示装置のピクセルは、ＣＲＴ表示装置とは異なり、別個にアドレス指定が可能であり本質的に別個に制御可能な複数のピクセルサブコンポーネント（通常は３つ）から構成されている。さらに、ＬＣＤディスプレイのピクセルは、通常、同じ色のピクセルサブコンポーネントの横のストライプと縦のストライプを形成するように配列されており、ＣＲＴディスプレイの１つのピクセルの蛍光体の幾何学的配置は三角形であることがよくある。ポータブルコンピュータで使用される大部分のＬＣＤ表示装置では、ピクセルサブコンポーネントは縦に配列されており、これは同じ色のピクセルサブコンポーネントの赤、緑、および青の縦のストライプを生じる。他のＬＣＤ表示装置は、同じ色のピクセルサブコンポーネントの赤、緑、および青の横ストライプを形成するように配列されたピクセルサブコンポーネントを有する。他の幾何学的配置を使用することもできるが、縦配列と横配列が最も一般的である。
【０００７】
ＬＣＤディスプレイ又は他のディスプレイが高解像度を実現する機能は、ＬＣＤディスプレイのピクセルのサイズと量に一部には依存しており、多くの場合、ＬＣＤディスプレイの解像度は、テキスト文字をＬＣＤディスプレイ上に滑らかに描いたりレンダリングしたりするには不十分である。ＬＣＤディスプレイの限られた解像度は、テキスト又は画像データがＬＣＤ又は他のディスプレイ上にレンダリングされる際にユーザに大きな視覚的影響を及ぼす場合がある。
【０００８】
特にテキスト文字又はフォントは独自の問題を提示する。技術は、フォントを高解像度でコンピュータに記憶させ、高解像度の文字が低解像度又は粗い表示装置上にレンダリングされると、その文字をその表示装置のピクセルグリッドに適応させることを可能にする。これは文字に関する情報の消失を招き、その文字の形状をしばしば損なうが、これはタイポグラファーの意図に反することである。
【０００９】
より具体的には、文字が低解像度の表示装置又はピクセルグリッドにレンダリングされる場合、その文字の特定の部分は、電子的に記憶される際に、ピクセルの境界上に正確に当たらない場合がある。したがってその文字の形状は、そのピクセルグリッドのピクセルの境界に合うように強制的に変更される。その文字への最終的な影響は、その文字が特定の方向又はステムに移動する可能性があり、セリフ又は文字の他の特性が、元々タイポグラファーがデザインしたよりも若干、濃くなったり薄くなったりする場合がある。
【００１０】
テキスト文字を表示装置上に表示させる従来のテキストレンダリングのプロセスは、単色を表示し、画像の単一部分を表すように共に制御される３つの蛍光体を有するピクセルのＣＲＴモデルに合わせて元々設計されたものである。多数のポータブルパーソナルコンピュータの出現により、ＣＲＴ表示装置用に設計された既存のテキストレンダリングプロセスは、単にＬＣＤ表示装置に直接的に適用された。このような従来のテキストレンダリングプロセスは、ＬＣＤ表示装置に適用されると、画像の単一部分を表すために各ピクセルを使用し、別個にアドレス指定可能なピクセルサブコンポーネントの性質は利用しない。
【００１１】
上記の観点から、当技術分野には、テキストの解像度を改善することのできるＬＣＤ表示装置上にテキストをレンダリングする技術が求められている。テキストの判読率を強化し、以前はＬＣＤ表示装置の全ピクセルの境界に文字のエッジを再配置することによって生じた文字の歪みを低減することのできるシステムおよび方法を提供することが望ましい。
【００１２】
（発明の概要）
本発明は、ＬＣＤ表示装置、又は別個に制御可能なピクセルサブコンポーネントを伴うピクセルを有する他の表示装置上にテキスト又は他の画像をレンダリングするシステムおよび方法に関する。本発明によれば、個々のピクセルサブコンポーネントは、単一部分を表すピクセル全体ではなく、テキスト文字又は別の画像の異なる部分を表す。これは、画像データの１つ又は複数のサンプルの空間的に異なるセットを個々のピクセルサブコンポーネントにマッピングすることによって達成される。ピクセルサブコンポーネントは別個にアドレス指定可能であり、制御可能であるので、本発明によって動作するＬＣＤ表示装置は、従来のレンダリングプロセスによって生成される解像度と比較して、改善された解像度で画像をレンダリングする。
【００１３】
本発明の原理はいかなる画像をレンダリングするためにも使用することができるが、本発明は本明細書では主としてテキスト文字の状況下で記載する。本発明の一部として、文字データは、文字の選択されたエッジがピクセルサブコンポーネント間のハイコントラストな境界に当たるようにグリッドにヒンティング又は適合され、それによってテキストの外観と判読率がさらに向上する。したがって、サブピクセルの解像度によって表示された文字の部分だけでなく、文字の選択されたエッジも、普通ならば発生するはずの色の縁取りエラー又は作用を低減するように配置される。
【００１４】
本発明のヒンティングするプロセスは、ピクセルサブコンポーネント間のハイコントラストの境界に再配置されるべき文字のエッジを特定するように、実行時に文字の輪郭のトポロジーを分析することを必要とする。本発明は、文字のトポロジーの直接かつ完全な分析に拡張するが、ハイコントラストな境界に適合されるべき文字の制御点と、それら制御点間の間隔とを特定するために、フォントファイルの文字定義部分を分析することは、計算上はしばしばさらに有効である。
【００１５】
本発明のさらなる利点を以下で述べるが、一部はそれら記述から明らかになろうし、また、本発明を実施することによって知ることができる。本発明の利点は、頭記の特許請求の範囲で特に指摘する機器および組み合わせによって理解し、また獲得することができる。本発明のこれらおよび他の特性は、以下の記述と特許請求の範囲からさらに完全に明らかになるか、又は以下に記載する本発明の実施によって知ることができよう。
【００１６】
本発明の上記又は他の利点が得られる方式の順番で、上記で簡単に記載した本発明のさらに具体的な説明を、添付の図面に示すその特定の実施形態を参照して提供する。これらの図面は本発明の典型的な実施形態のみを示すものであり、したがって、本発明の範囲を限定するものとみなされるべきではないということを理解して、次に、本発明を、添付の図面を使用してさらに具体的かつ詳細に記載し説明する。
【００１７】
（好ましい実施形態の詳細な説明）
表示装置の画面上のテキストなどの情報を表示することに関連する主要な問題点の１つは、表示装置が、表示されるべき情報の解像度よりも相当に低い解像度を有する粗いピクセルグリッドを有することである。この食い違いの結果、レンダリング又はラスタ化のプロセスは、通常、表示中の情報を歪め、損なう。テキストの場合、表示装置のピクセルのグリッドに適合するように文字の形状が変更される。画面上のテキスト又は他の情報の視覚的外観および可読性は、一部はヒンティング又は指示するプロセスによって対処される。このプロセスは、ピクセル又はピクセルサブコンポーネントの境界に沿ってフォントの文字のグリフの特徴部分（タイポグラフィの特徴部分）を位置合わせすることによって、各文字の色、判読率、空間、ウェイト、位置合わせ、対称性、および実際のビットマップ形状などの可読性の問題に対処する。
【００１８】
白い背景に黒いテキスト又はこの他の組み合わせの場合、色は、画面上の黒と白のバランスを意味している。均等で一貫した色はより判読しやすいテキストを生じる。色は、濃いステムウェイトと薄いステムウェイトの間のコントラスト、文字内部の空間のサイズ、斜めのストロークの平滑度、および他の要因によって影響を受ける。均一な色は読み手の気を散らすことが少ない。ヒンティングは、表示される画像が均等な色に近づくように、表示装置上の白と黒のバランスを向上させる。
【００１９】
判読率は、特定の文字の識別可能性のことである。フォントとしばしば呼ばれることのある文字セットは、通常、１つ又は複数の輪郭によって表される複数のグリフ又は文字を含んでいる。低解像度および小さなフォントのサイズでは、文字を読みやすく表すことは困難であり、グリフ又は文字を表すビットマップ画像を変更することが必須となることがしばしばである。特に低解像度では、適切な空間も可読性に貢献している。不適切な空間は、通常、表示装置の低解像度のピクセルグリッドに対処するために文字の輪郭が通常は切り上げて丸めるか又は切り捨てて丸めることが原因で生じる。しかしテキストデータは、文字間および単語間の空間が読み手に一貫して見える場合はさらに読みやすい。
【００２０】
文字のウェイトとは、一般に、文字の濃さと文字のストロークのことである。例えば、ボールド体のフォントは、ボールド体でない同一のフォントよりもウェイトがある。ウェイトに関する難点の多くは、大文字と小文字との間で生じる。不均等なウェイト付けによって、大文字が目立ちすぎたり、テキストと表題の区別が不可能になったりする場合がある。
【００２１】
位置調整とは、文字の高さ又はピクセル高のことである。適切に位置調整されていないテキストは波状に表示されて読み手の気を散らすので、ピクセル高の違いがより顕著な場合は、特に小さいサイズでは文字は位置調整され続けるべきである。文字の対称性は、通常、斜めのストロークを有する文字の問題であるが、対称性は、丸い曲線を含めて別のタイプのストロークを有する文字の問題である。対称性の制御は、個々の文字の表示を改善させ、かつ、テキストの色を強化することができる。すなわち、フォント又は文字をヒンティングすることは、上記のようにフォントの可読性と表示とを強化する。
【００２２】
本発明を、本発明のシステムおよび方法を実施するために使用される実施形態の構造又は処理を示すために図面を使用して以下で説明する。本発明を提示するためにこのような方法で図面を使用することは、本発明の範囲を限定するものとみなされるべきではない。本発明は、ハイコントラストな境界に沿ってグリフの特徴部分の位置を自動的に最適化する方法およびシステムを包含する。
【００２３】
Ｉ．コンピューティング環境とハードウェア環境の例
本発明の実施形態は、以下でより詳細に議論するような、様々なコンピュータハードウェアを含めて、専用コンピュータ又は汎用コンピュータを含むことができる。
【００２４】
本発明の範囲内の実施形態は、コンピュータ実行可能命令又はデータ構造を搬送又は記憶するためのコンピュータ可読媒体も含む。このようなコンピュータ可読媒体は、汎用コンピュータ又は専用コンピュータによってアクセス可能ないかなる使用可能な媒体であってもよい。限定ではなく一例として、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、又は、コンピュータ実行可能命令又はデータ構造の形式で所望のプログラムコードを搬送又は記憶するために使用することができ、汎用コンピュータ又は専用コンピュータによってアクセス可能ないかなる他の媒体をも含むことができる。情報がネットワーク又は他の通信接続（有線、無線又は有線と無線の組み合わせのどれか）を介してコンピュータに転送又は提供される場合、そのコンピュータはその接続をコンピュータ可読媒体と適切にみなす。したがって、いかなるこのような接続でもコンピュータ可読媒体と適切に称される。上記の組み合わせもコンピュータ可読
媒体の範囲に含まれるべきである。コンピュータ実行可能命令は、例えば汎用コンピュータ、専用コンピュータ、又は専用処理デバイスに特定の機能又は一群の機能を実行させる命令およびデータを含んでいる。
【００２５】
図１および以下の議論は、本発明を実施することができる適切なコンピューティング環境の簡潔で一般的な説明を提供することを意図している。必須ではないが、本発明は、ネットワーク環境でコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な状況下で説明する。一般に、プログラムモジュールには、特定のタスクを実行するか又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。コンピュータ実行可能命令、関連するデータ構造、およびプログラムモジュールは、本明細書で開示する方法のステップを実行するプログラムコード手段の例を表している。このような実行可能命令又は関連するデータ構造の特定のシーケンスは、そのようなステップに記載されている機能を実施するための対応する動作の例を表している。
【００２６】
当業者ならば、本発明は、パーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの、又はプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含めて多くのタイプのコンピュータシステム構成を有するネットワークコンピューティング環境で実行することができるということを理解するだろう。本発明はまた、通信ネットワークを介してリンクされる（有線リンク、無線リンク、又は有線又は無線リンクの組み合わせのどれか）ローカルおよび遠隔処理デバイスによってタスクが実行される分散型コンピューティング環境でも実行することができる。分散型コンピューティング環境では、プログラムモジュールは、ローカルおよび遠隔記憶装置の両方に配置することができる。
【００２７】
図１を参照すると、本発明を実施するシステムの一例は、処理装置２１、システムメモリ２２、およびシステムメモリ２２を含む様々なシステム構成要素を処理装置２１に結合するシステムバス２３を含めて、従来型コンピュータ２０の形式の汎用コンピューティング装置を含む。システムバス２３は、メモリバス又はメモリコントローラ、周辺バス、および様々なバスアーキテクチャのどれかを使用するローカルバスを含めて複数タイプのバス構造のどれであってもよい。システムメモリは、読取専用メモリ（ＲＯＭ）２４とランダムアクセスメモリ（ＲＡＭ）２５を含む。コンピュータ２０の素子間で起動時などに情報を転送するために役立つ基本ルーチンを含む基本入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４に記憶することができる。
【００２８】
コンピュータ２０は、磁気ハードディスク３９に対して読み書きする磁気ハードディスクドライブ２７、取り外し可能磁気ディスク２９に対して読み書きする磁気ディスクドライブ２８、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ又は他の光学媒体などの取り外し可能光ディスク３１に対して読み書きする光ディスクドライブ３０も含むことができる。磁気ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、ハードディスクドライブインターフェース３２、磁気ディスクドライブインターフェース３３、および光学ドライブインターフェース３４を介してそれぞれにシステムバス２３に接続される。
ドライブとその関連付けられたコンピュータ可読媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュールおよびコンピュータ２０に対する他のデータの不揮発性記憶装置を提供する。本明細書に記載の環境例は磁気ハードディスク３９、取り外し可能磁気ディスク２９および取り外し可能光ディスク３１を使用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、Ｂｅｒｎｏｕｌｌｉカートリッジ、ＲＡＭ、ＲＯＭなどを含めてデータを記憶するための他のコンピュータ可読媒体を使用することもできる。
【００２９】
１つ又は複数のプログラムモジュールを含むプログラムコード手段は、オペレーティングシステム３５、１つ又は複数のアプリケーションプログラム３６、他のプログラムモジュール３７、およびプログラムデータ３８を含めて、ハードディスク３９、磁気ディスク２９、光ディスク３１、ＲＯＭ２４又はＲＡＭ２５に記憶することができる。ユーザは、キーボード４０、ポインティングデバイス４２、又はマイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどの他の入力デバイス（図示せず）を介してコンピュータ２０にコマンドおよび情報を入力することができる。これらおよび他の入力デバイスは、システムバス２３に結合されているシリアルポートインターフェース４６を介して処理装置２１に接続されることがしばしばある。
【００３０】
別法として、入力デバイスは、パラレルポート、ゲームポート又はユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続することができる。モニタ４７又は他の表示装置も、ビデオアダプタ４８などのインターフェースを介してシステムバス２３に接続される。モニタの他に、パーソナルコンピュータは、スピーカーおよびプリンタなどの他の周辺出力デバイス（図示せず）を一般に含む。
【００３１】
コンピュータ２０は、遠隔コンピュータ４９ａおよび４９ｂなどの１つ又は複数の遠隔コンピュータへの論理接続を使用してネットワーク接続環境で動作することができる。遠隔コンピュータ４９ａおよび４９ｂは、それぞれに別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス又は他の一般的なネットワークノードであってよく、通常は、上記でコンピュータ２０に関して記載した要素の多く又はすべてを含むが、図１には記憶装置５０ａおよび５０ｂとそれに関連したアプリケーションプログラム３６ａおよび３６ｂだけを示す。図１に示した論理接続は、限定ではなく例として本明細書に示したローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーク接続環境は、オフィス規模、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは通常のことである。
【００３２】
ＬＡＮネットワーク接続環境で使用される場合、コンピュータ２０はネットワークインターフェース又はアダプタ５３を介してローカルネットワーク５１に接続される。ＷＡＮネットワーク接続環境で使用される場合、コンピュータ２０は、モデム５４、無線リンク、又はインターネットなどのワイドエリアネットワーク５２を介して通信を確立する他の手段を含むことができる。内蔵であっても外付けであってもよいモデム５４は、シリアルポートインターフェース４６を介してシステムバス２３に接続される。ネットワーク接続環境では、コンピュータ２０に関して示したプログラムモジュール又はその一部は、遠隔記憶装置に記憶することができる。示したネットワーク接続は一例であり、ワイドエリアネットワーク５２を介して通信を確立する他の手段を使用することができることが理解されよう。
【００３３】
図２ａおよび２ｂは、本発明のヒンティングする操作を使用して処理された文字を表示するために使用することができるＬＣＤ表示装置の一例の物理的特性を示す。図２ａに示すＬＣＤ７０の一部は、複数の行Ｒ１−Ｒ１２と複数の列Ｃ１−Ｃ１６を含む。カラーＬＣＤは、本明細書ではそれぞれにピクセルおよびピクセルサブコンポーネントと称する、複数の別個にアドレス指定可能なエレメントおよびサブエレメントを使用する。ＬＣＤ７０の左上部をさらに詳細に示す図２ｂは、ピクセルとピクセルサブコンポーネントの関係を示している。
【００３４】
各ピクセルは、それぞれに赤（Ｒ）のサブコンポーネント７２、緑（Ｇ）のサブコンポーネント７４、および青（Ｂ）のサブコンポーネント７６として示される３つのピクセルサブコンポーネントを含む。ピクセルサブコンポーネントは非正方形であり、同じ色のピクセルサブコンポーネントの縦ストライプを形成するようにＬＣＤ７０上に配置される。ＲＧＢストライブは、通常、１方向に対してディスプレイの幅全体と高さ全体に走っている。大部分のポータブルコンピュータで現在使用されている一般的なＬＣＤ表示装置は、高さに比べて幅が広く、ＬＣＤ７０で示すように縦方向に走るＲＧＢストライプを有する傾向がある。高さに比べて幅の広いそのような装置の例は、６４０×４８０、８００×６００、１０２４×７６８などの列と行の比率を有する。ＬＣＤ表示装置は、同じ色のピクセルサブコンポーネントの横ストライプ、ジグザグパターン又は三角形パターンを含めて他のパターンでピクセルサブコンポーネントを配置して製造することもできる。さらに、一部のＬＣＤ表示装置は、３つのピクセルサブコンポーネント
ではなく複数のピクセルサブコンポーネントを有するピクセルを有する。本発明は、表示装置のピクセルが別個に制御可能なピクセルサブコンポーネントを有する限り、いかなるそのようなＬＣＤ表示装置又はフラットパネル表示装置と共にでも使用することができる。
【００３５】
ＲＧＢピクセルサブコンポーネントのセットはピクセルを構成する。したがって、本明細書で使用する「ピクセルサブコンポーネント」という用語は、ピクセルに含まれる別個に制御可能な複数のエレメントの１つのことである。図２ｂを参照すると、ピクセルサブコンポーネント７２、７４および７６のセットが単一ピクセルを形成する。すなわち、行Ｒ２と列Ｃ１の交差などの行と列の交差は１つのピクセル、すなわち（Ｒ２、Ｃ１）を表す。さらに、各ピクセルサブコンポーネント７２、７４および７６はピクセルの幅の３分の１又は約３分の１であり、高さではピクセルの高さに対して等価又は略等価である。したがって、３つのピクセルサブコンポーネント７２、７４、および７６は組み合わさって単一の略正方形のピクセルを形成する。このピクセル／サブコンポーネントの関係は、以下でさらに詳細に説明するように表示装置上にテキスト画像をレンダリングするために使用することができる。
【００３６】
ＩＩ．ヒンティングおよび他の画像処理操作
図３は、表示装置上でのテキストのラスタ化処理又はレンダリング処理を示すブロック図である。図３のレンダリング処理は、サブピクセルの精度を以ってＬＣＤ表示装置上に文字を表示することができる。すなわち、文字の特徴の範囲は、特に表示装置のストライプに垂直方向では、ピクセル全体の対応する範囲の整数倍には限定されない。その代わり、ピクセルの別個に制御可能な各ピクセルサブコンポーネントは、表示される文字の異なる部分を表す。
【００３７】
レンダリング処理の一部として、本発明の方法の実施形態は、ピクセルサブコンポーネント間のハイコントラストな境界に対応するグリッド上の場所にグリフの特徴部分（例えばステム）が合わされるように、画像データをヒンティングするステップを含む。以下でさらに記載するように、グリッドは、グリッド位置を表示装置のピクセルおよびピクセルサブコンポーネントによって規定させる。画像データをヒンティングするステップとそれに対応する動作を以下でさらに詳細に記載する。
【００３８】
図３の処理はテキスト出力１０１から開始するが、これは、ワードプロセッサなどのアプリケーションによって提供することができるか、又は文書を表す電子的データ構造であってよい。文字データ１０２は、通常、フォントファイルなどのデータストアに置かれており、一般に文字の特定のセットを記述する情報を含んでいる。
【００３９】
文字データ１０２は、例えば文字セットの各グリフの輪郭を含むことができる。輪郭は、直線又は曲線を使用した、文字セット又はフォントのグリフの形状の数学的記述である。さらに、各輪郭は、所望のタイプサイズおよび解像度にグリフを拡大縮小するために必須の複数の制御点を有する。一部の制御点は曲線部分の点であり、その他の制御点は曲線以外の部分の点である。例えば文字のエッジを規定するためには、１つ又は複数の曲線部分の制御点が選択される。同様に、一対の制御点は文字のステムの範囲を定めることができる。曲線部分の点は、ヒンティングするプロセスでグリッド適合され、曲線以外の部分の点は、内挿命令を使用して配置される。また、制御点はステム幅などの特定の範囲および間隔を示すために使用することができる。ヒンティングするプロセスでは、タッチされた点はヒンティング又はグリッド適合された点のことであり、タッチされていない点はヒンティング又はグリッド適合されていない点のことである。したがって、タッチされた点とタッチされていない点の両方は、曲線部分の点又は曲線以外の部分の点を意味することができる。「曲線部分の」および「曲線以外の部分の」という用語は文字の幾何学的配置を意味し、「タッチされた」および「タッチされていない」という用語は、通常、ヒンティング又はグリッド適合する戦略を意味する。
【００４０】
テキスト出力１０１および文字データ１０２は共同して画像データ１００を表し、これは拡大縮小モジュール１０４によって受け取られる。拡大縮小モジュール１０４は、ピクセルサブコンポーネントによって達成することができるそれ以上の高解像度を後続の処理操作が利用できるように、画像データ１００を拡大縮小する。ピクセルのグリッドは、例えば横のストライプ又は縦のストライプを有することができるので、拡大縮小は、通常、グリッドのストライプに垂直方向により高率に実行される。
【００４１】
画像データ１００は、拡大縮小された後、ヒンティングモジュール１０６によってヒンティング又はグリッド適合される。ヒンティングモジュール１０６は、一部には文字の位置および間隔の規則正しさを可能な限り保存し、文字の比率を保存し、デジタル化された表示を制御するように機能する。しかし多くの場合、表示装置のピクセルのグリッドは、文字の高解像度と比較して解像度が低く、特定のトレードオフを行う必要がある。例えば、文字のステムの右エッジと左エッジの両方を正確な位置に有して適切なステムのウェイト又は濃さを維持することは困難である。
【００４２】
一般に、ヒンティングモジュール１０６は、ピクセルサブコンポーネントの境界が全ピクセル間の境界でもあるかどうかに関わらず、ピクセルサブコンポーネントの境界に沿って文字を位置合わせする。これは、グリフがラスタ化されたときに正確なピクセル又はピクセルサブコンポーネントがオン又はオフになることを保証するために、グリフの輪郭を変更又は歪ませることによって実行される。グリフがグリッド適合されると、通常は付番されている制御点は変更されないが、それらの制御点の座標はシフトしている可能がある。
【００４３】
スキャン変換モジュール１０８は拡大縮小され、ヒンティングされた文字をビットマップ画像に変換するプロセスである。文字又はテキストデータはピクセルサブコンポーネントの境界にヒンティングされる場合があるので、各ピクセルサブコンポーネントは別個にマッピングすることができる。これによって文字がさらに高い解像度でレンダリングすることができる。スキャン変換モジュール１０８は、どのピクセルサブコンポーネントがオンになるべきであるか、どのピクセルサブコンポーネントがオフになるべきであるかを判定する。スキャン変換モジュール１０８は、表示装置１１２上に表示されるビットマップ画像１１０を生成する。本発明のシステムおよび方法は、本明細書では縦ストライプを有する表示装置を参照して説明するが、限定はしないが横ストライプを含めて他の幾何学的配置で配置されたピクセルを有する表示装置にも適用することができる。
【００４４】
スキャン変換操作によって、単一サンプルを、１つのピクセルの、ピクセルサブコンポーネントのそれぞれにマッピングすることができる。別法として、いくつのサンプルでもピクセルサブコンポーネントにマッピングすることができる。一般的に、１つ又は複数のサンプルの空間的に異なるセットが各ピクセルサブコンポーネントにマッピングされる。サンプルのセットをピクセルサブコンポーネントにマッピングするプロセスは、フィルタリングプロセスとして理解することができる。フィルタは、個別のピクセルサブコンポーネントにマッピングされるサンプルのセットに含まれるサンプルの場所と数とに対応する。ピクセルサブコンポーネントの異なる色に対応するフィルタは、同じサイズを有することも異なるサイズを有することもできる。フィルタに含まれるサンプルは相互に排他的である場合（例えば、各サンプルが１つのフィルタだけを通過した）があり、又はフィルタがオーバーラップする場合（例えば、いくつかのサンプルが複数のフィルタに含まれる）もある。一般的に、スキャン変換プロセスで使用されるフィルタは、表示される画像上に所望の色の効果を生成するように構成することができる。
【００４５】
図４ａは、ＬＣＤ表示装置上のピクセルの場所を表すピクセルグリッド２００を示す。テキスト文字２０５を表す画像データは、表示装置のストライプに垂直方向に倍率３によって、また、ストライプと平行に倍率１によって拡大縮小されている。拡大縮小は、テキスト文字を、サンプルが個々のピクセルサブコンポーネントにマッピングされるスキャン変換プロセスに備えるために実行される。グリッド２００は、文字の選択されたエッジを、ピクセルサブコンポーネント間のハイコントラストな境界に合わせるためにレンダリングプロセスで使用される計算ツールである。
【００４６】
ピクセルグリッド２００はＬＣＤ表示装置（例えば、図２ａの表示装置７０）の複数のピクセル２０１に対応しており、各ピクセル２０１は赤のピクセルサブコンポーネント２０２、青のピクセルサブコンポーネント２０３、および緑のピクセルサブコンポーネント２０４を有している。画像レンダリングプロセスでよくあるように、文字２０５の輪郭はピクセルサブコンポーネントの境界とは一致しない。例えば、エッジ２０６はピクセルサブコンポーネントの境界とは一致しない。文字２０５はピクセル２０１およびピクセルサブコンポーネント２０２、２０３および２０４と一致しないので、文字２０５の形状および位置はラスタ化プロセスで変更又はグリッド合わせすることができる。
【００４７】
図４ｂは、ピクセルグリッド２００にグリッド合わせされた後の文字２０５を示す。図に示すように、文字２０５は物理的に下に移動され、左に移動されており、ステム２０９はラスタ化のプロセスで若干狭くされている。図４ｂに示すこの丸め効果はピクセルの境界で発生する。
【００４８】
図４ｃは、ピクセルサブコンポーネントの境界にグリッド合わせされた文字２０５を示す。文字エッジ２０６は、緑のピクセルサブコンポーネントと青のピクセルサブコンポーネントの間の境界２０８に移動している。境界２０８は、ハイコントラストを有するので、赤と緑のピクセルサブコンポーネント間の境界２０７を優先するが、本発明は、文字エッジを、隣接する赤と緑のピクセルサブコンポーネント間の境界に移動するように拡大することもできる。文字２０５をピクセルサブコンポーネントの境界にグリッド合わせする本発明の機能は、レンダリングプロセスに付加的な精度を提供する。文字をピクセルサブコンポーネントの境界に合わせることの他に、ハイコントラストな境界の選択も、表示された文字の判読率を向上させることが判明している。また、高度に判読可能な文字を生成する際には、ステムの左エッジ（例えば、エッジ２０６）を位置合わせすることは、文字の他の部分をハイコントラストな境界に位置合わせすることよりも重要な場合があることも判明している。
【００４９】
ヒンティング操作中に文字の選択されたエッジがそれによってハイコントラストなピクセルサブコンポーネントの境界に再配置されるいかなるプロセスにでも、本発明は拡大される。実行時の文字のトポロジーの直接的で完全な分析は、本発明によって再配置されるべき文字の特性を特定する１つの方法である。このタイプの完全なトポロジー分析を使用することができるが、これを行うことは計算上非高率的であり実用的でない場合がある。したがって、実行時に部分的なトポロジー分析だけを実行するためのいかなる使用可能な技術をも使用することができ、それによって計算上の時間および資源が低減される。
【００５０】
多くの文字セット又はフォントは、フォント定義、又は、実行中に文字のトポロジーの部分的な分析を実行するために使用されるために役立つ他の情報を十分に有しており、したがって、文字の選択されたエッジ又は部分は、ヒンティング操作中にハイコントラストなピクセルサブコンポーネントの境界に再配置することができる。この目的で使用することができるこのようなフォント情報は、文字のエッジおよびステム幅などの特定のグリフの特徴部分の場所と空間を定義するいかなる情報をも含む。
【００５１】
本発明は、略どのタイプのフォントにでも使用することができるが、実行中の文字輪郭の部分的なトポロジー分析を実行する特定の一例をＴｒｕｅＴｙｐｅフォントの状況下で提示する。ＴｒｕｅＴｙｐｅ１フォントのファイルは、制御値表（ＣＴＶ）を含む。ＣＴＶは、ステム幅などの様々な文字の特性の間隔並びに範囲の色を列挙した、Ｔｒｕｅ  Ｔｙｐｅフォントのファイルを含めてファイルに符号化された情報から導かれた表である。ＣＶＴによって、フォント設計者は、抽象的な間隔としてではなく名称によって特定の間隔を参照することができる。例えば文字のステムの幅は、縦ステム濃さとして参照することができる。本明細書で使用するように、制御値表は、文字の特定の間隔と範囲を記述する、文字に関連付けられた情報を表すことを目的としている。間隔および範囲は、文字の輪郭上の主要制御点に関して記述されることがよくある。
【００５２】
テキスト文字のトポロジーを記述するために従来から使用することができるＣＶＴの１つの特徴は、色ごとの文字の特定の間隔の記述である。文字の横の間隔は、ＣＶＴで記述したように、黒の間隔でも、白の間隔でも、グレイの間隔でもよい。黒の間隔はレターフォーム内部の間隔（例えば、ステムの幅）を記述しており、白の間隔は、一般に文字本体の外の領域に対応する間隔（例えば、左サイドベアリング及び右サイドベアリング、ステム間の空間、「Ｏ」のオープンカウンターなど）を記述しており、グレイの間隔は白と黒の間隔を含む間隔を記述する。
【００５３】
図５ａは、文字２０５を参照してそれらの間隔を示す。文字２０５は２つのステム２０９を有する。第１のステムは点Ａから始まり点Ｂで終了し、第２のステムは点Ｃから始まり点Ｄで終了する。点Ａから点Ｂまでの間隔と、点Ｃから点Ｄまでの間隔は黒の間隔である。何故ならば、これらはレターフォーム又は文字２０５の輪郭の内部にあり、黒の矢印２１１で示されているからである。左サイドベアリング２１０から点Ａまでの横の間隔は白の間隔である。何故ならば、この間隔は文字２０５のレターフォームの外にあり、白の矢印２１２で示されているからである。同様に、点Ｄから右サイドベアリング２２０までの横の間隔２１９も白の間隔である。間隔２１８もまた白の間隔として指定される。それは、これが文字２０５のステム２０９間の間隔だからである。グレイの矢印２１３で示される点Ａから点Ｃまでの間隔はグレイの間隔である。何故ならば、この間隔は、点Ａから点Ｂまでの黒の間隔２１１と点Ｂから点Ｃまでの白の間隔２１８を含むからである。
【００５４】
黒、白、およびグレイの間隔は相互に関係しており、図５ｂに示すように有向非環式グラフ（ＤＡＧ）では親／子階層を有するものとして示すことができる。したがって、点Ａは左サイドベアリング２１０から計算され、また、左サイドベアリング２１０の子でもある。反対に、点Ａは点ＢおよびＣの親であり、点ＢおよびＣは点Ａの子である。レターフォームに関連付けられた幅および間隔の固有の構造は、たとえ間隔および範囲が便宜的に制御値表に配置されなくても、実行時に特定されるべき関連するグリフの特徴部分を見込んでいる。
【００５５】
これ以上本発明を説明する前に、グリフの簡単な説明を示す。図６は、グリフの輪郭と制御点を示すブロック図である。輪郭２１４は、一連の制御点２５０によって規定されているが、この一連の制御点２５０の一部は曲線部分であり、一部は曲線以外の部分である可能性がある。２つの連続する制御点が曲線部分である場合、これらは直線を規定している。この実施例では、制御点は連番によって番号付けされており、点番号が増加する方向に曲線が続いている場合、充填された領域は常に制御点の右側にあることになる。ステム幅の黒の間隔を規定する主要制御点は、図６では点１および点２２である。
【００５６】
図７は、前に図３を参照して議論したヒンティングモジュール１０６のさらなる詳細を提供するブロック図である。ヒンティングモジュール１０６は、グリフの特徴部分（例えばステム）をピクセルサブコンポーネント間のハイコントラストな境界に対応するグリッド上の場所に合わせるように、画像データをヒンティングするステップを実行するものとみなすことができる。図７は、以下でさらに説明するヒンティングするステップに対応する動作の例を示す。
【００５７】
ヒンティングモジュール１０６は、拡大縮小した画像データを受け取り、次いでピクセルおよびピクセルサブコンポーネントによって規定されたグリッド点に文字をグリッド合わせするように機能する。ステップ２６０では、ヒンティングモジュール１０６は、タイポグラファーによって提供されたヒンティング命令を処理し、特定の主要制御点を適切なグリッド点に移動し、その結果、レターフォームは視覚的に心地よく読みやすいくなる。動作２６０では、文字のある部分又は制御点は移動され、他の部分又は制御点はそのままの状態に置かれる。本発明の一実施形態によれば、動作２６０によって表される画像データをグリッド合わせする動作は画像データをヒンティングするステップの一部の一例である。
【００５８】
位相制御２７０は、動作２６０のヒンティングされた点をハイコントラストなピクセルサブコンポーネント境界上に移動することを必要とする。位相制御２７０で移動されたヒンティングされた点は、文字のステムの左エッジを規定することがよくある。図７に示す本発明の実施形態によると、動作２７０によって表されるようにピクセルサブコンポーネント間のハイコントラストな境界を表すグリッドの位置とグリフの特徴部分が一致するようにグリフの特徴部分を位相調整する動作は、画像データをヒンティングするステップの一部の一例である。
【００５９】
文字のステムの左エッジを規定するような、適切な制御点がピクセルサブコンポーネント間のハイコントラストな境界に配置されると、拡大縮小された画像データの他の制御点は必要に応じて調整される。例えば、ステムに表示装置のピクセル全体の幅の整数倍でない場合のある値を有する幅が与えられるように、ステムの右エッジをグリッド上に再配置することができる。動作２８０では、動作２６０および位相制御２７０中に移動されなかった輪郭の任意の点又はセグメントが、内挿を使用してピクセルのグリッド上の新しい位置に移動される。したがって、この実施形態では、残りの制御点を内挿する動作は画像データをヒンティングするステップの一部の一例である。
【００６０】
図７に示す動作を使用すると、ヒンティングするプロセスは、文字の選択されたエッジをハイコントラストなピクセルサブコンポーネントの境界に位置合わせさせ、同時に、文字に、サブピクセル値、すなわち、全ピクセルの対応する範囲の整数倍である必要のない値を有する表示装置のストライプに垂直方向の範囲を有することを可能にする。
【００６１】
図８は、本発明の一実施形態による図７のヒンティングモジュール１０６によって実施される位相制御の詳細なブロック図であり、本発明の一実施形態による画像データをヒンティングするステップの少なくとも一部に対応する動作をさらに示す。上記の通り、本発明は、実行時にグリフのトポロジーを全体的に又は部分的に分析するいかなるプロセスを使用しても実施することができる。図８は、図５ａ又は５ｂに関連付けられたような有向非環式グラフの使用法に関係する。ステップ２７１では、文字２０５のＤＡＧは、ＣＶＴを使用し、図５ｂに示されるヒンティング命令の内挿から導かれる。
【００６２】
ステップ２７２では、位相制御２７０は特徴的なグリフの特徴部分を探す。例えば、位相制御２７０は、ピクセルのグリッドが縦ストライプを有する場合、黒と白の横の間隔の交互のパターンを検索することによって文字の縦ステムの場所を探すことを試みることができる。ピクセルのグリッドが横ストライプを有する場合、位相制御２７０は、黒と白の縦の間隔の交互のパターンを検索することによって、文字の横線のセグメントの場所を探すことを試みることができる。一般に、ステップ２７２は、限定はしないがステム又は横セグメントを含めて特定のグリフの特徴部分を検索する。文字の間隔および範囲はＣＶＴ表で入手可能なので、これは実行時に達成される。
【００６３】
例えば図５ａの文字２０５のステム２０９は、矢印２１１によって表される黒の間隔が、左サイドベアリング２１０から点Ａまで、また点Ｂから点Ｃまでの白の間隔と交互であるかどうかを判定することによって推測される。縦ステムの存在を推測するために、点Ｂから点Ｃまでの白の間隔ではなく、矢印２１３によって示されるグレイの間隔を使用することも可能である。
【００６４】
ステップ２７３では、ステムがハイコントラストなピクセルサブコンポーネントの境界上に位相調整又は配置されるように、ＤＡＧをトラバースする。ステムを示す図５ｂのＤＡＧ３００の第１のノードは点Ａである。緑および青のピクセルサブコンポーネント間の境界などのハイコントラストな境界にステムの左エッジが当たるように、ステムが移動される。したがって、緑のピクセルサブコンポーネントはレターフォームの外にあり、青のピクセルサブコンポーネントはレターフォームの内部にある。同様の方法で、文字の他のステムもハイコントラストな境界にヒンティングされる。
【００６５】
本発明のヒンティング操作を実行する際にしばしば発生する１つの考慮すべき事柄は、ヒンティングするプロセスによって生じる可能性のある潜在的なエラーに合わせて調整することである。ＤＡＧをトラバースする際に、相互依存するノードの場所に合わされるので、結果として生じる文字の右サイドベアリングの位置が移動される場合がある。このエラーは、レンダリングされている文字の全体の幅に影響を与える場合もある。しかし、文字のコントラストは改善される。したがって、コントラストが改善されることによって、移動した右サイドベアリングを含む場合のある、エラーのある全体の幅を有する文字が生じる場合がある。
【００６６】
本発明は、本発明の主旨又は本質的な特徴を逸脱せずに別の特定の形式で実施することができる。記載した実施形態は、すべての点において、例示的なものに過ぎず制限ではないとみなされるべきである。したがって、本発明の範囲は、上記の記述によってではなく、頭記の特許請求の範囲によって示される。特許請求の範囲の等価の意味および範囲内に含まれるすべての変更は特許請求の範囲内であるとみなされるべきである。
【図１】
0005362162.tif 000002
【図２ａ】
0005362162.tif 000003
【図２ｂ】
0005362162.tif 000004
【図３】
0005362162.tif 000005
【図４ａ】
0005362162.tif 000006
【図４ｂ】
0005362162.tif 000007
【図４ｃ】
0005362162.tif 000008
【図５ａ】
0005362162.tif 000009
【図５ｂ】
0005362162.tif 000010
【図６】
0005362162.tif 000011
【図７】
0005362162.tif 000012
【図８】
0005362162.tif 000013