(57)【特許請求の範囲】
【請求項１】
コンピュータシステム上で動作するクライアントプロセスからレンダリングすべき文字のコールを発生させるステップであって、前記クライアントプロセスは、レンダリングすべき文字の識別、前記文字のサイズ、および前記文字を表示するのに使用されるグレイスケールの数を提供する、文字のコールを発生させる前記ステップと、
前記文字について文字プログラムを検索し、少なくとも前記クライアントプロセスによって指定された前記グレイスケールの数によって規定された高解像度グリッドに基づいて、前記文字のステムを前記コンピュータシステムの出力装置の装置解像度に対応する粗グリッドと整合させることによって前記文字をレンダリングするステップであって、それにより前記高解像度グリッドに対応する前記文字の高解像度ビットマップを得る、文字をレンダリングする前記ステップと、
前記クライアントプロセス内で前記文字の前記高解像度ビットマップからアンチエイリアシングされたグレイスケールピクセルマップを前記装置解像度で生成するステップと、
前記アンチエイリアシングされたグレイスケールピクセルマップに基づいて、前記文字のイメージを前記装置解像度で前記出力装置上に生成するステップとを含むコンピュータ出力装置上にアンチエイリアシングされた文字を生成する方法。
【請求項２】
文字をレンダリングする前記ステップが、
レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するためにフォント解析プログラムにコールするステップと、
前記粗グリッドに対する前記文字のステムエッジの位置を決定し、かつステム幅を決定するために前記文字プログラムを実行するステップと、
前記ステムエッジを前記粗グリッドと整合させるステップとを含む請求項１に記載のアンチエイリアシングされた文字を生成する方法。
【請求項３】
前記クライアントプロセスがさらに、少なくともハードエッジ方針およびソフトエッジ方針を含む方針を提供するように動作し、かつ前記ステムエッジを整合させるステップが、ステムエッジをハードエッジ方針に従って整合させるステップと、ステムエッジをソフトエッジ方針に従って整合させるステップとを含み、前記クライアントプロセスによって提供される前記方針によって、これら整合させるステップのいずれを実行するかが決定される請求項２に記載のアンチエイリアシングされた文字を生成する方法。
【請求項４】
前記ステムエッジをハードエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記粗グリッドの最も近い倍数に丸めるステップと、各前記ステムを前記粗グリッドにセンタリングするステップとを含む請求項３に記載のアンチエイリアシングされた文字を生成する方法。
【請求項５】
前記ステムエッジをソフトエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記高解像度グリッドの最も近い倍数に丸めるステップと、前記ステム幅を前記粗グリッドと整合させるステップとを含む請求項３に記載のアンチエイリアシングされた文字を生成する方法。
【請求項６】
前記ステムエッジのソフトエッジ方針に従った整合が、近接情報およびゴーストステム情報の少なくとも一方に依存する請求項５に記載のアンチエイリアシングされた文字を生成する方法。
【請求項７】
ステムがゴーストステムである場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
左側／下部ゴーストステムの場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させるステップと、
右側／上部ゴーストステムの場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させるステップとを含む請求項６に記載のアンチエイリアシングされた文字を生成する方法。
【請求項８】
ステムがゴーストステムでない場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
前記ステムの近接が左側／下部近接かまたは右側／上部近接かを判定するステップと、
左側／下部近接の場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させるステップと、
右側／上部近接の場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させるステップとを含む請求項６に記載のアンチエイリアシングされた文字を生成する方法。
【請求項９】
装置解像度およびデジタル出力装置によって表示すべきグレイスケールの数を決定するステップと、
各セルが前記装置解像度とほぼ同じ解像度であり、したがって前記出力装置の装置ピクセルに対応するセルのマトリックスを有する粗グリッドを決定するステップと、
高解像度ピクセルのマトリックスを有し、前記粗グリッドの各セルが高解像度ピクセルの整数を含むように前記粗グリッドと整合し、セル当たりの高解像度ピクセルの数が前記グレイスケールの数によって決定される高解像度グリッドを決定するステップと、
レンダリングすべき文字に関する文字情報を生成するステップと、
前記文字情報から前記文字の初期ビットマップを前記高解像度グリッドの前記解像度で生成するステップと、
高解像度ビットマップを生成するために、前記初期ビットマップのステムを前記粗グリッドと整合させるステップとを含み、該ステムを整合させるステップが互いに異なる方針にてステムを整合させる複数のステップを含み、当該複数の整合させるステップのいずれを実行するかが、少なくともハードエッジ方針およびソフトエッジ方針を含む方針によって決定される文字を描画する方法。
【請求項１０】
文字情報を生成する前記ステップが、
レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するようにフォント解析プログラムにコールするステップと、
前記粗グリッドに対する前記文字のステムエッジの位置を決定し、かつステム幅を決定するために前記文字プログラムを実行するステップとを含む請求項９に記載の文字を描画する方法。
【請求項１１】
前記ステムを整合させる前記ステップが、少なくともステムをハードエッジ方針に従って整合させるステップと、ステムをソフトエッジ方針に従って整合させるステップを含み、少なくともハードエッジ方針およびソフトエッジ方針を含む方針によって、これら整合させるステップのいずれを実行するかが決定される請求項１０に記載の文字を描画する方法。
【請求項１２】
前記ステムをハードエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記粗グリッドの最も近い倍数に丸めるステップと、各前記ステムを前記粗グリッドにセンタリングするステップとを含む請求項１１に記載の文字を描画する方法。
【請求項１３】
前記ステムをソフトエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記高解像度グリッドの最も近い倍数に丸めるステップと、前記ステム幅を前記粗グリッドと整合させるステップとを含む請求項１１に記載の文字を描画する方法。
【請求項１４】
前記ステムのソフトエッジ方針に従った整合が、近接情報およびゴーストステム情報の少なくとも一方に依存する請求項１３に記載の文字を描画する方法。
【請求項１５】
ステムがゴーストステムである場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
左側／下部ゴーストステムの場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させるステップと、
右側／上部ゴーストステムの場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させるステップとを含む請求項１４に記載の文字を描画する方法。
【請求項１６】
ステムがゴーストステムでない場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
前記ステムの近接が左側／下部近接かまたは右側／上部近接かを判定するステップと、
左側／下部近接の場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させるステップと、
右側／上部近接の場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させるステップとを含む請求項１４に記載の文字を描画する方法。
【請求項１７】
出力装置を含むコンピュータシステムと、
クライアントプロセスからのレンダリングすべき文字についてのコールを発生させる、前記コンピュータシステム上で動作するクライアントプロセス手段であって、レンダリングすべき文字の識別、前記文字のサイズ、および前記文字を表示するのに使用されるグレイスケールの数を提供する、前記クライアントプロセス手段と、
前記文字について文字プログラムを検索し、少なくとも前記クライアントプロセスによって指定された前記グレイスケールの数によって規定された高解像度グリッドに基づいて、前記文字のステムを前記出力装置の装置解像度に対応する粗グリッドと整合させることによって前記文字をレンダリングする手段であって、それにより前記高解像度グリッドに対応する前記文字の高解像度ビットマップを得る、文字をレンダリングする前記手段と、
前記クライアントプロセス内で前記文字の前記高解像度ビットマップからアンチエイリアシングされたグレイスケールピクセルマップを前記装置解像度で生成する手段と、
前記アンチエイリアシングされたグレイスケールピクセルマップに基づいて、前記文字のイメージを前記装置解像度で前記出力装置上に生成する手段とを含むアンチエイリアシングされたグレイスケール出力を有するデジタルシステム。
【請求項１８】
文字をレンダリングする前記手段が、
レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するようにフォント解析プログラムにコールする手段と、
前記粗グリッドに対する前記文字のステムエッジの位置を決定し、かつステム幅を決定するために前記文字プログラムを前記コンピュータシステム上で実行する手段と、
前記ステムエッジを前記粗グリッドと整合させる手段とを含む請求項１７に記載のデジタルシステム。
【請求項１９】
前記クライアントプロセス手段がさらに、少なくともハードエッジ方針およびソフトエッジ方針を含む方針を提供するように動作し、かつ前記ステムエッジを整合させる手段が、前記ステムエッジをハードエッジ方針に従って整合させる手段と、前記ステムエッジをソフトエッジ方針に従って整合させる手段とを含み、前記クライアントプロセスによって提供される前記方針によって、これら整合させる手段のいずれを選択するかが決定される請求項１８に記載のデジタルシステム。
【請求項２０】
前記ステムエッジをハードエッジ方針に従って整合させる前記手段が、前記ステム幅を前記粗グリッドの最も近い倍数に丸める手段と、各前記ステムを前記粗グリッドにセンタリングする手段とを含む請求項１９に記載のデジタルシステム。
【請求項２１】
前記ステムエッジをソフトエッジ方針に従って整合させる前記手段が、前記ステム幅を前記高解像度グリッドの最も近い整数倍に丸める手段と、前記ステム幅を前記粗グリッドと整合させる手段とを含む請求項１９に記載のデジタルシステム。
【請求項２２】
前記ステムエッジのソフトエッジ方針に従った整合が、近接情報およびゴーストステム情報の少なくとも一方に依存する請求項２１に記載のデジタルシステム。
【請求項２３】
ステムがゴーストステムである場合、ステム幅を前記粗グリッドと整合させる前記手段が、
左側／下部ゴーストステムの場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させる手段と、
右側／上部ゴーストステムの場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させる手段とを含む請求項２２に記載のデジタルシステム。
【請求項２４】
ステムがゴーストステムでない場合、ステム幅を前記粗グリッドと整合させる前記手段が、
前記ステムの近接が左側／下部近接かまたは右側／上部近接かを判定する手段と、
左側／下部近接の場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させる手段と、
右側／上部近接の場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させる手段とを含む請求項２２に記載のデジタルシステム。
【請求項２５】
それぞれ出力装置解像度とほぼ同じ解像度のセルのマトリックスを有する粗グリッドを発生し、かつ高解像度ピクセルのマトリックスを有し、前記粗グリッドの各セルが高解像度ピクセルの整数を含むように前記粗グリッドと整合し、セル当たりの高解像度ピクセルの数が前記出力装置と関連するグレイスケールの数によって決定される高解像度グリッドを発生するグリッド発生器と、
前記出力装置上に表示すべき文字に関する文字情報を発生する文字情報生成器と、
前記文字情報に対して動作して、前記文字情報から前記高解像度グリッドの前記解像度で前記文字の初期ビットマップを生成するビットマップ発生器と、
前記初期ビットマップのステムを前記粗グリッドと整合させて、前記文字情報を使用することにより高解像度ビットマップを生成するステムアライナとを含む文字をグレイスケールで出力装置上に表示するのに有用な高解像度ビットマップを発生させる文字レンダラ。
【請求項２６】
前記文字情報生成器が、レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するようにフォント解析プロバイダにコールするルーチンコーラーを含む請求項２５に記載の文字レンダラ。
【請求項２７】
ステムアライナが少なくともハードエッジ方針およびソフトエッジ方針によって動作できる請求項２６に記載の文字レンダラ。
【請求項２８】
前記ステムアライナが前記ステムをハードエッジ方針に従って整合させる場合、前記ステムアライナが前記ステム幅を前記粗グリッドの最も近い倍数に丸め、各前記ステムを前記粗グリッドにセンタリングする請求項２７に記載の文字レンダラ。
【請求項２９】
前記ステムアライナが前記ステムをソフトエッジ方針に従って整合させる場合、前記ステムアライナが前記ステム幅を前記高解像度グリッドの最も近い倍数に丸め、前記ステム幅を前記粗グリッドに整合させる請求項２７に記載の文字レンダラ。
【請求項３０】
前記ステムアライナがさらに、ソフトエッジ方針に従って動作している場合に、近接情報およびゴーストステム情報に従って動作する請求項２９に記載の文字レンダラ。
【請求項３１】
ステムがゴーストステムである場合、前記ステムアライナが、左側／下部ゴーストステムの場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させ、右側／上部ゴーストステムの場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させる請求項３０に記載の文字レンダラ。
【請求項３２】
ステムがゴーストステムでない場合、前記ステムアライナが、前記ステムの近接が左側／下部近接かまたは右側／上部近接かを判定し、左側／下部近接の場合に、そのようなステムの左側／下部を左側／下部粗グリッドエッジに整合させ、右側／上部近接の場合に、そのようなステムの右側／上部を右側／上部粗グリッドエッジに整合させる請求項３０に記載の文字レンダラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にコンピュータシステムに関し、さらに詳細には、コンピュータ出力装置上に表示すべき文字を描画（レンダリング）する方法に関する。
【０００２】
【従来の技術】
コンピュータシステムは、一般に、何らかの形態の表示出力装置を含んでいる。例えば、図１において、従来技術のコンピュータシステム１０は、コンピュータ１２、キーボード１４、ディスク記憶装置１６、ビデオ表示装置１８、およびプリンタ２０を含んでいる。もちろん、コンピュータ設計の当業者なら理解できるように、コンピュータシステムは、コンピュータシステム１０によって示されるよりも多いまたは少ない構成要素を含むことができる。
【０００３】
コンピュータ１２は、中央演算処理装置（ＣＰＵ）２２、読出し専用メモリ（ＲＯＭ）２４、ランダムアクセスメモリ（ＲＡＭ）２６、および入出力（Ｉ／Ｏ）２８を含んでいる。コンピュータ１２の様々な構成要素２２−２８は、バスシステム３０によって互いに通信できるように結合されている。当業者なら理解できるように、コンピュータ１２の表現は、この議論のために高度に簡単化されているが、コンピュータの基本構成要素およびそれらの相互接続を含む。
【０００４】
キーボード１４、ディスク記憶装置１６、ビデオ表示装置１８、およびプリンタ２０などの装置は、「周辺機器」と呼ばれることが多い。それらは、コンピュータ１２に結合した場合、コンピュータシステム１０の一部となる。いくつかの周辺機器は、主としてコンピュータ１２に情報を入力するためのものであり、他の周辺機器は、コンピュータ１２から情報を出力するのに使用され、またコンピュータ周辺機器の中には、情報を入力するのにも、情報を出力するのにも使用されるものもある。
【０００５】
ビデオ表示装置１８とプリンタ２０はコンピュータ１２にとって普通の出力装置である。そのような出力装置は、一般に、コンピュータシステム１０のユーザに情報を伝達する一時的イメージまたは永久的イメージを形成する。例えば、ビデオ表示装置１８は、文字、図形、およびその他のタイプのイメージを表示できるスクリーンを含む。同様に、プリンタ２０は、文字、図形、およびその他のタイプのイメージを印刷する（すなわち「ハードコピー」を作成する）ことができる。
【０００６】
コンピュータシステム１０用のいくつかのタイプの表示出力装置は、「グレイスケール」を出力することができる。これは、出力装置のラスタマトリックス内の各ピクセルが一般的には純明から純暗までのいくつかの階調を表示できることを意味する。現代のたいていのモノクロビデオ表示装置およびカラービデオ表示装置、ビデオ投影装置、およびハイエンド連続階調白黒プリンタおよびカラープリンタは、グレイスケールを表示することができる。より古いプリンタ、白黒モニタ、およびいくつかのＬＣＤ表示装置などその他のいくつかのタイプの出力装置は、一般にグレイスケールで表示することはできない。
【０００７】
【発明が解決しようとする課題】
コンピュータ出力装置上に文字を表示する場合、いくつかの問題が生じる。本願で使用されているように、「文字」は、英数字に限定されないが、コンピュータ出力装置上に表現または表示することができる任意の形態の文字、数、記号、またはその他のコード化図案を含むことに留意されたい。これらの問題のいくつかは出力装置の解像度と関係があり、他の問題は人間の視覚と関係がある。本願で使用されているように、「解像度」とは、コンピュータ出力装置の個々のピクセルのサイズ、および出力装置のピクセル間の間隔のことをいう。
【０００８】
文字イメージングに特有の問題は、大きい文字よりも小さい文字のほうが顕著になる傾向がある。これは、小さい文字はより少ないピクセルから構成されており、したがって、小さい文字では、数個のピクセルのひずみでさえも容易に目立つためである。特にこれらのより小さい文字において起こりうるひずみのいくつかは、不釣合い「ステム」ウェート（unbalanced stem weights）、細いフィーチャの分離（disconnection of thin features）、「カウンタ」の密閉（closing of counters）、過大充填／充填不足（over/under filling）、および不正確なウェーティング（inaccurate weighting）である。これらの欠陥のうち最も顕著なものは、文字レンダリングプロセスによって生じる不正確さのために、文字の垂直ストロークおよび水平ストロークの幅が変化する不釣合い「ステム」ウェートである。他の非常に顕著な欠陥は、量子化効果による小さい文字の不正確なウェーティング効果である。換言すれば、わずか数個のピクセルの幅の文字ステムに１つのピクセル（「量子」）が付加されることで、その文字に与えられた「ウェート」がひずむ。例えば、その文字が通常のウェート文字である場合でも「ボールド」に見える。
【０００９】
図２Ａに、不釣合い「ステム」ウェートの従来技術の問題を示す。この例では、小文字の「ｍ」が高解像度グリッド３２上のアウトラインフォーム３４内と「ビットマップ」フォーム３６内の両方に重なっているのが示されている。「ビットマップ」とは、コンピュータ１２のメモリ内に記憶されたデータと表示すべき文字のイメージとの間で１対１のマッピングが行われることを意味する。すなわち、出力装置の各ピクセルは、コンピュータ内に記憶された情報のビットに対応する。アウトライン３４は、一般に、そのカバーの色から「ブラックブック」と呼ばれることが多い、米国カリフォルニア州マウンテンビューのＡｄｏｂｅ  Ｓｙｓｔｅｍｓ社から市販されているＡｄｏｂｅ  Ｔｙｐｅ  Ｉ  ｆｏｒｍａｔ、Ｖｅｒｓｉｏｎ  １．１に記載されているようなフォント解析プログラムによって提供される。この文字アウトライン３４は、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社を含む様々な供給源から市販されているレンダリングプログラムまたは「レンダラ（renderer）」によってビットマップ３６に変換または「レンダリング」される。
【００１０】
図２Ａにおいて、文字「ｍ」は、そのフォントアウトライン３４からビットマップ３６に変換されたことによって、すでにいくつかのひずみを受けていることに留意されたい。特に、文字「ｍ」の三本の垂直脚部または「ステム」は幅が異なっている。気が付くように、左側ステム３８ａは幅２ピクセル、中央ステム３８ｂは幅１ピクセル、右側ステム３８ｃは幅２ピクセルである。
【００１１】
文字は、図２Ａに示されるように高解像度グリッド上にレンダリングされることが多いが、出力装置上に表示される前に「粗グリッド」表現に変換する必要があることに留意されたい。粗グリッドの解像度は出力装置の解像度に対応する。
【００１２】
図２Ｂにおいて、高解像度グリッドから粗グリッドへの変換によりレンダラがステムを再び釣り合わせる。さらに具体的には、システムは、解析フォントプログラムによって提供される「ヒント」を使用して、文字のステムを伸張し、次いで粗グリッドに整合させる。気が付くように、図２Ｂにおいて、ステム４０ａ、４０ｂおよび４０ｃはすべて同じ幅であり、したがって、不釣合いステム問題は白黒タイプの出力装置に対しては解決される。
【００１３】
従来技術では、不釣合いステムの問題は白黒出力装置に対しては解決されたが、グレイスケール出力装置についてはその問題が再び持ち上がった。これは、グレイスケール出力装置では、「アンチエイリアシング」と呼ばれる技法を使用して、より滑らかな曲線とよりギザギザの少ない対角線のイリュージョンを実現しているためである。これは、粗グリッドのグレイスケール値を変化させることによって達成される。しかしながら、このグレイスケール操作は、アンチエイリアシングされた文字に不釣合いステムの問題を再びもたらす。
【００１４】
図２Ｃにおいて、小文字「ｍ」は、粗グリッド４２および対応する高解像度グリッド４４を背景として示されている。高解像度グリッド４４は、図面を混乱させないように、粗グリッド４２の一つのセル内にのみ示されているが、高解像度グリッド４４は、粗グリッド４２のすべてのセルと関連していることを理解されたい。粗グリッドと高解像度グリッドは以下のように関連している。出力装置が２n+１個のグレイスケール値を有する場合、粗グリッド４２の各「セル」４６は２n個のピクセル４８を有する。より具体的な例を挙げると、純白から純黒までの１７個のグレイスケールレベルが提供されている場合、高解像度グリッドの２4個すなわち１６個のピクセルが粗グリッド４２の各セル内にある。これは、高解像度グリッド４４の解像度が粗グリッド４２の４倍であることを意味する。前記のように、文字「ｍ」を表すフォントアウトライン５０が得られ、レンダラによってフォントアウトライン５０から高解像度グリッドの解像度でビットマップ５２が発生する。
【００１５】
図２Ｄにおいて、ビットマップ５２は、出力装置に送ることができるグレイスケール「ピクセルマップ」値に変換されている。これは、通常、直接的に達成される。特定のセルについてピクセルの数を計数し、この数をそのセルについてグレイスケールレベルにマップする。したがって、より多くのピクセルを有するセルは、より少ないピクセルを有するセルよりもより暗いグレイスケール値に対応する。「アンチエイリアシング」と呼ばれるこの技法は、当業者に周知のように、曲線の外観を非常に滑らかにし、対角線のギザギザを少なくする。
【００１６】
本願で使用されているように、「ピクセルマップ」は、出力装置の各ピクセルに対応する多数の値がコンピュータシステム１２のメモリ内に記憶されることを除いて、「ビットマップ」とまったく同じである。例えば、グレイスケールビデオモニタまたはカラービデオモニタ上の各ピクセルごとに、ビデオモニタの各ピクセルについての多数のグレイスケールレベルに対応する多数の数値がコンピュータ上に記憶される。
【００１７】
しかしながら、出力装置上の選択したピクセルのグレイスケールレベルを調節することによって、曲線がより滑らかになり、かつ対角線のギザギザがより少なくなるように「アンチエイリアシング」プロセスを設計した結果として、グレイスケール出力装置内で不釣合いステム問題が再び生じたことに留意されたい。さらに具体的には、ステム５４ａは、幅２ピクセルのように見え、ステム５４ｂおよび５４ｃは幅約１ピクセルのように見える。この場合も、このステム不釣合い現象は、小さい文字において非常に目立ち、出力イメージの品質を低下させる。
【００１８】
この議論では垂直ステムに焦点を当てているが、その問題は水平ステムについても同様に明らかであることに留意されたい。例えば、小文字の「ｍ」の例を挙げたが、このステム不釣合い問題は大文字「Ｅ」などの文字に関しても明らかである。さらに、垂直「ステム」またはセグメントと水平「ステム」またはセグメントの両者を、二つの垂直側部セグメントまたはステムと、二つの水平上部および下部セグメントまたはステムとを有する文字「ｏ」など、単一の文字内に見出すこともできる。
【００１９】
図３Ａ、図３Ｂおよび図３Ｃを使用して、同じ文字「ｏ」に関して垂直「ステム」と水平「ステム」の両方について説明する。図３Ａにおいて、粗グリッド５６は、文字「ｏ」のフォントアウトライン５８およびその合成ビットマップ６０とともに示されている。フォントアウトライン５８は高解像度ビットマップ６０としてレンダリングされていたが、実際の出力装置は、この例の高解像度ビットマップの１／４の解像度である粗グリッド５６の解像度でしか表示できないことを想起されたい。
【００２０】
図３Ｂに示すように、これは白黒出力装置に対してはたいした問題ではない。そのような装置では、図３Ａの高解像度ビットマップ６０は、出力装置の解像度に対応する粗ビットマップ６２に変換される。粗ビットマップは、垂直ステム６２ａと垂直ステム６２ｂが同じ幅になり、かつ水平ステム６４ａと水平ステム６４ｂが同じ幅になるように粗グリッドと整合する。上記のように、業界の慣例に従って、「ステム」は、文字「ｏ」の一部またはセグメントなど、曲線文字の一部である。さらに、ステムは、対称的に釣り合っている必要があり、必ずしも同じ幅でないことに留意されたい。例えば、ＨｅｌｖｅｔｉｃａＴＭフォントの場合、フォント開発者の設計に従って、垂直ステム６２ａおよび垂直ステム６２ｂは、水平ステム６４ａおよび水平ステム６４ｂよりも幅が大きい。「Ｈｅｌｖｅｔｉｃａ」はＬｉｎｏｔｙｐｅＡＧおよびその子会社の商標である。
【００２１】
図３Ｃにおいて、アンチエイリアシングを使用して文字「ｏ」の外観を滑らかにした場合、ステム不釣合いがもたらされた。特に、水平ステム６６ａおよび水平ステム６６ｂは幅がまったく異なっている。この特定の例では、水平ステム６８ａおよび水平ステム６８ｂは概して釣り合っているが、これは常にそうではない。また、グレイスケールピクセルマップ７０の一部は、その文字に対する「ベースライン」７２の下にあることに留意されたい。これもひずみ効果を有し、できれば回避すべきである。
【００２２】
ビットマップまたはピクセルマップとして出力装置に提供されたイメージを向上させるいくつかの試みが各出力装置メーカによって行われてきた。例えば、いくつかのＨｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社製プリンタでは、「ギザギザの」対角線を滑らかにし、かつ曲線を滑らかにしようと試みる「イメージエンハンスメント」を実現している。そのようなポストレンダリングイメージエンハンスメント機構は、一般的には有用であるが、ビットマップまたはピクセルマップ（例えばフォントアウトライン）を生成するのに使用された情報が出力装置に使用できないので、完全に成功というわけではない。したがって、ポストレンダリングイメージエンハンスメント機構では、ステム幅の不均衡などの問題を是正できない。
【００２３】
【課題を解決するための手段】
本発明は、文字内にステム幅ひずみを生成することなしに、アンチエイリアシングされた文字をコンピュータ出力装置上に生成する方法を提供する。さらに具体的には、本発明は、ステム幅を釣り合わせつつも、アンチエイリアシングの曲線平滑化の利点およびギザギザ防止の利点のすべてを提供する。
【００２４】
さらに具体的には、アンチエイリアシングされた文字をコンピュータ出力装置上に生成する方法は、レンダリングすべき特定の文字についてのクライアントプロセスからのコールを発生させるステップと、文字を文字レンダリングプログラムによって高解像度でレンダリングするステップと、文字の高解像度ビットマップのステムを粗グリッドと整合させるステップと、粗グリッドと整合した高解像度ビットマップからアンチエイリアシングされたグレイスケールピクセルマップを生成するステップと、ピクセルマップに基づいて文字のイメージを出力装置上に生成するステップとを含む。
【００２５】
クライアントプロセスからのコールを発生させるステップは、レンダリングすべき文字の識別、文字のサイズ、文字を表示するのに使用されるグレイスケールの数を含んでいることが好ましい。文字の高解像度ビットマップ表現のステムを粗グリッドと整合させるステップでは、文字のステムがアンチエイリアシングの後も釣り合ったままになる。
【００２６】
本発明による文字をレンダリングする方法は、装置解像度およびデジタル出力装置によって表示すべきグレイスケールの数を決定するステップを含む。次に、セルのマトリックスを有する粗グリッドを生成する。各セルは装置解像度とほぼ同じ解像度であり、したがって、各セルは出力装置のピクセルに対応する。また、ピクセルのマトリックスを有する高解像度グリッドを生成する。高解像度グリッドを粗グリッドと整合させ、セルごとの高解像度ピクセルの数をグレイスケールの数によって決定する。次に、レンダリングすべき文字に関する文字情報を生成し、文字情報から文字の初期ビットマップを高解像度グリッドの解像度で生成する。最後に、次の処理のために高解像度ビットマップを生成するために、初期ビットマップのステムを粗グリッドと整合させる。もちろん、粗グリッドおよび高解像度グリッドを生成するステップの説明は人間の知覚を目的とする。なぜならばそのようなプロセスは、映像原理ではなく数学原理に基づいて内部で動作するコンピュータシステム内に不要であるからである。
【００２７】
ステムエッジを整合させるステップは、少なくともハードエッジ方針（ポリシー）およびソフトエッジ方針を含む方針によって決定されることが好ましい。ハードエッジ方針に従ってステムを整合させるステップは、ステム幅を粗グリッドの最も近い倍数に丸めるステップ、および各ステムを粗グリッドにセンタリングするステップを含む。ソフトエッジ方針に従ってステムを整合させる方法は、ステム幅を高解像度グリッドの最も近い倍数に丸める方法、および次いでステム幅を粗グリッドと整合させるステップを含む。ハードエッジ方針の場合にもソフトエッジ方針の場合にも、最後の整合は、ステム幅が適切に釣り合うような、粗グリッドとの整合である。
【００２８】
アンチエイリアシングされたグレイスケール出力を有するデジタルシステムは、出力装置と、レンダリングすべき文字についてのコールを発生させるコンピュータシステム上で実行するクライアントプロセスとを有するコンピュータシステムを含んでいる。クライアントプロセスは、一般に、レンダリングすべき文字の識別、文字のサイズ、文字を表示するのに使用されるグレイスケールの数を提供する。また、このデジタルシステムは、文字を文字アウトラインから文字の高解像度ビットマップに変換し、文字のビットマップの表現のステムを、出力装置の装置解像度に対応する粗グリッドと整合させるレンダラを含んでいる。クライアントプロセスは、粗グリッドと整合した文字の高解像度ビットマップからアンチエイリアシンググレイスケールピクセルマップを生成し、コンピュータ出力装置は、ピクセルマップに基づいて、文字をスクリーン上に表示したり、それを紙上に印刷したりする。
【００２９】
アンチエイリアシングされた文字を出力装置上に表示するのに有用な高解像度ビットマップを発生させる本発明による文字レンダラは、グリッド発生器、文字情報生成器、ビットマップ発生器、およびステムアライナ（stem aligner）を含む。グリッド発生器は、それぞれ出力装置解像度とほぼ同じ解像度のセルのマトリックスを有する粗グリッドを発生し、さらに高解像度ピクセルのマトリックスを有する高解像度グリッドを発生する。この場合も、グリッドは、本質において物理的であるというよりはより概念的であり、レンダラの概念的動作を説明するのに使用される。ビットマップ発生器は、文字情報に対して動作して、文字情報から文字の初期高解像度ビットマップを生成する。ステムアライナは、高解像度ビットマップのステムを粗グリッドと整合させて、整合した高解像度ビットマップを生成する。
【００３０】
本発明の利点は、アンチエイリアシングの技法を使用して、表示される文字のイメージにあるひずみをもたらすことなしに、曲線を平滑化し、対角線のギザギザを防ぐことができることである。本発明は、レンダリングプロセス中、すなわち、不釣合いステム幅および量子化ひずみなどの問題を考慮するのに使用できる十分な文字情報がまだある間、文字の高解像度ビットマップを粗グリッドと整合させることによってこのタスクを達成する。
【００３１】
本発明の上記その他の利点は、以下の詳細な説明を読み、各種の図面を調べれば明らかとなろう。
【００３２】
【発明の実施の形態】
本発明は、図１に示されるコンピュータシステム１０などコンピュータシステム上で実行（「動作」）中のプロセスを含んでいることが好ましい。しかしながら、当業者ならよく理解できるように、本願に記載されているプロセスおよび装置は、ハードウェア同等物またはファームウェア同等物によっても実施できる。例えば、当業者に周知のように、アプリケーション特定集積回路（ＡＳＩＣ）内には、多数のフォントレンダリングプロセスおよびその他の表示プロセスが埋め込まれている。
【００３３】
図１、図２ａ〜図２ｄ、および図３ａ〜図３ｃについて従来技術に関連して議論した。図４では、コンピュータ出力装置上にアンチエイリアス文字を生成するために高解像度ビットマップを生成する本発明によるプロセス７４は、７６から始まり、ステップ７８において、文字のポインタ、サイズ、グレイスケールの数、および方針とともにクライアントからのコールを受け取る。本願で使用されているように、「クライアント」とは、さらに処理し、出力装置上に表示できる高解像度ビットマップを要求しているアプリケーションプログラム、ユーティリティ、およびその他のプロセスのことである。例えば、クライアントはワードプロセシングプログラムなどである。あるいは、クライアントはより大きい「レンダラ」の一部などである。
【００３４】
次に、ステップ８０において、プロセスは、クライアントによって命令された方針と、クライアントによって指定されたグレイスケールの数とに基づいて文字のステムを整合させる。後で詳細に説明するように、この方針は、文字を「ハードエッジ」にすべきか「ソフトエッジ」にすべきかを含む。この方針は、それぞれ「ハード」方針または「ソフト」方針とも呼ばれる。この方針は、レンダラ、クライアントによって動的に選択されるか、またはレンダのクリエータによって事前決定される。
【００３５】
グレイスケールの数は、一般に、クライアントかまたはコンピュータシステムのユーザによって規定される。例えば、出力を白黒（すなわち二つの値だけで）４グレイスケールシェード、１６グレイスケールシェード、２５６グレイスケールシェードなどで、表示するように指定できることが多い。
【００３６】
文字のステムが整合した後、ステップ８２において、グレイスケールの数に基づいて、制御を解像度依存特性に対して設定する。例えば、当業者なら理解できるように、ステップ８２では、スポットサイズ（見かけのピクセルサイズと物理的なピクセルサイズの比率）など、装置依存特性の調整が処理できる。最後に、ステップ８４において、高解像度ビットマップをクライアント９０に提供する。一般に、クライアントが高解像度ビットマップのグレイスケールレンダリングを考慮するが、そのようなグレイスケールレンダリングは、前述のように、レンダリングプロセス自体内でも達成できる。次いで、８６のところに示されるようにプロセスは終了する。
【００３７】
図５を使用して、図４のステップ７８について詳細に説明する。さらに具体的には、本発明の拡大フォントレンダラ８８は、文字のポインタ、文字のサイズ、グレイスケールの数、および方針を含むクライアント９０からのコール８９を受け取る。レンダラ８８は、９３のところに示されるように、（文字のフォントアウトラインを生成する）文字プログラム、フォント値、およびフォントファミリー値を戻すフォント解析プログラム９２へのコール９１を生成する。次いで、拡大フォントレンダラ８８は、９５のところに示されるように、高解像度ビットマップをクライアント９０へ送る。クライアント９０は、グレイスケールレンダリングを行い、低解像度ピクセルマップ９６を出力イメージ装置９４へ送る。
【００３８】
上述のように、クライアント９０は、任意のアプリケーションプログラム、ユーティリティ、または文字を出力イメージ装置９４上に表示するように要求できるその他のコンピュータ実施プロセスである。フォント解析プログラムは、米国カリフォルニア州マウンテンビューのＡｄｏｂｅ  Ｓｙｓｔｅｍｓ社から市販されているＡｄｏｂｅ  Ｔｙｐｅ  Ｉ  ｆｏｒｍａｔなどのフォントプログラムが好ましい。フォント解析プログラム９２の使用および動作の完全な説明は、前掲の「Ｂｌａｃｋ  Ｂｏｏｋ」に記載されている。
【００３９】
「Ｂｌａｃｋ  Ｂｏｏｋ」の内容を知っている当業者なら、クライアント９０などクライアントがどのようにしてレンダラへコールし、高解像度ビットマップをレンダラから受け取るのか、さらに、どのようにしてクライアント９０が出力イメージ装置９４への高解像度ビットマップからピクセルマップを生成するのかは容易に理解できる。また、フォント解析プログラム９２の使用も、レンダラからのコールの受取り、および文字プログラム、フォント値、およびフォントファミリー値の提供とともに、当業者に周知である。
【００４０】
図６に、図４のステップ８０を詳細に示す。さらに具体的には、プロセス８０は、９８のところから始まり、ステップ１００において、フォント解析プログラム９２から現在のフォントマトリックス特性およびステム特性を受け取る。この操作の詳細も「Ｂｌａｃｋ  Ｂｏｏｋ」に説明されている。次に、ステップ１０２において、ステムエッジおよびステム幅の装置グリッド位置を得るために、ステム特性をマトリックスによって変換する。
【００４１】
ステップ１０４において、方針が「ハードエッジ」方針か「ソフトエッジ」方針かを決定する。ハードエッジ方針または「ハード」方針は、垂直ステムと水平ステムが完全に黒になっている方針、すなわちグレイスケールが使用されていない方針である。「ハードエッジ」方針では、曲線と対角線のみがグレイスケールタイプアンチエイリアシング技法を受ける。反対に、ソフトエッジ方針または「ソフト」方針では、水平ステムと垂直ステムのアンチエイリアシングが可能である。
【００４２】
ハードエッジ方針を採用するか、ソフトエッジ方針を採用するかは、クライアントによって選択されるか、またはレンダラの裁量に任される。ハードエッジ方針では、ステムがより鋭く、より暗くなるが、上述のいくつかの量子化効果の欠点がある。ソフトエッジ方針では、より滑らかに見えるが、観測者によっては「ぼやけて」見えるかもしれない。
【００４３】
ハードエッジ方針を選択した場合、ステップ１０６においてステム幅を整数粗グリッドに丸める。「整数」とは、セル幅の整数倍、すなわちセル幅の０倍、１倍、２倍、３倍などを選択することを意味する。次に、ステップ１０８において、ステムを粗グリッドへセンタリングし、１１０のところでプロセスは終了する。
【００４４】
ソフト方針を選択したことがステップ１０４によって検出された場合、ステップ１１２においてステム幅を整数高解像度グリッドに丸め、次いで決定ステップ１１４においてステムが「ゴースト」ステムであるかどうか判定する。「整数」とは、この場合も同様に、高解像度グリッドピクセルの整数倍、すなわち高解像度グリッドピクセルの０倍、１倍、２倍、３倍などを意味する。「ゴースト」ステムについては、前述の「Ｂｌａｃｋ  Ｂｏｏｋ」に説明されており、要するに、制御する一つのエッジのみを有するステムである。
【００４５】
ステムがゴーストステムでない場合、ステップ１１６においてステムのグリッドへの近接度を判定し、ステムがグリッドの左側／下部により近い場合、この近接度に基づいてステムを粗グリッドの左側／下部と整合させる。ステップ１１６においてステムがセルの上部／右側により近いと判定された場合、その近接度に基づいてステムを粗グリッドセルの上部／右側に整合させる。
【００４６】
ステップ１１４においてステムがゴーストステムであると判定された場合、決定ステップ１２２においてゴーストステムのタイプを判定する。ゴーストステムが左側／下部ゴーストステムである場合、このゴースト情報に基づいてゴーストステムを粗グリッドセルの左側／下部に整合させる。ゴーストステムが上部／右側ゴーストステムである場合、ステップ１２６において、このゴースト情報に基づいてステムが粗グリッドセルの上部／右側に整合する。この調整は、ステップ１１６の場合と同様に判定された近接度ではなく、「ゴースト」ヒント自体によって指示された近接度であることに留意されたい。ステップ１１８、１２０、１２４および１２６のいずれかが終了した後、１１０のところに示されるようにプロセスは終了する。
【００４７】
図７では、図解の助けをかりて図６のハード方針ステップ１０６およびステップ１０８について説明する。図７において、粗グリッド１２８は、例示のために、一片が４ピクセルの正方形のセル１３０を有するものと仮定する。一部がセル１３０ａ内にあり、また一部が隣接するセル１３０ｂ内にある「理想的な」スポット１３２が示されている。この理想的なスポット１３２の中心を１３４のところに示す。
【００４８】
この時点で、いくつかの装置依存決定およびいくつかの設計者依存決定が行われることに留意されたい。例えば、どのようにして理想的なスポット１３２を粗グリッド１２８と整合させるかに関する決定は、使用する出力装置のタイプおよび設計者の決定に非常に左右される。例えば、たいていの第一世代パーソナルコンピュータシステムでは、日本のキャノン社製の「Ｃａｎｏｎ」プリントエンジンを使用している。これらの第一世代プリンタでは、粗グリッドのセルを完全に覆う丸いピクセルが印刷される。すなわち、丸いピクセルは、グリッドのセルの対角線にほぼ等しい直径を有する。
【００４９】
近年、いくつかの新しいタイプのプリントエンジンが開発された。例えば、米国のＸｅｒｏｘ社製の「Ｘｅｒｏｘ」エンジンでは、ピクセルが粗グリッドのセル内に完全に嵌合するように、四つの凹形辺を有するピクセルが生成される。したがって、Ｃａｎｏｎエンジンによって生成された三つのピクセルは粗グリッド３．８個のセルを覆うが、Ｘｅｒｏｘエンジンによって生成された四つのピクセルは粗グリッド３．７個のセルを覆う。
【００５０】
前記の説明を念頭に置けば、図６のステップ１０８は、出力装置が粗グリッド１２８の正方形セル３０に対応する完全に正方形のピクセルを生成できるかのように議論できる。これは現実の近似にすぎないことを理解されたい。図７に示されるように、理想的なスポット１３２が６ピクセル未満（「６−」ピクセル）の場合、幅が４ピクセルに縮み、セル１３０ａと整合する。しかしながら、スポット１３２が６ピクセル以上（「６＋」ピクセル）の場合、幅が８ピクセルに増加し、セル１３０ａとセル１３０ｂの両方が充填される。第一の例では、スポット１３２’の中心は１３４’のところ（すなわちセル１３８の中心）にあり、他の例では、スポット１３２”は、セル１３０ａとセル１３０ｂの界面のところにある中心１３４”を有する。このようにして、ステムウェイトの釣合いが保たれるように、スポット１３２を粗グリッド１２８に整合させる。
【００５１】
図８にソフトエッジ方針を示す。さらに具体的には、図８は、図６のステップ、１１２、１１８、１２０、１２４および１２６を示す。図８に示されるように、理想的なスポット１３６は、中心１３８を有し、粗グリッド１４０および高解像度グリッド１４２と関連する。前述のように、高解像度グリッドは、図面を混乱させないように、粗グリッド１４０の一つのセル１４４内にしか示されていないが、高解像度グリッド１４２は粗グリッド１４０のすべてのセルと関連することを理解されたい。
【００５２】
「ソフトエッジ」方針に従って、ステップ１１２においてまずステム幅を高解像度グリッド１４２に丸める。この例では、高解像度グリッドピクセルの一片はセル１４４の一片の１／４である。したがって、ステップ１１２において、ステム１３４の幅を粗グリッドセルの最も近い１／４に丸める。次に、丸めたステム幅と整合させる粗グリッド１４０のセルを決定する。これは、ステップ１１４、ステップ１１６およびステップ１２２の目的である。適切な粗グリッドセルが見つかったら、それに応じて丸めたステムを整合させる。
【００５３】
この例では、スポット１３６は、セル１４４ａおよび１４４ｂ内でやや中心寄りである。丸めたステムが左側セルに整合すべきであると判定された場合、ステムがセル１４４ａを完全に充填し、セル１４４ｂに部分的に重なるように、ステムを位置１３６’へ移動させる。他方、ステムを右側セルと整合させる場合、ステムがセル１４４ｂを完全に充填し、セル１４４ａと部分的に重なるように、ステムを移動させる。
【００５４】
類推により、ステム１３６が垂直方向においてセルと部分的にのみ重なる場合、同様にして、ステムを粗グリッドのセルの上部または下部に整合できる。さらに、ステムが垂直方向においても水平方向においてもセルと部分的にのみ重なる場合、ステムが左側／下部方向においても上部／右側方向においても粗グリッドのセルと整合するようにステムを移動できる。したがって、水平ステムも垂直ステムも、本発明のプロセスおよび装置によって処理できる。
【００５５】
前記の説明および図解では、本発明の基本的なプロセスおよび装置について説明した。前述のように、本発明のプロセスは、ビデオモニタ、ビデオ投影システム、または連続色調プリンタなど出力装置上にイメージを提供する汎用コンピュータシステム上で実施することが好ましい。本発明のプロセスおよび装置について二つの例示の例に関してさらに議論する。
【００５６】
例１−小文字「ｍ」
図９ａに、粗グリッド１４６上に重なった文字「ｍ」のフォントアウトライン１４８を示す。高解像度ビットマップ１５０をこのフォントアウトライン１４８から生成する。高解像度ビットマップ１５０は高解像度グリッド１５２と整合していることに留意されたい。
【００５７】
図９ｂに、本発明の「ソフトエッジ」方針に従って生成したピクセルマップを示す。高解像度ビットマップ１５０をまず高解像度グリッド１５２に対して丸め、次いで上述のように粗グリッド１４６と整合させる。次いで、この丸めかつ整合したビットマップによってピクセルマップ１５４を生成して、適切なグレイスケールデータを出力装置へ提供する。図を見ればわかるように、ステム１５６ａ、１５６ｂおよび１５６ｃはすべて同じ幅であり、ほぼ同じピクセル密度を有する。これにより、ステム幅の釣合いを保ちつつも、アンチエイリアシングされた出力が得られる。
【００５８】
ハードエッジ方針について図９ｃを参照しながら説明する。この例では、図９ａに示されるデータを、ステム１５８ａ、１５８ｂおよび１５８ｃがそれぞれ粗グリッド１４８のセル１６０の幅を有するように「伸張」する。これは、図６のステップ１０６およびステップ１０８と一致する。次に、図９ｃの「伸張」したビットマップ１６０を図９ｄのグレイスケールピクセルマップ１６４に変換する。再度、ピクセルマップ１６４のステム１６６ａ、１６６ｂおよび１６６ｃは同じ幅であり、実質上同じ密度である。これにより、文字「ｍ」がアンチエイリアシングされつつも、そのステムウェイトの釣合いが保たれる。
【００５９】
例２−小文字「ｏ」
図１０ａにおいて、「ｏ」は粗グリッド１６８上および高解像度グリッド１７０上に重なっている。さらに具体的には、フォントアウトライン１７２を使用して、文字「ｏ」の細かいビットマップ１７４を生成する。図示のビットマップが「Ｈｅｌｖｅｔｉｃａ」ファミリーからのものであること、および「ｏ」の上部および下部が「ｏ」の二つの辺よりも細いことに留意されたい。
【００６０】
図１０ｂにソフトエッジ方針による図１０ａのビットマップ１７４から生成したピクセルマップ１７６を示す。前述のように、ソフトエッジ方針ではまずステムを高解像度グリッド１７０に丸め、次いで丸めたステムを粗グリッド１６８と整合させる。その結果、図１０ｂに示されるように、右側ステム１７８ｂに実質上等しい左側ステム１７８ａを有し、同時に下部ステム１８０ｂに実質上等しい上部ステム１８０ａを有するピクセルマップが得られる。したがって、「ｏ」のこのアンチエイリアシングされたレンダリングでは、本発明によ水平方向においても垂直方向においてもステムウェイトの釣合いが保たれる。
【００６１】
図１０ｃにおいて、ハードエッジ方針に従って図１０ａのビットマップ１７４から伸張されたビットマップ１８２を生成する。上述のように、左側ステム１８４ａと右側ステム１８４ｂは、それらがステムの四つのセルを完全に充填するように伸張されており、上部ステム１８６ａと下部ステム１８６ｂは、粗グリッド１６８の二つの上部セルおよび二つの下部セルを充填するように同様に伸張されている。これは、前述の整数粗グリッドに丸めるステップおよび粗グリッド整合ステップに一致する。
【００６２】
図１０ｄにおいて、ビットマップ１８２は、前述のようにグレイスケールピクセルマップ１８８に変換されている。左側ステム１９０ａと右側ステム１９０ｂは、上部ステム１９２ａと下部ステム１９０ｂと同様に釣り合っていることに留意されたい。また、文字「ｏ」の下部１９４は、粗グリッド１６８のベースライン１９６の下にはこないことにも留意されたい。
【００６３】
以上、本発明についていくつかの好ましい実施形態に関して説明したが、本発明の範囲内に入る変更例、代替例および同等物がある。また、本発明のプロセスならびに装置を実施する多数の方法のこと、および教示および明確さのためにいくつかの概念が導入されたことにも留意されたい。
【００６４】
例えば、前述のように、粗グリッドおよび高解像度グリッドは、実際に本プロセス内で「構成」するのではなく、本願で本発明の概念を説明するのに使用することが好ましい。また、当業者なら理解できるように、ステップの順序はしばしば変更され、いくつかのステップは明確さのために簡単化されている。例えば、「高解像度ビットマップをレンダリングする」ステップは、まず高解像度「ヒント」マップを生成し、ヒントマップを調整し、次いで高解像度ビットマップの実際のピクセルをレンダリングすることによって実施することが好ましい。当業者なら理解できるように、「ヒントマップ」は、文字のグリッド嵌合整合領域の高解像度表現にすぎない。あるいは、高解像度ビットマップレンダリングステップは、上述の単一ステップでもよい。
【００６５】
したがって、頭記の請求の範囲は、本発明の精神および範囲内に入るそのようなすべての変更例、代替例および同等物を含むものと考えるべきである。
【図面の簡単な説明】
【図１】本発明の方法および装置に適したホストでもある代表的な従来技術のコンピュータシステムのブロック図である。
【図２Ａ】文字「ｍ」についての従来技術の高解像度ビットマップのビューである。
【図２Ｂ】白黒出力装置上に表示された場合に、釣り合ったステム幅を有するように見えるように伸張され、粗グリッドと整合した文字「ｍ」の従来技術のビットマップのビューである。
【図２Ｃ】高解像度ビットマップ内にレンダリングされた文字「ｍ」を示す図である。
【図２Ｄ】図２Ｃのビットマップのアンチエイリアシングされたものが提供される不釣合いステム幅を示す図である。
【図３Ａ】文字「ｏ」の高解像度ビットマップを示す図である。
【図３Ｂ】白黒出力装置についての図３Ａの高解像度ビットマップの低解像度ビットマップへの変換を示す図である。
【図３Ｃ】図３Ａのビットマップから導出された従来技術のグレイスケール出力装置についてのピクセルマップを示す図である。
【図４】本発明による釣り合ったステム幅を有するアンチエイリアシングされた文字を生成する方法の流れ図である。
【図５】図４の「クライアントからコールを受けとる」ステップの図である。
【図６】図４の「ステムを整合させる」ステップの流れ図である。
【図７】図６の「ステム幅を粗グリッドに丸める」ステップおよび「ステムを粗グリッドへセンタリングする」ステップを示す図である。
【図８】図６の「ステム幅を高解像度グリッドに丸める」ステップおよび「左／下部および上部／右を粗グリッドに整合させる」ステップを示す図である。
【図９Ａ】本発明の方法の第一の例を説明するのに使用する図である。
【図９Ｂ】本発明の方法の第一の例を説明するのに使用する図である。
【図９Ｃ】本発明の方法の第一の例を説明するのに使用する図である。
【図９Ｄ】本発明の方法の第一の例を説明するのに使用する図である。
【図１０Ａ】本発明の方法の第二の例を説明するのに使用する図である。
【図１０Ｂ】本発明の方法の第二の例を説明するのに使用する図である。
【図１０Ｃ】本発明の方法の第二の例を説明するのに使用する図である。
【図１０Ｄ】本発明の方法の第二の例を説明するのに使用する図である。
【符号の説明】
１０  コンピュータシステム
１２  コンピュータ
１４  キーボード
１６  ディスク記憶装置
１８  ビデオ表示装置
２０  プリンタ
２２  中央演算処理装置（ＣＰＵ）
２４  読出し専用メモリ（ＲＯＭ）
２６  ランダムアクセスメモリ（ＲＡＭ）
２８  入出力（Ｉ／Ｏ）
【図１】
0003819976.tif 000002
【図２Ａ】
0003819976.tif 000003
【図２Ｂ】
0003819976.tif 000004
【図２Ｃ】
0003819976.tif 000005
【図２Ｄ】
0003819976.tif 000006
【図３Ａ】
0003819976.tif 000007
【図３Ｂ】
0003819976.tif 000008
【図３Ｃ】
0003819976.tif 000009
【図４】
0003819976.tif 000010
【図５】
0003819976.tif 000011
【図６】
0003819976.tif 000012
【図７】
0003819976.tif 000013
【図８】
0003819976.tif 000014
【図９Ａ】
0003819976.tif 000015
【図９Ｂ】
0003819976.tif 000016
【図９Ｃ】
0003819976.tif 000017
【図９Ｄ】
0003819976.tif 000018
【図１０Ａ】
0003819976.tif 000019
【図１０Ｂ】
0003819976.tif 000020
【図１０Ｃ】
0003819976.tif 000021
【図１０Ｄ】
0003819976.tif 000022