(57)【特許請求の範囲】
【請求項１】
ディスプレイデバイスの、ある部分上に文字を特定タイプサイズで表示するために使用される文字画像データを処理する方法であって、ディスプレイデバイスの前記部分はピクセルエレメントを有し、ディスプレイデバイスの各ピクセルエレメントは、幅が１ピクセルサイズ単位になっている、スケーリングされた画像部分に対応しており、前記文字画像データは、複数の文字アドバンス幅値とサイドベアリング値とを含んでいる方法において、
文字アドバンス幅値を特定タイプサイズの関数としてスケーリングして、前記ピクセルサイズ単位の正の整数倍になっていて、スケーリングされた文字アドバンス幅値を出力するステップであって、スケーリングされた文字アドバンス幅値はピクセル精度になっているステップと、
サイドベアリング値を特定タイプサイズの関数としてスケーリングして、スケーリングされた少なくともサイドベアリング値のいくつかが、整数のピクセルサイズ単位コンポーネントのほかに、分数のピクセルサイズ単位コンポーネントを含んでいて、スケーリングされたサイドベアリング値を出力するステップであって、スケーリングされたサイドベアリング値はサブピクセル精度になっているステップと、
を備えたことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記文字アドバンス幅値をスケーリングするステップは、スケーリングされた文字アドバンス幅値を、前記ピクセルサイズ単位の正の整数倍である値に丸めるステップを含むことを特徴とする方法。
【請求項３】
請求項１に記載の方法において、
スケーリングされたサイドベアリング値は左サイドベアリング値を含み、
前記サイドベアリング値をスケーリングするステップは、後続スキャン変換オペレーションの実行時に、前記ピクセルサイズ単位の正の整数倍である値を、スケーリングされた画像の各ピクセルサイズ単位部分に割り振られたセグメントの数で、除した値に左サイドベアリング値を丸めるステップと、スケーリングされた左サイドベアリング値に対してスキャン変換オペレーションを実行するステップを含み、該スキャン変換オペレーションは、スケーリングされた左サイドベアリング値の各ピクセルサイズ単位部分を、Ｎ個の異なる、スケーリングされたセグメントとして取り扱うことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、Ｎは１６であることを特徴とする方法。
【請求項５】
請求項３に記載の方法において、Ｎは３の倍数であることを特徴とする方法。
【請求項６】
請求項１に記載の方法において、さらに、スケーリングされた文字アドバンス幅値とスケーリングされた左サイドベアリング値の関数として、文字画像をディスプレイデバイス上に表示するステップを含むことを特徴とする方法。
【請求項７】
請求項１に記載の方法において、文字画像データは、さらに文字ブラックボディを含み、さらに、
文字ブラックボディを特定タイプサイズの関数としてスケーリングして、スケーリングされた文字ブラックボディ幅値をもつ、スケーリングされた文字ブラックボディを出力するステップを含み、前記文字ブラックボディ幅値の少なくともいくつかは、前記ピクセルサイズ単位の正の非整数倍であり、前記スケーリングされた文字ブラックボディ幅値は、サブピクセル精度を使用して指定されることを特徴とする方法。
【請求項８】
請求項７に記載の方法において、スケーリングされたサイドベアリング値は左サイドベアリング値を含み、さらに、
スケーリングされた左サイドベアリング値とスケーリングされた文字ブラックボディ幅値を使用して、複数のテキスト文字をディスプレイ上に表示するステップを含むことを特徴とする方法。
【請求項９】
請求項１に記載の方法において、ディスプレイの各ピクセルは、前記ピクセルサイズ単位よりも小さい、スケーリングされた画像部分に相当する幅をもつ３色のピクセルサブコンポーネントを含み、前記サイドベアリング値をスケーリングするステップは、左サイドベアリング値を、ピクセルサブコンポーネント境界間の距離に相当する、スケーリングされた値にスケーリングするステップを含むことを特徴とする方法。
【請求項１０】
請求項１に記載の方法において、ディスプレイの各ピクセルは３色の等サイズピクセルサブコンポーネントを含み、当該複数の等サイズピクセルサブコンポーネントはスケーリングされたピクセルサブコンポーネント幅を有するスケーリングされた画像部分に相当する幅を持ち、スケーリングされたピクセルサブコンポーネント幅は前記ピクセルサイズ単位の分数でありサイドベアリング値をスケーリングする前記ステップは、左サイドベアリング値を、スケーリングされたピクセルサブコンポーネント幅の正の整数倍になるようにスケーリングすることを特徴とする方法。
【請求項１１】
請求項４に記載の方法において、スケーリングされたピクセルサブコンポーネント幅は、前記ピクセルサイズ単位のほぼ１／３であることを特徴とする方法。
【請求項１２】
請求項７に記載の方法において、前記ピクセルエレメントの各々は、前記ピクセルサイズ単位よりも小さい、スケーリングされた画像部分に相当する幅をもつ複数のピクセルサブコンポーネントを含み、文字ブラックボディをスケーリングするステップは、ピクセルサブコンポーネント境界間の距離に相当するように文字ブラックボディ幅値をスケーリングするステップを含むことを特徴とする方法。
【請求項１３】
請求項７に記載の方法において、ディスプレイの各ピクセルは３色の等サイズピクセルサブコンポーネントを含み、当該複数の等サイズピクセルサブコンポーネントはスケーリングされたピクセルサブコンポーネントト幅を有するスケーリングされた画像部分に相当する幅を持ち、スケーリングされたピクセルサブコンポーネント幅は前記ピクセルサイズ単位の分数であり、左サイドベアリング値をスケーリングする前記ステップは、左サイドベアリング値を、ピクセルサブコンポーネント幅の正の整数倍になるようにスケーリングすることを特徴とする方法。
【請求項１４】
請求項１３に記載の方法において、ピクセルサブコンポーネントの幅は、前記ピクセルサイズ単位の１／３であることを特徴とする方法。
【請求項１５】
請求項１３に記載の方法において、さらに、スケーリングされた左サイドベアリング値とスケーリングされた文字ブラックボディ幅値を使用して、複数のテキスト文字をディスプレイ上に表示するステップを含むことを特徴とする方法。
【請求項１６】
ディスプレイデバイスの、ある部分上に文字を特定タイプサイズで表示するために使用される文字画像データを処理する方法であって、ディスプレイデバイスの前記部分にはピクセルエレメントを有し、ディスプレイデバイスの各ピクセルエレメントは、幅が１ピクセルサイズ単位になっている、スケーリングされた画像部分に対応しており、各ピクセルエレメントは３色のピクセルサブコンポーネントを含み、各色のピクセルサブコンポーネントは、幅がスケーリングされたピクセルサブコンポーネント単位サイズになっている、スケーリングされた画像部分に対応しており、スケーリングされたピクセルサブコンポーネント単位サイズは、前記ピクセル単位サイズよりも小さく、前記文字画像データは、複数の文字アドバンス幅値とサイドベアリング値とを含んでいる方法において、
スケーリングされたピクセルサブコンポーネント単位サイズの正の整数倍に一致するように、文字アドバンス幅値を特定タイプサイズの関数としてスケーリングするステップであって、文字アドバンス幅値の少なくともいくつかは、ピクセル単位サイズの正の非整数倍になっているステップと、
ピクセルサブコンポーネント単位サイズの正の整数倍に一致するように、前記サイドベアリング値を特定タイプサイズの関数としてスケーリングするステップであって、スケーリングされたサイドベアリング値の少なくともいくつかは、ピクセル単位サイズの正の非整数倍になっているステップと
を備えたことを特徴とする方法。
【請求項１７】
請求項１６に記載の方法において、文字画像データは、文字ブラックボディをさらに含み、さらに、
文字ブラックボディを特定タイプサイズの関数としてスケーリングして、ピクセルサブコンポーネント幅の正の整数倍になっている幅を有する文字ブラックボディであり、スケーリングされた文字ブラックボディを生成するステップを含み、スケーリングされた文字ブラックボディの幅の値の少なくともいくつかは、ピクセルの幅の正の非整数倍であることを特徴とする方法。
【請求項１８】
請求項１７に記載の方法において、サピクセルサブコンポーネントの幅は、ピクセルの幅の１／３であることを特徴とする方法。
【請求項１９】
請求項１８に記載の方法において、特定タイプサイズはポイントサイズであることを特徴とする方法。
【請求項２０】
請求項１７に記載の方法において、さらに、スケーリングされた文字アドバンス幅値、スケーリングされたサイドベアリング値、およびスケーリングされた文字ブラックボディ幅値を使用して、複数のテキスト文字をディスプレイデバイス上に表示するステップを含むことを特徴とする方法。
【請求項２１】
ディスプレイデバイスの、ある部分上に文字を特定タイプサイズで表示するために使用される文字画像データを処理する方法であって、ディスプレイデバイスの前記部分にはピクセルエレメントを有し、ディスプレイデバイスの各ピクセルエレメントは、幅が１ピクセルサイズ単位になっている、スケーリングされた画像部分に対応しており、各ピクセルエレメントは、赤、緑および青ピクセルサブコンポーネントを含み、赤ピクセルサブコンポーネントは、幅がスケーリングされた赤ピクセルサブコンポーネント単位サイズになっている、スケーリングされた画像部分に対応しており、緑ピクセルサブコンポーネントは、幅がスケーリングされた緑ピクセルサブコンポーネント単位サイズになっている、スケーリングされた画像部分に対応しており、青ピクセルサブコンポーネントは、幅がスケーリングされた青ピクセルサブコンポーネント単位サイズになっている、スケーリングされた画像部分に対応しており、文字画像データは、複数の文字アドバンス幅値、左サイドベアリング値および文字ブラックボディを含み、各ブラックボディはブラックボディ幅値をもっている方法において、
文字アドバンス幅値が、スケーリングされた赤、緑および青ピクセルサブコンポーネント単位サイズの総和に等しい距離に一致するように、サブピクセル精度を使用して文字アドバンス幅値をスケーリングするステップと、
左サイドベアリング値が、スケーリングされた赤、緑および青ピクセルサブコンポーネント単位サイズの総和に等しい距離に一致するように、サブピクセル精度を使用して左サイドベアリング値をスケーリングするステップと、
文字ブラックボディ幅値が、スケーリングされた赤、緑および青ピクセルサブコンポーネント単位サイズの総和に等しい距離に一致するように、サブピクセル精度を使用して文字ブラックボディ幅値をスケーリングするステップと
備えたことを特徴とする方法。
【請求項２２】
請求項２１に記載の方法において、さらに、スケーリングされた文字アドバンス幅値、スケーリングされた左サイドベアリング値、およびスケーリングされたブラックボディ幅値を使用して生成された文字画像を、表示文字のブラックボディがピクセルサブコンポーネント境界に位置合わせされるように表示するステップを含むことを特徴とする方法。
【請求項２３】
サイドベアリング値と文字アドバンス幅値を含む画像データをスケーリングする方法であって、
ピクセル精度を使用して文字アドバンス幅値をスケーリングして、スケーリングされた文字アドバンス幅値を生成するステップと、
サブピクセル精度を使用して左サイドベアリング値をスケーリングして、スケーリングされた左サイドベアリング値を生成するステップと、
サブピクセル精度を使用して文字ブラックボディ幅値をスケーリングして、スケーリングされた文字ブラックボディ幅値を生成するステップであって、そこでは前記画像データは文字ブラックボディ幅値を持つ文字ブラックボディを含むステップと、
スケーリングが、特定テキストサイズの関数として実行されるステップと、
スケーリングされた文字アドバンス幅値、スケーリングされた左サイドベアリング値およびスケーリングされた文字ブラックボディ幅値を使用して複数のテキスト文字を表示するステップと
を備えたことを特徴とする方法。
【請求項２４】
複数のピクセルエレメントを含むディスプレイデバイス上に表示される文字の画像データをスケーリングする方法であって、各ピクセルエレメントは３色のピクセルサブコンポーネントを含み、３色のピクセルサブコンポーネントはピクセルサブコンポーネント境界によって分離されていて、画像データはサイドベアリング値と文字アドバンス幅値を含む方法において、
サブピクセル精度を使用して文字アドバンス幅値をスケーリングして、ピクセルサブコンポーネント境界間の距離に相当する距離を持ち、スケーリングされた文字アドバンス幅値を生成するステップと、
サブピクセル精度を使用してサイドベアリング値をスケーリングして、ピクセルサブコンポーネント境界間の距離に相当する、スケーリングされた左サイドベアリング値を生成するステップと、を含むことを特徴とする方法。
【請求項２５】
請求項２４に記載の方法において、画像データは、さらに文字ブラックボディを含み、各文字ブラックボディは文字ブラックボディ幅値を持ち、さらに、
サブピクセル精度を使用して文字ブラックボディ幅値をスケーリングして、ピクセルサブコンポーネント境界間の距離に相当する、スケーリングされた文字ブラックボディ幅値を生成するステップを含むことを特徴とする方法。
【請求項２６】
請求項２５に記載の方法において、さらに、
スケーリングされた文字アドバンス幅値、スケーリングされたサイドベアリング値およびスケーリングされた文字ブラックボディ幅値を使用して文字画像を表示するステップを含み、表示される文字画像は、少なくともいくつかの文字ブラックボディ幅値、すなわち、ピクセルエレメント内に生じるピクセルサブコンポーネント境界としてスタートする文字ブラックボディ幅値を有することを特徴とする方法。
【請求項２７】
ディスプレイデバイスの、ある部分上に文字を特定タイプサイズで表示するために使用される文字画像データの処理を行うコンピュータ実行可能命令を有するコンピュータ読取り可能媒体であって、ディスプレイデバイスの前記部分はピクセルエレメントを有し、ディスプレイデバイスの各ピクセルエレメントは、幅が１ピクセルサイズ単位の、スケーリングされた画像部分に対応しており、前記文字画像データは複数の文字アドバンス幅値と左サイドベアリング値を含むコンピュータ読取り可能媒体において、前記処理は、
文字アドバンス幅値を特定タイプサイズの関数としてスケーリングして、前記ピクセルサイズ単位の正の整数倍である、スケーリングされた文字アドバンス幅値を生成するステップであって、前記文字アドバンス幅値はピクセル精度であるステップと、
左サイドベアリング値を特定タイプサイズの関数としてスケーリングして、スケーリングされた左サイドベアリング値を生成するステップであって、前記スケーリングされた左サイドベアリング値の少なくとも一部は、整数のピクセルサイズ単位コンポーネントのほかに分数のピクセルサイズ単位コンポーネントを含み、当該スケーリングされた左サイドベアリング値はサブピクセル精度であるステップと
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項２８】
ディスプレイデバイスの、ある部分上に文字を特定タイプサイズで表示するために使用される文字画像データの処理を行うコンピュータ実行可能命令を有するコンピュータ読取可能媒体であって、ディスプレイデバイスの前記部分にはピクセルエレメントを有し、ディスプレイデバイスの各ピクセルエレメントは、幅が１ピクセルサイズ単位であって、スケーリングされた画像部分に対応しており、各ピクセルエレメントは３色のピクセルサブコンポーネントを含み、各色のピクセルサブコンポーネントは、幅がスケーリングされたピクセルサブコンポーネント単位サイズであり、スケーリングされた画像部分に対応しており、前記文字画像データは複数の文字アドバンス幅値と左サイドベアリング値を含むコンピュータ読取可能媒体において、前記処理は、
スケーリングされたピクセルサブコンポーネント単位サイズの正の整数倍に一致するように、文字アドバンス幅値を特定タイプサイズの関数としてスケーリングするステップであって、前記文字アドバンス幅値の少なくともいくつかは、ピクセル単位サイズの正の非整数倍となっているステップと、
ピクセルサブコンポーネント単位サイズの正の整数倍に一致するように、左サイドベアリング値を特定タイプサイズの関数としてスケーリングするステップであって、スケーリングされた左ベアリング値の少なくともいくつかは、ピクセル単位サイズの正の非整数倍になっているステップと、
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項２９】
ピクセル精度を使用して文字画像の文字アドバンス幅値をスケーリングして、スケーリングされた文字アドバンス幅値を生成する手段と、
サブピクセル精度を使用して文字画像のサイドベアリング値をスケーリングして、スケーリングされたサイドベアリング値を生成する手段と、
スケーリングされた文字アドバンス幅値とスケーリングされたサイドベアリング値の関数として表示信号を生成する手段と
を備えたことを特徴とする画像処理装置。
【請求項３０】
請求項２９に記載の装置において、さらに、
サブピクセル精度を使用して文字ブラックボディ幅値をスケーリングして、スケーリングされた文字ブラックボディ幅値を出力する手段を備えたことを特徴とする装置。
【請求項３１】
請求項３０に記載の装置において、さらに、
スケーリングされた文字アドバンス幅値、スケーリングされたサイドベアリング値、およびスケーリングされた文字ブラックボディ幅値を使用して生成された文字画像を表示する手段を備えたことを特徴とする装置。
【請求項３２】
複数のピクセルエレメントを含んでいるディスプレイデバイスであって、各ピクセルエレメントは３色のピクセルサブコンポーネントを含み、ピクセルサブコンポーネントはピクセルサブコンポーネント境界によって分離されているディスプレイデバイスと、
サブピクセル精度を使用してアドバンス幅値をスケーリングして、ピクセルサブコンポーネント境界間の距離に相当する距離を持つ、スケーリングされたアドバンス幅値を生成する手段と、
サブピクセル精度を使用して左サイドベアリング値をスケーリングして、ピクセルサブコンポーネント境界間の距離に相当する、スケーリングされた左サイドベアリング値を生成する手段と、
スケーリングされた文字アドバンス幅値とスケーリングされた左サイドベアリング値の関数として、画像をディスプレイ上に生成する手段と
を備えたことを特徴とする装置。
【請求項３３】
請求項３２に記載の装置において、さらに、
サブピクセル精度を使用して文字ブラックボディ幅値をスケーリングして、スケーリングされた複数のブラックボディ幅値を生成する手段を備え、
画像を生成する前記手段は、スケーリングされた文字ブラックボディ幅値を使用して、スケーリングされた複数の文字ブラックボディ幅値の少なくともいくつかが、ピクセルサブコンポーネント境界に位置合わせされている文字を表示する手段を含むことを特徴とする装置。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、画像を表示する方法と装置に関し、さらに具体的には、表示されるテキスト文字などの、画像のスペーシングおよび／または位置付けを制御する方法と装置に関する。
【０００２】
（発明の背景）
カラーディスプレイデバイスは、現在では、主要ディスプレイデバイスとして多くのコンピュータユーザによって選択されてきている。モニタ上のカラー表示は、通常、光、例えば、赤、緑、青の光を組み合わせた光を射出するようにディスプレイデバイスを動作させ、その結果、１つまたは２つ以上のカラーが人間の目に感知される。
【０００３】
陰極線管（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ−ＣＲＴ）ディスプレイデバイスでは、蛍光体コーティング（ｐｈｏｓｐｈｏｒ  ｃｏａｔｉｎｇ）を使用して異なるカラーの光が生成されており、蛍光体コーティングは、ＣＲＴスクリーン上にドットの列として塗布されている。３つのカラー、つまり、赤、緑、青の各々を生成するために、通常は、異なる蛍光体コーティングが使用されている。この蛍光体コーティングは、蛍光ドット（ｐｈｏｓｐｈｏｒ  ｄｏｔ）の列が繰り返し塗布され、蛍光ドットの各々は、電子ビームによって励起されると、赤、緑または青のカラーを生成する。
【０００４】
例えば、ピクセル（ｐｉｘｅｌ）という用語は、普通、数千のスポット（ｓｐｏｔ）からなる矩形グリッド内の１つのスポットを表すために用いられている。これらのスポットは、個別的にコンピュータによって使用されて、ディスプレイデバイス上に画像（ｉｍａｇｅ）を形成する。カラーＣＲＴでは、赤、緑、青の三色を一組とする蛍光ドット（ｔｒｉａｄ）にはアドレスできないので、ピクセルサイズをどこまで最小にできるかは、蛍光体を励起するために使用されるエレクトロンガン（ｅｌｅｃｔｒｏｎ  ｇｕｎ−電子銃）のフォーカス、アライメントおよびバンド幅に左右されている。１組または２組以上の、赤、緑、青の三色蛍光ドットから射出される光は、種々の公知のＣＲＴディスプレイ構成では、１つにブレンドされて、ある距離を置いて見たとき、１つのカラー光源に見えるようにしている。
【０００５】
カラーディスプレイでは、赤、緑、青の加法原色（ａｄｄｉｔｉｖｅ  ｐｒｉｍａｒｙ  ｃｏｌｏｒｓ）から放出される光の強さは、ほとんどどのような、望みのカラーピクセルの外観でも得られるように変化させることが可能である。どのカラーも加えないと、つまり、光を射出しないと、ブラックピクセル（ｂｌａｃｋ  ｐｉｘｅｌ）が得られる。３カラーすべてを１００パーセント加えると、ホワイトピクセル（ｗｈｉｔｅ  ｐｉｘｅｌ）が得られる。
【０００６】
ハンドヘルドデバイスやポータブルコンピュータを含む、ポータブルコンピューティングデバイスでは、ＣＲＴデバイスとは異なり、液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ−ＣＲＴ）や他のフラットパネルディスプレイ１０２が、多用されている。その理由は、フラットパネルディスプレイは、ＣＲＴディスプレイよりも小型化し、明るくするのに役立つからである。さらに、フラットパネルディスプレイは、その消費電力が同等サイズのＣＲＴディスプレイよりも少ないのが代表的であることから、バッテリを電源とするアプリケーションに適している。
【０００７】
カラーＬＣＤディスプレイは、個別にアドレス可能な、複数のエレメント（以下では、ピクセルサブコンポーネント（ｐｉｘｅｌ  ｓｕｂ−ｃｏｍｐｏｎｅｎｔ）またはピクセルサブエレメント（ｐｉｘｅｌ  ｓｕｂ−ｅｌｅｍｅｎｔ）  と呼ぶことにする）を利用して、表示される画像の各ピクセルを表しているディスプレイデバイスの例である。通常、カラーＬＣＤディスプレイの各ピクセルエレメントは、３つの非正方形エレメント、つまり、赤、緑、青（ＲＧＢ）ピクセルサブコンポーネントを含んでいる。従って、１組のＲＧＢピクセルサブコンポーネントが一緒になって、単一のピクセルエレメントを定義している。公知のＬＣＤディスプレイは、一連のＲＧＢピクセルサブコンポーネントを含んでいるのが一般的であり、これらは、ディスプレイ上にストライプ（ｓｔｒｉｐｅ）を形成するように配置されているのが普通である。ＲＧＢストライプは、通常、一方向に向かってディスプレイの全長にわたっている。その結果のＲＧＢストライプは、「ＲＧＢストライピング（ＲＧＢ  ｓｔｒｉｐｉｎｇ）」と呼ばれることがある。コンピュータアプリケーション用によく使用されているＬＣＤモニタは、高さよりも幅が広いために、ＲＧＢ垂直ストライプ（ｖｅｒｔｉｃａｌ  ｓｔｒｉｐｅ）をもつ傾向がある。
【０００８】
図１は、複数の行（Ｒ１−Ｒ１２）と列（Ｃ１−Ｃ１６）からなる公知ＬＣＤスクリーン２００を示す図である。各行／列の交点は、１つのピクセルエレメントを表す正方形を定義している。図２は、公知ディスプレイ２００の上左側部分を詳細に示す。
【０００９】
図２に示すように、各ピクセルエレメント、例えば、（Ｒ１，Ｃ４）ピクセルエレメントは、３つの個別サブエレメントまたはサブコンポーネント、すなわち、赤サブコンポーネント２０６、緑サブコンポーネント２０７および青サブコンポーネントを含んでいる。各々の公知ピクセルサブコンポーネント２０６、２０７、２０８は、ピクセルの幅の１／３またはほぼ１／３であるのに対し、高さはピクセルの高さに等しいか、あるいはほぼ等しくなっている。従って、１／３幅で、全高の３つのピクセルサブコンポーネント２０６、２０７、２０８が結合されると、シングルピクセルエレメントが形成される。
【００１０】
図１に示すように、ＲＧＢピクセルサブコンポーネント２０６、２０７、２０８の、ある公知構成では、ディスプレイ２００上に垂直カラーストライプとして現れるものが形成されている。従って、図１と図２に示すような、１／３幅のカラーサブコンポーネント２０６、２０７、２０８の公知構成は、「垂直ストライピング（ｖｅｒｔｉｃａｌ  ｓｔｒｉｐｉｎｇ）」とも呼ばれている。
【００１１】
従来では、ピクセルエレメントを定義しているピクセルサブコンポーネントの各セットは、単一ピクセル単位として扱われている。各ピクセルサブコンポーネントの光の強さ（ｉｎｔｅｎｓｉｔｙ）は、光度値（ｌｕｍｉｎｏｕｓ  ｉｎｔｅｎｓｉｔｙ  ｖａｌｕｅ）によって制御される。従って、公知システムでは、あるピクセルエレメントの全ピクセルサブコンポーネントに対する光度値は、画像の同じ部分から生成される。１つの例として、図３に示すグリッド２２０でセグメント化された画像を検討してみることにする。図３に示すように、グリッドの各正方形は、シングルピクセルエレメント、例えば、グリッド２３０の対応する正方形の赤、緑、青ピクセルサブコンポーネントによって表される、画像のエリアを表している。図３において、網状の円は、シングル画像サンプル、すなわち、そこから光度値が生成されるシングル画像サンプルを表すために使用される。公知システムでは、画像２２０のシングルサンプル２２２がどのように使用されて、赤、緑、青ピクセルサブコンポーネント２３２、２３３、２３４の各々に対する光度値を生成するかに留意されたい。一般的に、公知システムでは、ＲＧＢピクセルサブコンポーネントはグループとして使用されて、表現される画像のシングルサンプルに対応するシングルカラーピクセルを生成する。
【００１２】
テキスト文字は、コンピュータシステムによって頻繁に表示される画像の例である。文字と文字の間のスペーシング、および文字に割り振られた一定量のスペース内に文字が置かれる位置は、感知されるテキスト品質に大きな影響を与えることがある。さらに、文字スペーシングは、ドキュメントをフォーマットする立場から見たとき重要である。
【００１３】
多くの最新コンピュータシステムは、テキストのレンダリングと表示をサポートするためにフォントアウトライン（ｆｏｎｔ  ｏｕｔｌｉｎｅ）テクノロジ、例えば、スケーラブルフォントを使用している。この種のシステムでは、各フォント、例えば、Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ、Ｏｎｙｘ、Ｃｏｕｒｉｅｒ  Ｎｅｗなどは、異なるフォントセットを使用することによってサポートされている。フォントセットは、フォントを使用して表示できる各々の文字に対して高解像度アウトライン表現、例えば、ライン（線）、ポイント（点）およびカーブ（曲線）を含んでいるのが通常である。ストアされたアウトライン文字表現には、文字の水平方向と垂直方向の最小境界と最大境界を越えて、余分のスペースを占めるようなホワイトスペースが含まれていないのが通常である。従って、文字フォントの、ストアされた文字アウトライン部分は、ブラックボディ（ｂｌａｃｋ  ｂｏｄｙ−ＢＢ）と呼ばれることがよくある。ＢＢ情報のほかに、文字フォントは、ＢＢサイズ、ＢＢ位置付け、および総文字幅に関する情報を含んでいるのが通常である。ＢＢサイズ情報は、ＢＢの垂直方向と水平方向のボーダを定義するために使用される、境界ボックスの寸法で表されることがある。
【００１４】
図４は、英字Ａの文字４００を示す。ボックス４０８は、文字４００のＢＢ４０７のサイズを定義している境界ボックスである。文字４００の総幅は、文字４００と関連付けられるオプションのホワイトスペースを含めて、アドバンス幅（ａｄｖａｎｃｅｄ  ｗｉｄｔｈ−ＡＷ）値４０７によって指定されている。ポイント４０４は、左サイドベアリングポイント（ｌｅｆｔ  ｓｉｄｅ  ｂｅａｒｉｎｇ  ｐｏｉｎｔ−ＬＳＢＰ）と呼ばれている。ＬＳＢＰ４０４は、カレント表示位置を基準にして文字４００を位置付けるための水平開始ポイントを示している。ポイント４０６は、右サイドベアリングポイント（ｒｉｇｈｔ  ｓｉｄｅ  ｂｅａｒｉｎｇ  ｐｏｉｎｔ−ＲＳＢＰ）である。ＲＳＢＰ４０６は、カレント文字の終わりと、次の文字のＬＳＢＰ４０４が位置付けられるポイントを示している。左サイドベアリングポイント４０４とＢＢ４０７の開始の間に置かれた水平方向の距離は、左サイドベアリング（ｌｅｆｔ  ｓｉｄｅ  ｂｅａｒｉｎｇ−ＬＳＢ）４１０と呼ばれている。ＬＳＢ値は、正値または負値のどちらかで指定することができる。ＢＢ４０７の終わりとＲＳＢＰ４０６の間に置かれた水平方向の距離は、右サイドベアリング（ｒｉｇｈｔ  ｓｉｄｅ  ｂｅａｒｉｎｇ−ＲＳＢ）と呼ばれている。ＲＳＢ４１２は、カレント文字のＢＢ４０７と次の文字のＬＳＢＰ４０４の間に置かれるホワイトスペース量を示している。従って、ＲＳＢ４１２は、文字のＢＢ４０７の右側に置かれるホワイトスペース量に対応している。
【００１５】
上述したように、スケーラブルフォントファイルは、サポートされる各々の文字ごとに、ＢＢサイズ、ＢＢ位置付け、および総文字幅に関する情報を収めているのが通常である。ＢＢサイズ情報としては、境界ボックスの寸法で表された、水平方向と垂直方向のサイズ情報がある。ＢＢ位置付け情報としては、ＬＳＢ値４１０がある。総文字幅情報は、ＡＷ４０２として文字のフォントに含めておくことができる。
【００１６】
最新コンピュータシステムでは、表示される文字の開始ポイントと終了ポイント、例えば、ＬＳＢＰとＲＳＢＰは、それぞれ、ピクセル境界上に位置付けられるようにしている。さらに、最新コンピュータシステムでは、ＢＢ幅とＬＳＢは、ピクセルサイズの整数倍になるようにされているのが通常である。公知の実装では、これは、文字フォントに含まれているサイズと位置付け情報を、文字を表示するために使用されるポイントサイズの関数としてスケーリングしたあとで、サイズと位置付け値を、利用されるピクセルサイズの整数倍に丸めている。ピクセルサイズ単位を最小距離単位として使用すると、値は１ピクセルのサイズの精度になるので、「ピクセル精度（ｐｉｘｅｌ  ｐｒｅｃｉｓｉｏｎ）」と呼ばれるものが得られる。
【００１７】
ピクセル精度を使用して丸めることは、表示される画像に誤差が生じることにつながる。これらの誤差の各々は、サイズがピクセルの１／２までになることがある。従って、文字の総幅は、文字のＡＷを丸めると、所望精度以下に低下することになる。さらに、文字に割り振られた総水平スペース内に文字のＢＢを位置付けることは、ＬＳＢを丸めると、最適条件以下になることがある。ポイントサイズが小さいときは、ピクセル精度を使用して丸めると起こる誤差は、総文字幅の割合に比べて大きくなることがある。
【００１８】
既存ドキュメントに現れている文字のスペーシングが少しでも変更されると、よくあることであるが、ユーザが予想しないような、大きな影響をフォーマットに与えることになる。例えば、総文字幅を変更すると、行の区切り（ｌｉｎｅ  ｂｒｅａｋ）やページの区切り（ｐａｇｅ  ｂｒｅａｋ）が変わることになるため、テキストが予期しない形で折り返されたり、および／またはテキストが複数のページにわたって、以前はテキストが存在しなかった個所に現れたりすることがある。
【００１９】
（発明の概要）
本発明によれば、サブピクセルスケーリング精度（本明細書では、サブピクセル精度とも呼ばれている）は、種々の画像値をスケーリングするときの精度を向上するために使用される。スケーリングオペレーションでサブピクセル精度を使用すると、ピクセル精度を使用するシステムに比べて、文字サイズと文字配置の精度が大幅に向上する。
【００２０】
サブピクセルスケーリングでは、ピクセルサイズ距離単位に丸めると得られる解像度よりも、高精細の解像度にスケーリング画像値を丸めることが行われる。
【００２１】
ある実施形態では、サブピクセル解像度は、ピクセルサブコンポーネント境界に対応する値にスケーリング画像値を丸めるために採用される。他の実施形態では、サブピクセル解像度は、文字サイズ値と文字位置付け値を、ピクセルサイズ距離単位の、任意の望みの分数に丸めることを可能にするために使用される。文字スペーシングでサブピクセル解像度を使用することは、ピクセルディスプレイデバイスの解像度よりも高い解像度でドキュメントが印刷されるとき、ドキュメントがどのように現れるかを、ディスプレイデバイス上で正確に表現しようとするときに重要になる。すなわち、これは、ＷＹＳＩＷＹＧ（ｗｈａｔ  ｙｏｕ  ｓｅｅ  ｉｓ  ｗｈａｔ  ｙｏｕ  ｇｅｔ：見えた通りのものを得ることができる）アプリケーションを実現しようとするとき重要である。
【００２２】
種々の実施形態では、総文字幅、左サイドベアリング、および／または文字ＢＢサイズの値を求めるときサブピクセル精度が使用されている。ある実装では、サブピクセル精度は、水平文字サイズと配置の値を、ピクセルサブコンポーネントサイズ距離単位に相当する値に丸めるために使用される。この種の実施形態は、距離および／または文字位置付け値にピクセルサブコンポーネント解像度を使用していると言うことができる。各ピクセルは３つのピクセルサブコンポーネントからなっているのが普通であるので、ピクセルサブコンポーネント精度を使用すると、ピクセル精度を使用するシステムに比べて、丸め誤差が、例えば、２／３に減少することになる。
【００２３】
サブピクセル精度を文字スペーシングと位置付け値に適用すると、既存ドキュメントのフォーマット、例えば、行とページの区切りが変わるのを防止するために、本発明の一実施形態では、公知システムと同じようにピクセル精度を使用して、総幅、例えば、文字のＡＷを判断している。しかし、表示テキストの全体的外観を向上するために、文字の総水平スペース内の文字位置を制御する左サイドベアリングポイントは、部分的ピクセル精度（ｐａｒｔｉａｌ  ｐｉｘｅｌ  ｐｒｅｃｉｓｉｏｎ）を使用して判断されている。このようにすると、公知システムで使用されていたものに対応するスペース内の文字位置付けは、既存ドキュメントのフォーマット、例えば、行とページの区切りに影響することなく、サブピクセル精度を使用することによって向上する。
【００２４】
本発明による方法とシステムのその他の特徴、実施形態および利点は、以下の詳細な説明の中で明らかにする。
【００２５】
（詳細な説明）
上述したように、本発明は、ディスプレイデバイス上の画像、例えば、テキストおよび／またはグラフィックスのスペーシングおよび／または位置付けを制御するための方法とシステムを目的としている。本発明の方法とシステムは、出力デバイスの複数の個別セクション、例えば、液晶ディスプレイのＲ、Ｇ、Ｂピクセルサブコンポーネントを利用して、画像のシングルピクセルを表すことができるディスプレイデバイスで使用するのに非常に適している。
【００２６】
本発明の種々方法では、ピクセルの各ピクセルサブコンポーネントを、独立の光度発生源（ｌｕｍｉｎｏｕｓ  ｉｎｔｅｎｓｉｔｙ  ｓｏｕｒｃｅ）として使用する。これは、ピクセルを構成するＲＧＢピクセルサブコンポーネントのセットを、単一の光度単位として扱うのと対照的になっている。このようにすると、ピクセルエレメント当たりのピクセルサブコンポーネントが３つであって、ＲＧＢ水平または垂直ストライピングをもつディスプレイデバイスは、ストライピングに直交する寸法の実効解像度が、他の寸法のそれよりも最大３倍になるものとして扱われることになる。ピクセルエレメント当たりのピクセルサブコンポーネントを４以上にすると、本発明によれば解像度がさらに向上することになる。本発明の種々装置によれば、文字レンダリング装置を含めて、ピクセルサブコンポーネントの光度を個別に制御する能力が利用されている。
【００２７】
図５および以下の説明では、本発明の少なくともいくつかの形態を実現することができる一般的な例示装置を説明する。以下では、本発明の種々の方法は、パーソナルコンピュータのようなコンピュータデバイスによって実行されるコンピュータ実行可能命令、例えば、プログラムモジュールおよび／またはルーチンを中心にして、その概要を説明する。本発明の他の形態については、例えば、ディスプレイデバイスのコンポーネントやディスプレイスクリーンなどの、物理的ハードウェアを説明する。
【００２８】
本発明の方法は、ここで説明している特定のコンピュータデバイス以外の装置で実行させることも可能である。プログラムモジュールとしては、タスクを実行する、あるいは特定の抽象データ型を実装している、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造（例えば、ルックアップテーブル）などがある。さらに、当業者ならば理解されるように、本発明の少なくともいくつかの形態は、他の構成で実施することも可能である。その中には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのコンシューマエレクトロニクスやプログラマブルコンシューマエレクトロニクス、ネットワークコンピュータ、ミニコンピュータ、セットトップボックス（ｓｅｔ  ｔｏｐ  ｂｏｘ）、メインフレームコンピュータ、例えば、自動車、航空機、工業アプリケーションで使用されるディスプレイ、などが含まれている。また、本発明の少なくとも一部の側面は、コミュニケーションネットワークを通してリンクされたリモート処理デバイスによってタスクが実行されるような、分散コンピューティング環境で実施することも可能である。分散コンピューティング環境では、プログラムモジュールは、ローカルおよび／またはリモートのメモリストレージデバイスに置いておくことができる。
【００２９】
図５を参照して説明すると、本発明の少なくともいくつかの形態を実現するための例示装置５００は、汎用コンピューティングデバイスを含んでいる。パーソナルコンピュータ５２０は、処理ユニット５２１、システムメモリ５２２、およびシステムメモリを含む種々システムコンポーネントを処理ユニット５２１に結合しているシステムバス５２３を搭載している。システムバス５２３は、数種タイプのバス構造のいずれかにすることが可能であり、その中には、種々のバスアーキテクチャを採用したメモリバスやメモリコントローラ、ペリフェラル（周辺）バス、およびローカルバスが含まれている。システムメモリとしては、リードオンリメモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ−ＲＯＭ）５２４および／またはランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ−ＲＡＭ）５２５がある。スタートアップ時のときのように、パーソナルコンピュータ５２０内のエレメント間の情報転送を支援する基本ルーチンを含んでいる、基本入出力システム（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ−ＢＩＯＳ）５２６は、ＲＯＭ５２４に格納しておくことができる。パーソナルコンピュータ５２０は、ハードディスク（図示せず）との間で読み書きするハードディスクドライブ５２７、（取り外し可能）磁気ディスク５２９との間で読み書きする磁気ディスクドライブ５２８、およびコンパクトディスクや他の光（光磁気）メディアなどの、取り外し可能光（光磁気）ディスク５３１との間で読み書きする光（光磁気）ディスクドライブ５３０を装備することもできる。ハードディスクドライブ５２７、磁気ディスクドライブ５２８、および光（光磁気）ディスクドライブ５３０は、それぞれ、ハードディスクドライブインタフェース５３２、磁気ディスクドライブインタフェース５３３、および光（光磁気）ドライブインタフェース５３４を介してシステムバス５２３と結合することができる。これらのドライブとそれぞれに関連するストレージ媒体は不揮発性ストレージとして、パーソナルコンピュータ５２０のためのマシン読取可能命令、データ構造、プログラムモジュールおよび他のデータを格納している。ここで説明している例示環境では、ハードディスク、取り外し可能磁気ディスク５２９および取り外し可能光ディスク５３１が採用されているが、当業者ならば理解されるように、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ（Ｂｅｒｎｏｕｌｌｉ）カートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）などの、他のタイプのストレージ媒体を、上記に示したストレージデバイスに代えて使用することも、これらのストレージデバイスに上乗せする形で使用することも可能である。
【００３０】
いくつかのプログラムモジュールは、ハードディスク５２３、磁気ディスク５２９、光磁気ディスク５３１、ＲＯＭ５２４またはＲＡＭ５２５に格納しておくことが可能であり、その中には、例えば、オペレーティングシステム５３５、１つまたは２つ以上のアプリケーションプログラム５３６、他のプログラムモジュール５３７、ディスプレイドライバ８３０、およびプログラムデータ５３８が含まれている。ＲＡＭ５２５は、以下で説明するように、画像をレンダリングして表示する際に使用されるデータを格納しておくためにも使用できる。ユーザは、例えば、キーボード５４０やポインティングデバイス５４２などの、入力デバイスを通してコマンドや情報をパーソナルコンピュータ５２０に入力することができる。マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどの、他の入力デバイス（図示せず）を装備することも可能である。これらの入力デバイスと他の入力デバイスは、多くの場合、システムバスに結合されたシリアルポートインタフェース５４６を通して処理ユニット５２１に接続されている。しかし、入力デバイスは、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ−ＵＳＢ）などの、他のインタフェースを介して接続することも可能である。モニタ５４７や他のタイプのディスプレイデバイスも、例えば、ディスプレイアダプタ５４８などの、インタフェースを介してシステムバス５２３に接続することが可能である。モニタ５４７のほかに、パーソナルコンピュータ５２０は、例えば、スピーカやプリンタなどの、他のペリフェラル（周辺）出力デバイス（図示せず）を装備することも可能である。
【００３１】
パーソナルコンピュータ５２０は、リモートコンピュータ５４９などの、１つまたは２つ以上のリモートコンピュータとの論理コネクションを定義しているネットワーキング環境で動作させることができる。リモートコンピュータ５４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードにすることができ、また、図５には、メモリストレージデバイス５５０だけが示されているが、パーソナルコンピュータ５２０に関して上述したエレメントの多くまたは全部を装備することができる。図５に示す論理コネクションとしては、ローカルエリアネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ−ＬＡＮ）５５１と、イントラネットやインターネット（ｔｈｅ  Ｉｎｔｅｒｎｅｔ）などの広域ネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ−ＷＡＮ）５５２がある。
【００３２】
ＬＡＮで使用されるときは、パーソナルコンピュータ５２０は、ネットワークインタフェースアダプタ（ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ａｄａｐｔｅｒ−ＮＩＣ）５５３を通してＬＡＮに接続することができる。インターネットなどのＷＡＮで使用されるときは、パーソナルコンピュータ５２０は、広域ネットワーク５２０上のコミュニケーションを確立するためのモデム５５４または他の手段を装備することができる。モデム５５４は内蔵型と外付け型があり、どちらも、シリアルポートインタフェース５４６を介してシステムバス５２３に接続することができる。ネットワーキング環境では、パーソナルコンピュータ５２０に関して上述したプログラムモジュールの少なくとも一部は、リモートメモリストレージデバイスに格納しておくことができる。図示のネットワークコネクションは例示であり、コンピュータ間の通信リンクを確立する他の手段を使用することも可能である。
【００３３】
図７は、本発明の画像レンダリング装置８００を示す。この画像レンダリング装置８００は、グラフィックスディスプレイデバイス（ｇｒａｐｈｉｃｓ  ｄｉｓｐｌａｙ  ｄｅｖｉｃｅ−ＧＤＩ）８０２、ディスプレイドライバ８３０、およびスクリーンフレームバッファ８３４を装備している。ＧＤＩはテキスト入力８１３を受け取り、その入力から１つまたは２つ以上の文字グリフ（ｃｈａｒａｃｔｅｒ  ｇｌｙｐｈ）を作成する。文字グリフとしては、例えば、文字のブラックボディ部分のビットマップ表現、ＬＳＢ情報および／またはＡＷ情報がある。ＧＤＩは、グリフキャッシュコントローラ８０５、タイプラスタライザ（ｔｙｐｅ  ｒａｓｔｅｒｉｚｅｒ）８０４、およびグリフキャッシュ８０９を装備している。ビットマップ文字表現８０７、８１１、８１３を含むグリフは、タイプラスタライザ８０４によって生成される。生成されたグリフ８０７、８１１、８１３はグリフキャッシュ８０９にストアされ、必要時にディスプレイドライバ８３０に出力される。ディスプレイドライバ８３０は、文字グリフ情報を実際のＲ、Ｇ、Ｂピクセルサブコンポーネント光度値（ｌｕｍｉｎｏｕｓ  ｉｎｔｅｎｓｉｔｙ  ｖａｌｕｅ）に変換され、その光度値はスクリーンフレームバッファ８３４にロードされる。画像レンダリング装置８００の種々コンポーネントのオペレーションは、図８を参照して以下に詳しく説明されている。
【００３４】
図８は、本発明の画像レンダリング装置８００のコンポーネント、およびこれらのコンポーネントとオペレーティングシステム５３５との関係を示す。画像レンダリング装置８００は、グラフィックスディスプレイインタフェース（ＧＤＩ）８０２、ディスプレイドライバ８３０およびスクリーンフレームバッファ８３４を装備している。この装置８００は、本発明に従ってテキスト画像をコンピュータシステムディスプレイ５４７上にレンダリングするために使用される種々のルーチンを含み、これらのルーチンは、例えば、図５に示すコンピュータシステムのメモリに格納されている。
【００３５】
また、図８は、アプリケーション５３６からテキスト８１３がどのようにしてＧＤＩ８０２に渡されるかも示す。さらに、図８は、生成された後、スクリーンフレームバッファ８３４に置かれている内容が、どのようにしてディスプレイアダプタ５４８に渡され、最終的にディスプレイデバイス５４７に渡されるかも示す。スクリーンフレームバッファ８３４から出力されたピクセル値を、ディスプレイアダプタ５４８が処理すると生成される信号を与えると、レンダリングされたテキスト画像がディスプレイデバイス５４７上に表示されることになる。
【００３６】
図８に示すように、アプリケーションルーチン５３６は、例えば、ワードプロセッサアプリケーションにすることができ、テキスト出力コンポーネント８０１を含んでいる。このテキスト出力サブコンポーネント８０１は、矢印８１３で示すように、テキスト情報をオペレーティングシステム５３５に出力し、ディスプレイデバイス５４７上にレンダリングすることを受け持つ。
【００３７】
オペレーティングシステム５３５は、ディスプレイデバイス５４７上のテキスト表示を制御することを受け持つ種々のコンポーネントを含んでいる。これらのコンポーネントの中には、表示情報８１５とグラフィックス表示インタフェース８０２がある。上述したように、表示情報８１５には、例えば、レンダリング期間に適用されるスケーリングに関する情報がある。この中には、ガンマ補正（ｇａｍｍａ  ｃｏｒｒｅｃｔｉｏｎ）情報、フォアグランド（前景）／バックグラウンド（背景）カラー情報、および／またはカラーパレット（ｃｏｌｏｒ  ｐａｌｅｔｔｅ）情報のように、ディスプレイドライバ８３０によって使用される情報を含めることも可能である。
【００３８】
グラフィックス表示インタフェース８０２は、グラフィックスをテキストと共に処理するための回路および／またはルーチンを含んでいる。その中には、グリフキャッシュコントローラ８０５、グリフキャッシュ８０９およびタイプラスタライザ８０４が含まれている。
【００３９】
グリフキャッシュ８０９は、複数のグリフ８０７、８１１、８１３をストアしておくために使用される。ストアされるグリフには、本発明によれば、例えば、文字、ＬＳＢ値およびＡＷ幅値のビットマップ画像がある。ストアされるグリフ８０７、８１１、８１３、８１５は、同一文字の異なるサイズ表現、異なるタイプフェースを使用した同一文字の表現、または異なる文字に対応させることができる。ストアされるグリフ８０７、８１１、８１３、８１５はモノクローム文字表現であり、ユーザがオプションとして選択したカラーフォアグラウンド／バックグラウンドは、以後にディスプレイドライバ８３０によって適用される。
【００４０】
ＧＤＩ８０２は、テキスト情報８１３を入力として受け取る。テキスト情報８１３としては、どの文字（１文字または複数文字）がレンダリングされるのかを示す情報、レンダリング期間にどのフォントが使用されるのかを示す情報、どのポイントサイズで文字がレンダリングされるのかを示す情報、およびスクリーン上のどの位置に画像がレンダリングされるのかを示す情報、などがある。このテキスト情報８１３はグリフキャッシュコントローラ８０３に渡される。グリフキャッシュコントローラ８０３は、レンダリングされる文字がグリフキャッシュ８０９にすでにストアされている文字グリフに一致しているかどうかを判断する。文字がキャッシュ内の文字グリフに一致するためには、キャッシュ内の文字グリフは、その文字自体に一致しているだけでなく、指定されたポイントサイズ、ＬＳＢ値および文字ＡＷ値にも一致している必要がある。レンダリングされる文字が、キャッシュ８０９にすでに存在する文字グリフに一致していれば、グリフキャッシュコントローラ８０３は、一致する文字グリフを出力するようにグリフキャッシュ８０９を制御する。
【００４１】
レンダリングされる文字が、グリフキャッシュ８０９内の文字グリフに一致していなければ、ピクセル値と文字スペーシング情報のビットマップ、例えば、レンダリングされる文字に一致するグリフ８０７を生成するためにタイプラスタライザ８０４が使用される。例示の実施形態では、ラスタライザ８０４によって生成される各グリフは、グリフキャッシュ８０９にストアされ、以後の処理のためにディスプレイドライバ８３０に出力される。
【００４２】
タイプラスタライザ８０４は、文字データ８０６およびレンダリング／ラスタ化ルーチン（ｒｅｎｄｅｒｉｎｇ  ａｎｄ  ｒａｓｔｅｒｉｚａｔｉｏｎ  ｒｏｕｔｉｎｅ）８０７を含んでいる。
【００４３】
文字データ８０６はフォントファイルに対応している。一実施形態では、文字データ８０６は、サポートされる文字ごとに、サポートされる文字の高解像度表現、例えば、ベクトルグラフィックス、ライン（線）、ポイント（点）およびカーブ（曲線）を含んでいる。また、文字データ８０６は、サポートされる文字ごとに、ＢＢサイズ、ＢＢ位置、および文字スペーシング情報も含んでいる。ＢＢ位置付け情報は、例えば、ＬＳＢ値を含むことができるのに対し、文字スペーシング情報は、例えば、ＡＷ値にすることができる。
【００４４】
レンダリング／ラスタ化ルーチン８０７には、スケーリングサブルーチン８０８、ヒンティング（ｈｉｎｔｉｎｇ）サブルーチン８１０、およびスキャン変換サブルーチン（ｓｃａｎ  ｃｏｎｖｅｒｓｉｏｎ  ｓｕｂｒｏｕｔｉｎｅ）８１２が含まれている。スケーリング、ヒンティング、およびスキャン変換の各サブルーチンは、スクリーンのＲＧＢピクセルサブコンポーネントを、レンダリングされる画像の異なる部分を表すために使用できる別々の光度エンティティ（ｌｕｍｉｎｏｕｓ  ｉｎｔｅｎｓｉｔｙ  ｅｎｔｉｔｉｅｓ）として考慮し、利用し、および／または取り扱う。
【００４５】
ディスプレイドライバ８３０は、表示されるテキストを表しているピクセル値を処理し、出力するために使用される文字出力ルーチンを含んでいる。ピクセル値、例えば、Ｒ、Ｇ、Ｂピクセルサブコンポーネントの光度値は、物理スクリーン位置に対応する、スクリーンフレームバッファ８３４内のメモリロケーションに出力される。ディスプレイドライバ８３０は、グリフ、例えば、ＧＤＩ８０２から出力されたグリフ８０７と表示情報８１３を、その入力として受け取る。
【００４６】
ディスプレイドライバから出力されるピクセル値は、８ビットのＲ、Ｇ、Ｂ光度値の形体になっており、これは、ディスプレイアダプタ５４８および／またはディスプレイデバイス５４７によって使用される。
【００４７】
以下では、本発明のスケーリング、ヒンティングおよびスキャン変換の各ルーチン８０８、８１０、８１２によって実行されるオペレーションについて、図９を参照して説明する。ディスプレイドライバのオペレーションは、以下に、図１０を参照して詳しく説明されている。
【００４８】
図９は、本発明に従ってテキストをレンダリングして表示するために使用されるレンダリング／ラスタ化ルーチン８０７を示す。図示のように、このルーチン８０７はステップ９０２から開始し、そこでは、アプリケーション５３６からテキスト情報を受け取ると、それに応答して、ルーチンが、例えば、オペレーティングシステム５３５の制御の下で実行される。ステップ９０４で、入力はテキストレンダリング／ラスタ化ルーチン８０７によって受信される。入力には、アプリケーション５３６から受け取ったテキスト、フォント、およびポイントサイズ情報が含まれている。そのほかに、入力には、表示情報８１５も含まれている。表示情報８１５には、例えば、スケーリング情報、フォアグラウンド／バックグラウンドカラー情報、ガンマ値、ピクセルサイズ情報、カラーパレット情報、および／またはディスプレイアダプタ／ディスプレイデバイスのピクセル値フォーマット情報が含まれている。表示情報８１５は、オペレーティングシステム５３５によってメモリ５２２にストアされたモニタ設定値から得ることができる。
【００４９】
ステップ９０４で受信された入力には、文字データ８０６も含まれており、この文字データには、表示されるテキスト情報の高解像度表現、例えば、ライン、ポイントおよび／またはカーブの形体をしたＢＢが含まれている。文字データ８０６には、ＢＢサイズ、ＢＢ位置付けおよび総文字幅の情報、例えば、境界ボックスの寸法とＬＳＢ値、およびＡＷ値も、それぞれ含まれている。
【００５０】
入力がステップ９０４で受け取られると、オペレーションはステップ９１０に進み、そこでは、受け取った文字ＢＢだけでなく、ＬＳＢ値およびＡＷ値に対してもスケーリングオペレーションを実行するためにスケーリングサブルーチン８０８が使用される。
【００５１】
スケーリングサブルーチン８０８は、ＬＳＢスケーリングステップ９１１、ＡＷスケーリングステップ９１３およびＢＢスケーリングステップ９１５を含んでいる。これらのステップ９１１、９１３、９１５は順次に実行することも、並列に実行することも可能である。
【００５２】
ＬＳＢスケーリングステップ９１１では、レンダリングされる文字のＬＳＢは、特定のポイントサイズに従ってスケーリングされるが、ＬＳＢはピクセルサイズ距離単位に相当する値に丸められることなく、サブピクセル精度が保たれている。つまり、ＬＳＢ値は、ピクセルサイズ単位の整数倍に相当する部分と、ピクセルサイズ単位より小の余りをもつことが許される。ある実施形態では、スケーリングされたＬＳＢ値は、ピクセルサブコンポーネントの水平サイズの整数倍に一致するように丸められる。等サイズのＲ、Ｇ、Ｂピクセルサブコンポーネントが各ピクセルエレメントを構成しているような実施形態では、ＬＳＢ値にピクセルサブコンポーネント精度を使用すると、ＬＳＢ値を、例えば、ピクセルサイズ単位の１／３に丸めることが可能になる。ある実施形態では、ピクセルサブコンポーネント精度を使用すると、スケーリングされた値は、スケーリングされた画像内で最寄りのＲ、Ｇ、Ｂピクセルサブコンポーネント境界に相当するように丸められる。
【００５３】
サブピクセル精度まで計算されたＬＳＢ値を使用すると、文字のＢＢは、単なるピクセル精度が使用されたときに可能である場合よりも、文字に割り振られた総スペース内により正確に置かれるという利点がある。その結果、文字が読みやすくなり、および／または感知される表示テキスト品質が向上することになる。
【００５４】
ＡＷスケーリングステップ９１３では、レンダリングされる文字のＡＷ値は、特定のポイントサイズに従ってスケーリングされる。一実施形態では、これはピクセル精度を使用してスケーリングされる。この種の実施形態によると、利用されるピクセルサイズの整数倍である総幅をもつ文字が得られるという利点がある。また、この実施形態によれば、ピクセル精度を使用する現行システムから得られる総幅に一致する総幅をもつ文字が得られることになる。従って、ピクセル精度を使用すると、ケースによっては、既存ドキュメントのフォーマットを変更することのない画像が得られるという利点が得られる。
【００５５】
他の実施形態では、ＡＷ値スケーリングステップ９１３では、スケーリングされたＡＷ値を生成するときサブピクセル精度が使用されている。この種の実施形態では、総文字幅は、ピクセルサイズ距離単位よりも小さな精度レベルにスケーリングされる。ある特定実施形態の場合には、スケーリングされた値は、ピクセルサブコンポーネント精度に丸められる。例えば、ピクセルサイズ単位の１／３に丸められる。このピクセルサブコンポーネント実施形態では、スケーリングされたＡＷ値は、最寄りのＲ、Ｇ、Ｂピクセルサブコンポーネント境界に一致するように丸められる。他のケースでは、サブピクセル精度は、表示すとライピングに直交する方向にサポートされるオーバサンプリングのレベルに維持されている。
【００５６】
ブラックボディスケーリングステップ９１５では、画像のＢＢ、例えば、画像アウトラインは、サブピクセル精度を使用してスケーリングされる。従って、文字アウトラインは、ピクセル精度を使用するときよりも高精度にスケーリングされる。
【００５７】
本発明によれば、非正方形スケーリングは、各ピクセルエレメントに含まれるピクセルサブコンポーネントの方向および／または数の関数として実行される。具体的には、高解像度文字データ８０６、例えば、受信されたテキストとフォント情報で指定された通りに表示される文字のラインとポイント表現がスケーリングされたレートは、ストライピングの方向よりもストライピングに直交する方向の方が大きくなっている。このようにすると、本発明によれば、個々のピクセルサブコンポーネントを独立光度発生源として使用すると得られる、より高度の解像度を後続画像処理オペレーションで利用することが可能になる。垂直Ｒ、Ｇ、Ｂストライピングの場合には、このことは、特定のポイントサイズが与えられているとき、文字のＢＢが、実際の文字サイズの倍数になるように水平寸法でスケーリングされることを意味している。スケーリングをこのように行うと、後続スキャン変換オペレーションが行われるとき、例えば、オーバサンプリングレートに等しい係数でオーバサンプリングすることが可能になる。画像をオーバサンプリングすると、複数の画像セグメントは、文字を表示するために使用される、各々の物理ピクセルエレメントに割り振られることになる。
【００５８】
従って、図１に示すタイプのディスプレイからデータが表示されるときは、水平スケーリングは垂直スケーリング方向よりも大きくなっている。
【００５９】
垂直スケーリングと水平スケーリングとの差は、使用されるディスプレイと、以後に行われるスキャン変換とヒンティングプロセスによって変化することがある。ステップ９０４で得られたスケーリング情報を含む表示情報は、与えられた実施形態で、どのスケーリングを行うべきかを判断するためにステップ９１０で使用される。
【００６０】
ほとんどの場合、文字または画像のスケーリングは、赤、緑、青のストライプをさらに分割して、後続重み付けスキャン変換オペレーション（ｗｅｉｇｈｔｅｄ  ｓｃａｎ  ｃｏｎｖｅｒｓｉｏｎ  ｏｐｅｒａｔｉｏｎ）をサポートできるようにするレートで、ストライピングに直交する方向に行われるが、必ずしも、そうである必要はない。重み付けスキャン変換オペレーションが適用される場合には、スケーリングは、ＲＧＢストライピングと使用される重み付けの関数として実行される。垂直ストライピングによる実施形態において、赤ピクセルサブコンポーネントに５の重みが割り当てられ、緑ピクセルサブコンポーネントに９の重みが割り当てられ、青ピクセルサブコンポーネントに２の重みが割り当てられている場合には、スケーリングは、ｙ（垂直）方向には１倍のレートで、ｘ（水平）方向には１６倍のレートで行われる。
【００６１】
もう一度図９に戻って説明すると、スケーリングオペレーションがステップ９１０で完了すると、オペレーションはステップ９１２に進み（進むかどうかは、オプションである）、そこで、スケーリングされた画像は、例えば、ヒンティングサブルーチン８１０を実行することによって「ヒンティング（ｈｉｎｔｉｎｇ）」される。グリッドフィッティング（ｇｒｉｄ  ｆｉｔｔｉｎｇ）」という用語は、ヒンティングプロセスを説明するために使用されることがある。このヒンティングステップをスキップするかどうかは任意であるが、実施形態によっては、スキップされている。
【００６２】
ヒンティングでは、後続スキャン変換オペレーションの一部として使用されるグリッド内にスケーリングされた文字を位置付け、画像がグリッドの形状により正確に合致するように、画像アウトラインを変形することが行わるのが代表的である。グリッドは、ディスプレイデバイスのピクセルエレメントの物理サイズと、後続スキャン変換オペレーションのとき適用される重み付けの関数として判断される。
【００６３】
ある実施形態では、本発明は、ピクセルサブコンポーネント境界を、文字がそれに沿って位置合わせされることが可能で、かつ位置合わせされるはずの境界として扱っているか、あるいは文字のアウトラインがそこに位置合わせされるはずの境界として扱っている。他の実施形態では、後続スキャン変換プロセスで使用されるサイズに対応する画像セグメントは、文字のエッジがそこに位置合わせされることが可能で、かつ位置合わせされるはずの境界、または文字のアウトラインがそこに位置合わせされるはずの境界として使用されている。
【００６４】
本発明のヒンティングプロセスでは、グリッド内のスケーリングされた文字表現は、利用可能なピクセルサブコンポーネントを使用した文字の正確な表示を最適化するような形で、ピクセルおよびピクセルサブコンポーネント境界上にまたはその内部に位置合わせされる。多くのケースでは、これは、文字ステムの左エッジが左ピクセルまたはサブピクセルコンポーネント境界と位置合わせされ、文字のベース（基準線）がピクセルコンポーネントまたはサブコンポーネント境界上に位置合わせされることによって行われている。
【００６５】
実験結果で明らかになったことは、垂直ストライピングの場合には、文字ステムが青または緑の左エッジをもつようにステムが位置合わせされた文字は、一般的に、赤の左エッジをもつようにステムが位置合わせされた文字よりも、読みやすくなる傾向があることである。従って、少なくとも一部の実施形態では、垂直ストライピングと共にスクリーン上に表示される文字をヒンティングするとき、ステムは、赤の左エッジよりも、青または緑の左エッジをもつようにされている。
【００６６】
水平ストライピングの場合には、文字ベースの下底が赤または青の底エッジをもつように位置合わせされた文字は、一般的に、ベースが緑の底エッジをもつように位置合わせされた文字よりも読みやすくなる傾向がある。従って、水平ストライピングと共にスクリーン上に表示される文字をヒンティングするとき、少なくとも一部の実施形態では、緑の底エッジよりも赤または青の底エッジの方が好都合になっている。
【００６７】
ヒンティングプロセスがステップ９１２で完了すると、オペレーションはステップ９１４へ進み、そこでは、スキャン変換オペレーションは、本発明によれば、例えば、スキャン変換サブルーチン８１２を実行することによって実行される。いくつかの実施形態では、スキャン変換オペレーションは、重み付けスキャン変換オペレーションになっている。
【００６８】
スキャン変換では、文字を表すスケーリングされたジオメトリをビットマップ画像値に変換することが行われる。これは、通常、文字のスケーリングされ、ヒンティングされたブラックボディ部分に対して行われ、文字の残り部分、例えば、ＬＳＢ部分とＲＳＢ部分は、ディスプレイデバイス８３０によって特定のバックグラウンドカラーにセットされる。
【００６９】
一実施例では、スケーリングされたＬＳＢの残余部分は、ブラックボディの左サイドに加えられ、スキャン変換オペレーションで生成されたビットマップ文字画像の中に組み込まれる。この種の実施形態では、タイプラスタライザ８０４から出力された文字グリフの中に組み込まれたＬＳＢは、ピクセルの水平サイズの整数倍に相当するＬＳＢが組み込まれている。
【００７０】
従来の、大部分のスキャン変換オペレーションでは、ピクセルは個別単位として扱われ、スケーリングされた画像の対応する部分がそこにマッピングすることが可能になっている。従って、従来のスキャン変換オペレーションの場合には、画像の同じ部分、例えば、ピクセルエレメントサイズ部分は、スケーリングされた画像の部分がそこにマッピングされる、ピクセルエレメントのＲＧＢピクセルサブコンポーネントの各々で使用される光度値を判断するために使用されている。図３は、公知のスキャン変換プロセスの例を示し、そこでは、ビットマップとして表される画像をサンプリングし、サンプリングされた値から光度を生成することが行われている。
【００７１】
本発明によれば、ピクセルのＲＧＢピクセルサブコンポーネントは、独立の光度エレメントとして扱われている。従って、各ピクセルサブコンポーネントは、別々の光度コンポーネントとして扱われ、スケーリングされた画像の異なる部分はそこにマッピングすることが可能になっている。従って、本発明によれば、スケーリングされた画像の異なる部分は、異なるピクセルサブコンポーネントにマッピングされるので、公知のスキャン変換手法で可能とされるよりも、高い解像度を得ることが可能になっている。つまり、種々の実施形態では、スケーリングされた画像の異なる部分は、各ピクセルサブコンポーネントで使用される光度を独立に判断するために使用されている。
【００７２】
図６は、本発明の一実施形態に従って実装されているスキャン変換オペレーションの例を示す。図示の実施形態では、グリッド６２０で表された画像の異なる画像サンプル６２２、６２３、６２４は、生成されるビットマップ画像６３０の対応する部分６３２、６３３、６３４に関連する赤、緑および青の光度値を生成するために使用されている。図６に示す例では、赤と青の画像サンプルは、それぞれ、緑サンプルからの距離がピクセル幅の−１／３および＋１／３だけずれている。従って、図３に示す公知のサンプリング／画像表現方法で起こっている、このずれの問題は回避されている。
【００７３】
スキャン変換オペレーションの一部として、赤、緑、青（Ｒ、Ｇ、Ｂ）光度値は、各ピクセルサブコンポーネントに対して生成される。これらは、赤、緑、青の、別々の光度レベルで表すことができる。非重み付けスキャン変換オペレーション（ｕｎｗｅｉｇｈｔｅｄ  ｓｃａｎ  ｃｏｎｖｅｒｓｉｏｎ  ｏｐｅｒａｔｉｏｎ）では、Ｒ、Ｇ、Ｂ光度レベルは０か１であるのが通常である。重み付けスキャン変換オペレーションでは、Ｒ、Ｇ、Ｂピクセルサブコンポーネントの１つまたは２つ以上に対して、３つ以上の光度レベルがサポートされているのが通常である。
【００７４】
多くのシステムでは、Ｒ、ＧおよびＢ光度値は、ピクセルサブコンポーネント光度値をディスプレイアダプタ５４８および／またはディスプレイデバイス５４７に対して指定するために使用される数に相当する、いくつかのビット数をもつ３つの個別量として指定され、ストアされ、処理されている。
【００７５】
スキャン変換オペレーション９１４は、ＬＳＢ、文字を表すＲ、Ｇ、Ｂピクセル光度値、ＢＢ、およびスケーリングされたＡＷを含む文字グリフを出力する。この文字グリフは、ステップ９１６でグリフキャッシュおよび／またはディスプレイドライバに出力される。グリフが出力されると、レンダリング／ラスタ化ルーチン９００のオペレーションは、終了ステップ９２０から出ることになる。
【００７６】
ある実施形態では、グリフを表すＲ、Ｇ、Ｂ光度値はラスタ化プロセスの過程でパック（例えば、圧縮）され、グリフのストアに必要な記憶量を節減している。
【００７７】
図１０は、ある実施形態において、ディスプレイドライバ８３０に実装されている文字出力ルーチン８３５を示す図である。図示のように、文字出力ルーチン８３５は開始ステップ１００３で開始し、アンパックステップ１００５に進む（進むかどうかは任意である）。ステップ１００３は、ラスタライザから出力されたＲ、Ｇ、Ｂピクセルサブコンポーネント光度値がパック形体になっている実施形態で利用される。
【００７８】
アンパックされたあと、ステップ１００７で、Ｒ、Ｇ、Ｂ光度値についてガンマ補正（ｇａｍｍａ  ｃｏｒｒｅｃｔｉｏｎ）が行われ、例えば、種々の表示非線形性が補正される。次に、カラー補償（ｃｏｌｏｒ  ｃｏｍｐｅｎｓａｔｉｏｎ）がステップ１００９で適用される。カラー補償では、Ｒ、Ｇ、Ｂピクセルサブコンポーネントを独立光度発生源として扱うと発生する、紛らわしいカラーひずみを低減または除去するために、および／またはユーザが選択したフォアグラウンド／バックグラウンドカラーを、表示される文字に適用するために、種々のフィルタが使用される。ステップ１００９での処理が完了すると、カラーパレット選択オペレーションがステップ１０１１で実行される。ステップ１０１１では、カラー補正オペレーションで得たピクセルカラーは、ディスプレイアダプタ５４８および／またはディスプレイデバイス５４７でサポートされる、最も近いカラーに変換される。ステップ１０１１で生成されたＲ、Ｇ、Ｂ光度値は、ディスプレイドライバ８３０で受信された文字グリフに含まれるＬＳＢとＡＷ値の関数として、ステップ１０１３でディスプレイバッファメモリロケーションにロードされる。表示される文字を表しているＲ、Ｇ、Ｂ光度値がスクリーンフレームバッファにロードされると、ルーチン８３５は終了ノード１０１５から出ることになる。
【００７９】
図１０に示すような、いくつかの実施形態では、ディスプレイドライバによって実行される処理オペレーションは、順次処理オペレーションとして実現されている。しかし、本発明の他の実施形態では、ディスプレイドライバによって実行される処理オペレーションは、単純なルックアップテーブルオペレーションになるように結合され、入力されたＲ、Ｇ、Ｂ光度値またはパックピクセル値に応答して、処理されたＲ、Ｇ、Ｂ光度値が出力されるようにしている。
【００８０】
図１１は、３つの文字（Ｈ、ｉ、ｔ）の各々を表す文字フォントを、異種タイプの精度を使用してスケーリングすることによって生成されたＬＳＢ、ＡＷおよびＢＢ水平値を示すチャートである。図１１の第１セクション１１０２には、公知のようにピクセル精度を使用してスケーリングされたときの、英字Ｈ、ｉ、ｔの各々に対するＬＳＢ、ＡＷおよびＢＢ値が示されている。同図に示すように、セクション１１０２の値の各々は整数値に丸められ、ピクセルサイズ単位の整数倍に一致するＬＳＢ、ＡＷおよびＢＢ値が得られている。その結果、ＬＳＢ、ＡＷおよびＢＢ値の各々は、公知システムでは通常に行われているように、文字ＬＳＢＰがピクセル境界から始まるとしたとき、ピクセル境界に位置合わせされている。
【００８１】
図１１の第２セクション１１０４には、ＡＷ値にはピクセル精度を使用し、ＬＳＢとＢＢ値にはサブピクセル精度を使用して、本発明に従ってスケーリングされたときの、英字Ｈ、ｉ、ｔの各々に対するＬＳＢ、ＡＷおよびＢＢ値が示されている。セクション１１０４に示すように、ＢＢ値およびＬＳＢ値の多くは分数のピクセルコンポーネントを含んでいるために、ピクセル精度を使用して達成される場合よりも、文字位置付けとブラックボディ幅が高精度化されている。この特定実施例では、ＬＳＢとＢＢ値はピクセル幅の１／３の値に丸められている。ピクセル幅の１／３であるＲ、Ｇ、およびＢピクセルサブコンポーネントが使用される場合には、ピクセルサブコンポーネント境界に位置合わせされたＬＳＢとＢＢ値が得られることになる。ＡＷ値はピクセル精度を使用して丸められるので、公知システムで使用されるものと同じ値１１０２になっている。従って、セクション１１０２の値を使用して生成された同じ文字の代わりに、セクション１１０２の値を使用して生成された文字を使用すると、ページまたは行の区切りは影響されることなく、文字の位置付けとブラックボディ幅が改善されることになる。
【００８２】
図１１の第３セクション１１０６には、３つの値にサブピクセル精度を使用して、本発明に従ってスケーリングされたときの、英字Ｈ、ｉ、ｔの各々に対するＬＳＢ、ＡＷおよびＢＢ値が示されている。ＡＷ値にはサブピクセル精度が使用されているので、文字のＬＳＢＰは、ピクセル内のどこにでも位置付けることができる。ピクセルサブコンポーネント精度が使用される場合には、値の位置合わせは、文字をレンダリングするときの開始ポイントが、ピクセルサブコンポーネント境界と一致しているとすれば、ピクセルサブコンポーネント境界に一致することになる。セクション１１０６を見れば分かるように、ＡＷ値で指定された文字の総幅は、セクション１１０２と１１０４で使用されたＡＷ値と異なっている。つまり、セクション１１０６では、ＡＷ値は分数のピクセル値を含んでいる。
【００８３】
図１２は、図１１のセクション１１０２に示すピクセル精度値を使用してディスプレイデバイス５４７から表示されるテキスト１２００を示す図である。図１２から明らかであるように、文字開始位置、例えば、ＬＳＰＢとＢＢ位置は、ＡＷ、ＬＳＢおよびＢＢ幅値を判断するのにピクセル精度を使用しているので、ピクセル境界に位置合わせされている。図１２〜図１３において、水平スペースは、ディスプレイ５４７を構成するピクセルエレメントの幅に従って分割されている。小さい方の垂直ラインは、ピクセルサブコンポーネント境界の位置を示しているのに対し、大きい方の垂直ラインはピクセル境界を示している。
【００８４】
図１２〜図１４に示すテキストの、スケーリングされた表現は、同じように現れることになる。しかし、水平スケールは、適用されるスケーリングの関数になっている。スケーリングされた表現では、水平スケール上の大きい方の、各々の垂直スケールラインは、ピクセルサイズ単位、例えば、スケーリングされた単位のうちの、ピクセルに対応する部分を示しているのに対し、小さい方の垂直マークは、係数を３として水平スケーリングした場合の、ピクセルサブコンポーネント幅を示している。３以外の係数によるスケーリングが使用される場合には、スケーリングされた画像の各ピクセルサイズ単位は、ピクセルサイズ単位を表すために使用されるセグメント数、例えば、係数を１６とする水平スケーリングの場合には、１６に分割される。係数を１６として水平スケーリングされ、５ピクセルセグメントが赤ピクセルサブコンポーネントに、９ピクセルセグメントが緑ピクセルサブコンポーネントに、２ピクセルセグメントが青ピクセルサブコンポーネントに割り振られる場合には、ピクセルセグメント番号が０から１５までで、Ｒ、Ｇ、Ｂピクセルサブコンポーネントが均一幅であるとすると、ピクセルサブコンポーネント境界は、スケーリングされた画像の中で、ピクセルセグメント４と５の間、ピクセルセグメント１３と１４の間、およびピクセルセグメント１５の終わりに現れることになる。
【００８５】
図１３は、図１１のセクション１１０４に示すピクセル精度のＡＷ値およびＬＳＢとＢＢ幅値を使用して、ディスプレイデバイス５４７から表示されるテキスト１３００を示す図である。ＬＳＢ値とＢＢ幅値にサブピクセル精度を使用すると、文字のＢＢ位置付けが向上する一方で、図１２に使用されているものと同じ総文字アドバンス幅が保たれることになる。図１３に示すＬＳＢとＢＢ幅値にピクセルサブコンポーネント精度を使用すると、ＢＢはピクセルサブコンポーネント境界上に位置付けられることになる。
【００８６】
図１４は、図１１のセクション１１０６に示すサブピクセル精度のＡＷ、ＬＳＢおよびＢＢ幅値を使用して、ディスプレイデバイス５４７から表示されるテキスト１４００を示す図である。ＡＷ、ＬＳＢ値およびＢＢ幅値にサブピクセル精度を使用すると、ピクセル精度を使用する実施形態に比べて、文字ＡＷ、文字ＢＢ位置付け、および文字ＢＢ幅の精度が向上することになる。文字ＡＷ値にサブピクセル精度が使用されているので、図１４の文字アドバンス幅は、図１２で使用されているものと異なっている。図１４のＡＷ、ＬＳＢおよびＢＢ幅値にピクセルサブコンポーネント精度を使用すると、文字ＬＳＢＰとＢＢは、最初の文字のＬＳＢＰがピクセルサブコンポーネント境界に位置しているとすると、ピクセルサブコンポーネント境界上に位置付けられることになる。
【００８７】
以上、主に、垂直Ｒ、Ｇ、Ｂストライピングを使用する実施形態を中心にして説明してきた。垂直ではなく、水平Ｒ、Ｇ、Ｂストライピングが使用される場合には、垂直文字サイズおよび／またはスペーシング値を判断するには、サブピクセル精度を使用することが可能であるが、本発明による種々実施形態では、サブピクセル精度が使用されている。
【００８８】
本発明の種々特徴、例えば、サブピクセル精度の使用は、左サイドベアリング値を調整することを中心に説明してきたが、これらの特徴は、ある種のフォント実装で使用されている他のサイドベアリング値、例えば、トップサイドベアリング値を調整するために使用することも可能であり、また、本発明の一部の実施形態で使用されている。
【００８９】
以上、本発明を説明してきたが、その中で説明している本発明の実施形態は、当業者にとって明らかであるように、他にも多数の実施形態が可能であり、また種々態様に変更することも可能である。当然に理解されるように、かかる実施形態は本発明から逸脱するものではなく、本発明の範囲内に属するものである。
【図面の簡単な説明】
【図１】  公知のＬＣＤスクリーンを示す図である。
【図２】  図１に示す公知スクリーンの一部を、図１よりも詳細に示す図である。
【図３】  公知システムで実行される画像サンプリングオペレーションを示す図である。
【図４】  文字および文字に関連する種々のスペーシングと配置の値を示す図である。
【図５】  本発明に従って実現されているコンピュータシステムを示す図である。
【図６】  本発明の一実施形態に従って実行される画像サンプリングを示す図である。
【図７】  本発明の例示画像レンダリング装置を示す図である。
【図８】  図５に示すコンピュータシステムの、他の種々コンポーネントと関連付けて、本発明の画像レンダリング装置を示す図である。
【図９】  本発明のレンダリングおよびラスタライジングルーチンに従って実行される処理を示す図である。
【図１０】  ディスプレイドライバに実装されている、本発明の文字出力ルーチンを示す図である。
【図１１】  文字Ｈ、ｉ、およびｔを表示するとき使用できる、ＬＳＢ、ＡＷ、およびＢＢ幅値を示すチャートである。
【図１２】  図１１のチャートに含まれるＬＳＢ、ＡＷ、およびＢＢ幅値を使用した文字の表示を示す図である。
【図１３】  図１１のチャートに含まれるＬＳＢ、ＡＷ、およびＢＢ幅値を使用した文字の表示を示す図である。
【図１４】  図１１のチャートに含まれるＬＳＢ、ＡＷ、およびＢＢ幅値を使用した文字の表示を示す図である。
【図１】
0004633263.tif 000002
【図２】
0004633263.tif 000003
【図３】
0004633263.tif 000004
【図４】
0004633263.tif 000005
【図５】
0004633263.tif 000006
【図６】
0004633263.tif 000007
【図７】
0004633263.tif 000008
【図８】
0004633263.tif 000009
【図９】
0004633263.tif 000010
【図１０】
0004633263.tif 000011
【図１１】
0004633263.tif 000012
【図１２】
0004633263.tif 000013
【図１３】
0004633263.tif 000014
【図１４】
0004633263.tif 000015