JP3819976B2 - 文字描画方法及び装置 - Google Patents
文字描画方法及び装置 Download PDFInfo
- Publication number
- JP3819976B2 JP3819976B2 JP31684496A JP31684496A JP3819976B2 JP 3819976 B2 JP3819976 B2 JP 3819976B2 JP 31684496 A JP31684496 A JP 31684496A JP 31684496 A JP31684496 A JP 31684496A JP 3819976 B2 JP3819976 B2 JP 3819976B2
- Authority
- JP
- Japan
- Prior art keywords
- stem
- character
- aligning
- coarse grid
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
- G09G5/28—Generation of individual character patterns for enhancement of character form, e.g. smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、一般にコンピュータシステムに関し、さらに詳細には、コンピュータ出力装置上に表示すべき文字を描画(レンダリング)する方法に関する。
【0002】
【従来の技術】
コンピュータシステムは、一般に、何らかの形態の表示出力装置を含んでいる。例えば、図1において、従来技術のコンピュータシステム10は、コンピュータ12、キーボード14、ディスク記憶装置16、ビデオ表示装置18、およびプリンタ20を含んでいる。もちろん、コンピュータ設計の当業者なら理解できるように、コンピュータシステムは、コンピュータシステム10によって示されるよりも多いまたは少ない構成要素を含むことができる。
【0003】
コンピュータ12は、中央演算処理装置(CPU)22、読出し専用メモリ(ROM)24、ランダムアクセスメモリ(RAM)26、および入出力(I/O)28を含んでいる。コンピュータ12の様々な構成要素22−28は、バスシステム30によって互いに通信できるように結合されている。当業者なら理解できるように、コンピュータ12の表現は、この議論のために高度に簡単化されているが、コンピュータの基本構成要素およびそれらの相互接続を含む。
【0004】
キーボード14、ディスク記憶装置16、ビデオ表示装置18、およびプリンタ20などの装置は、「周辺機器」と呼ばれることが多い。それらは、コンピュータ12に結合した場合、コンピュータシステム10の一部となる。いくつかの周辺機器は、主としてコンピュータ12に情報を入力するためのものであり、他の周辺機器は、コンピュータ12から情報を出力するのに使用され、またコンピュータ周辺機器の中には、情報を入力するのにも、情報を出力するのにも使用されるものもある。
【0005】
ビデオ表示装置18とプリンタ20はコンピュータ12にとって普通の出力装置である。そのような出力装置は、一般に、コンピュータシステム10のユーザに情報を伝達する一時的イメージまたは永久的イメージを形成する。例えば、ビデオ表示装置18は、文字、図形、およびその他のタイプのイメージを表示できるスクリーンを含む。同様に、プリンタ20は、文字、図形、およびその他のタイプのイメージを印刷する(すなわち「ハードコピー」を作成する)ことができる。
【0006】
コンピュータシステム10用のいくつかのタイプの表示出力装置は、「グレイスケール」を出力することができる。これは、出力装置のラスタマトリックス内の各ピクセルが一般的には純明から純暗までのいくつかの階調を表示できることを意味する。現代のたいていのモノクロビデオ表示装置およびカラービデオ表示装置、ビデオ投影装置、およびハイエンド連続階調白黒プリンタおよびカラープリンタは、グレイスケールを表示することができる。より古いプリンタ、白黒モニタ、およびいくつかのLCD表示装置などその他のいくつかのタイプの出力装置は、一般にグレイスケールで表示することはできない。
【0007】
【発明が解決しようとする課題】
コンピュータ出力装置上に文字を表示する場合、いくつかの問題が生じる。本願で使用されているように、「文字」は、英数字に限定されないが、コンピュータ出力装置上に表現または表示することができる任意の形態の文字、数、記号、またはその他のコード化図案を含むことに留意されたい。これらの問題のいくつかは出力装置の解像度と関係があり、他の問題は人間の視覚と関係がある。本願で使用されているように、「解像度」とは、コンピュータ出力装置の個々のピクセルのサイズ、および出力装置のピクセル間の間隔のことをいう。
【0008】
文字イメージングに特有の問題は、大きい文字よりも小さい文字のほうが顕著になる傾向がある。これは、小さい文字はより少ないピクセルから構成されており、したがって、小さい文字では、数個のピクセルのひずみでさえも容易に目立つためである。特にこれらのより小さい文字において起こりうるひずみのいくつかは、不釣合い「ステム」ウェート(unbalanced stem weights)、細いフィーチャの分離(disconnection of thin features)、「カウンタ」の密閉(closing of counters)、過大充填/充填不足(over/under filling)、および不正確なウェーティング(inaccurate weighting)である。これらの欠陥のうち最も顕著なものは、文字レンダリングプロセスによって生じる不正確さのために、文字の垂直ストロークおよび水平ストロークの幅が変化する不釣合い「ステム」ウェートである。他の非常に顕著な欠陥は、量子化効果による小さい文字の不正確なウェーティング効果である。換言すれば、わずか数個のピクセルの幅の文字ステムに1つのピクセル(「量子」)が付加されることで、その文字に与えられた「ウェート」がひずむ。例えば、その文字が通常のウェート文字である場合でも「ボールド」に見える。
【0009】
図2Aに、不釣合い「ステム」ウェートの従来技術の問題を示す。この例では、小文字の「m」が高解像度グリッド32上のアウトラインフォーム34内と「ビットマップ」フォーム36内の両方に重なっているのが示されている。「ビットマップ」とは、コンピュータ12のメモリ内に記憶されたデータと表示すべき文字のイメージとの間で1対1のマッピングが行われることを意味する。すなわち、出力装置の各ピクセルは、コンピュータ内に記憶された情報のビットに対応する。アウトライン34は、一般に、そのカバーの色から「ブラックブック」と呼ばれることが多い、米国カリフォルニア州マウンテンビューのAdobe Systems社から市販されているAdobe Type I format、Version 1.1に記載されているようなフォント解析プログラムによって提供される。この文字アウトライン34は、Adobe Systems社を含む様々な供給源から市販されているレンダリングプログラムまたは「レンダラ(renderer)」によってビットマップ36に変換または「レンダリング」される。
【0010】
図2Aにおいて、文字「m」は、そのフォントアウトライン34からビットマップ36に変換されたことによって、すでにいくつかのひずみを受けていることに留意されたい。特に、文字「m」の三本の垂直脚部または「ステム」は幅が異なっている。気が付くように、左側ステム38aは幅2ピクセル、中央ステム38bは幅1ピクセル、右側ステム38cは幅2ピクセルである。
【0011】
文字は、図2Aに示されるように高解像度グリッド上にレンダリングされることが多いが、出力装置上に表示される前に「粗グリッド」表現に変換する必要があることに留意されたい。粗グリッドの解像度は出力装置の解像度に対応する。
【0012】
図2Bにおいて、高解像度グリッドから粗グリッドへの変換によりレンダラがステムを再び釣り合わせる。さらに具体的には、システムは、解析フォントプログラムによって提供される「ヒント」を使用して、文字のステムを伸張し、次いで粗グリッドに整合させる。気が付くように、図2Bにおいて、ステム40a、40bおよび40cはすべて同じ幅であり、したがって、不釣合いステム問題は白黒タイプの出力装置に対しては解決される。
【0013】
従来技術では、不釣合いステムの問題は白黒出力装置に対しては解決されたが、グレイスケール出力装置についてはその問題が再び持ち上がった。これは、グレイスケール出力装置では、「アンチエイリアシング」と呼ばれる技法を使用して、より滑らかな曲線とよりギザギザの少ない対角線のイリュージョンを実現しているためである。これは、粗グリッドのグレイスケール値を変化させることによって達成される。しかしながら、このグレイスケール操作は、アンチエイリアシングされた文字に不釣合いステムの問題を再びもたらす。
【0014】
図2Cにおいて、小文字「m」は、粗グリッド42および対応する高解像度グリッド44を背景として示されている。高解像度グリッド44は、図面を混乱させないように、粗グリッド42の一つのセル内にのみ示されているが、高解像度グリッド44は、粗グリッド42のすべてのセルと関連していることを理解されたい。粗グリッドと高解像度グリッドは以下のように関連している。出力装置が2n+1個のグレイスケール値を有する場合、粗グリッド42の各「セル」46は2n個のピクセル48を有する。より具体的な例を挙げると、純白から純黒までの17個のグレイスケールレベルが提供されている場合、高解像度グリッドの24個すなわち16個のピクセルが粗グリッド42の各セル内にある。これは、高解像度グリッド44の解像度が粗グリッド42の4倍であることを意味する。前記のように、文字「m」を表すフォントアウトライン50が得られ、レンダラによってフォントアウトライン50から高解像度グリッドの解像度でビットマップ52が発生する。
【0015】
図2Dにおいて、ビットマップ52は、出力装置に送ることができるグレイスケール「ピクセルマップ」値に変換されている。これは、通常、直接的に達成される。特定のセルについてピクセルの数を計数し、この数をそのセルについてグレイスケールレベルにマップする。したがって、より多くのピクセルを有するセルは、より少ないピクセルを有するセルよりもより暗いグレイスケール値に対応する。「アンチエイリアシング」と呼ばれるこの技法は、当業者に周知のように、曲線の外観を非常に滑らかにし、対角線のギザギザを少なくする。
【0016】
本願で使用されているように、「ピクセルマップ」は、出力装置の各ピクセルに対応する多数の値がコンピュータシステム12のメモリ内に記憶されることを除いて、「ビットマップ」とまったく同じである。例えば、グレイスケールビデオモニタまたはカラービデオモニタ上の各ピクセルごとに、ビデオモニタの各ピクセルについての多数のグレイスケールレベルに対応する多数の数値がコンピュータ上に記憶される。
【0017】
しかしながら、出力装置上の選択したピクセルのグレイスケールレベルを調節することによって、曲線がより滑らかになり、かつ対角線のギザギザがより少なくなるように「アンチエイリアシング」プロセスを設計した結果として、グレイスケール出力装置内で不釣合いステム問題が再び生じたことに留意されたい。さらに具体的には、ステム54aは、幅2ピクセルのように見え、ステム54bおよび54cは幅約1ピクセルのように見える。この場合も、このステム不釣合い現象は、小さい文字において非常に目立ち、出力イメージの品質を低下させる。
【0018】
この議論では垂直ステムに焦点を当てているが、その問題は水平ステムについても同様に明らかであることに留意されたい。例えば、小文字の「m」の例を挙げたが、このステム不釣合い問題は大文字「E」などの文字に関しても明らかである。さらに、垂直「ステム」またはセグメントと水平「ステム」またはセグメントの両者を、二つの垂直側部セグメントまたはステムと、二つの水平上部および下部セグメントまたはステムとを有する文字「o」など、単一の文字内に見出すこともできる。
【0019】
図3A、図3Bおよび図3Cを使用して、同じ文字「o」に関して垂直「ステム」と水平「ステム」の両方について説明する。図3Aにおいて、粗グリッド56は、文字「o」のフォントアウトライン58およびその合成ビットマップ60とともに示されている。フォントアウトライン58は高解像度ビットマップ60としてレンダリングされていたが、実際の出力装置は、この例の高解像度ビットマップの1/4の解像度である粗グリッド56の解像度でしか表示できないことを想起されたい。
【0020】
図3Bに示すように、これは白黒出力装置に対してはたいした問題ではない。そのような装置では、図3Aの高解像度ビットマップ60は、出力装置の解像度に対応する粗ビットマップ62に変換される。粗ビットマップは、垂直ステム62aと垂直ステム62bが同じ幅になり、かつ水平ステム64aと水平ステム64bが同じ幅になるように粗グリッドと整合する。上記のように、業界の慣例に従って、「ステム」は、文字「o」の一部またはセグメントなど、曲線文字の一部である。さらに、ステムは、対称的に釣り合っている必要があり、必ずしも同じ幅でないことに留意されたい。例えば、HelveticaTMフォントの場合、フォント開発者の設計に従って、垂直ステム62aおよび垂直ステム62bは、水平ステム64aおよび水平ステム64bよりも幅が大きい。「Helvetica」はLinotypeAGおよびその子会社の商標である。
【0021】
図3Cにおいて、アンチエイリアシングを使用して文字「o」の外観を滑らかにした場合、ステム不釣合いがもたらされた。特に、水平ステム66aおよび水平ステム66bは幅がまったく異なっている。この特定の例では、水平ステム68aおよび水平ステム68bは概して釣り合っているが、これは常にそうではない。また、グレイスケールピクセルマップ70の一部は、その文字に対する「ベースライン」72の下にあることに留意されたい。これもひずみ効果を有し、できれば回避すべきである。
【0022】
ビットマップまたはピクセルマップとして出力装置に提供されたイメージを向上させるいくつかの試みが各出力装置メーカによって行われてきた。例えば、いくつかのHewlett−Packard社製プリンタでは、「ギザギザの」対角線を滑らかにし、かつ曲線を滑らかにしようと試みる「イメージエンハンスメント」を実現している。そのようなポストレンダリングイメージエンハンスメント機構は、一般的には有用であるが、ビットマップまたはピクセルマップ(例えばフォントアウトライン)を生成するのに使用された情報が出力装置に使用できないので、完全に成功というわけではない。したがって、ポストレンダリングイメージエンハンスメント機構では、ステム幅の不均衡などの問題を是正できない。
【0023】
【課題を解決するための手段】
本発明は、文字内にステム幅ひずみを生成することなしに、アンチエイリアシングされた文字をコンピュータ出力装置上に生成する方法を提供する。さらに具体的には、本発明は、ステム幅を釣り合わせつつも、アンチエイリアシングの曲線平滑化の利点およびギザギザ防止の利点のすべてを提供する。
【0024】
さらに具体的には、アンチエイリアシングされた文字をコンピュータ出力装置上に生成する方法は、レンダリングすべき特定の文字についてのクライアントプロセスからのコールを発生させるステップと、文字を文字レンダリングプログラムによって高解像度でレンダリングするステップと、文字の高解像度ビットマップのステムを粗グリッドと整合させるステップと、粗グリッドと整合した高解像度ビットマップからアンチエイリアシングされたグレイスケールピクセルマップを生成するステップと、ピクセルマップに基づいて文字のイメージを出力装置上に生成するステップとを含む。
【0025】
クライアントプロセスからのコールを発生させるステップは、レンダリングすべき文字の識別、文字のサイズ、文字を表示するのに使用されるグレイスケールの数を含んでいることが好ましい。文字の高解像度ビットマップ表現のステムを粗グリッドと整合させるステップでは、文字のステムがアンチエイリアシングの後も釣り合ったままになる。
【0026】
本発明による文字をレンダリングする方法は、装置解像度およびデジタル出力装置によって表示すべきグレイスケールの数を決定するステップを含む。次に、セルのマトリックスを有する粗グリッドを生成する。各セルは装置解像度とほぼ同じ解像度であり、したがって、各セルは出力装置のピクセルに対応する。また、ピクセルのマトリックスを有する高解像度グリッドを生成する。高解像度グリッドを粗グリッドと整合させ、セルごとの高解像度ピクセルの数をグレイスケールの数によって決定する。次に、レンダリングすべき文字に関する文字情報を生成し、文字情報から文字の初期ビットマップを高解像度グリッドの解像度で生成する。最後に、次の処理のために高解像度ビットマップを生成するために、初期ビットマップのステムを粗グリッドと整合させる。もちろん、粗グリッドおよび高解像度グリッドを生成するステップの説明は人間の知覚を目的とする。なぜならばそのようなプロセスは、映像原理ではなく数学原理に基づいて内部で動作するコンピュータシステム内に不要であるからである。
【0027】
ステムエッジを整合させるステップは、少なくともハードエッジ方針(ポリシー)およびソフトエッジ方針を含む方針によって決定されることが好ましい。ハードエッジ方針に従ってステムを整合させるステップは、ステム幅を粗グリッドの最も近い倍数に丸めるステップ、および各ステムを粗グリッドにセンタリングするステップを含む。ソフトエッジ方針に従ってステムを整合させる方法は、ステム幅を高解像度グリッドの最も近い倍数に丸める方法、および次いでステム幅を粗グリッドと整合させるステップを含む。ハードエッジ方針の場合にもソフトエッジ方針の場合にも、最後の整合は、ステム幅が適切に釣り合うような、粗グリッドとの整合である。
【0028】
アンチエイリアシングされたグレイスケール出力を有するデジタルシステムは、出力装置と、レンダリングすべき文字についてのコールを発生させるコンピュータシステム上で実行するクライアントプロセスとを有するコンピュータシステムを含んでいる。クライアントプロセスは、一般に、レンダリングすべき文字の識別、文字のサイズ、文字を表示するのに使用されるグレイスケールの数を提供する。また、このデジタルシステムは、文字を文字アウトラインから文字の高解像度ビットマップに変換し、文字のビットマップの表現のステムを、出力装置の装置解像度に対応する粗グリッドと整合させるレンダラを含んでいる。クライアントプロセスは、粗グリッドと整合した文字の高解像度ビットマップからアンチエイリアシンググレイスケールピクセルマップを生成し、コンピュータ出力装置は、ピクセルマップに基づいて、文字をスクリーン上に表示したり、それを紙上に印刷したりする。
【0029】
アンチエイリアシングされた文字を出力装置上に表示するのに有用な高解像度ビットマップを発生させる本発明による文字レンダラは、グリッド発生器、文字情報生成器、ビットマップ発生器、およびステムアライナ(stem aligner)を含む。グリッド発生器は、それぞれ出力装置解像度とほぼ同じ解像度のセルのマトリックスを有する粗グリッドを発生し、さらに高解像度ピクセルのマトリックスを有する高解像度グリッドを発生する。この場合も、グリッドは、本質において物理的であるというよりはより概念的であり、レンダラの概念的動作を説明するのに使用される。ビットマップ発生器は、文字情報に対して動作して、文字情報から文字の初期高解像度ビットマップを生成する。ステムアライナは、高解像度ビットマップのステムを粗グリッドと整合させて、整合した高解像度ビットマップを生成する。
【0030】
本発明の利点は、アンチエイリアシングの技法を使用して、表示される文字のイメージにあるひずみをもたらすことなしに、曲線を平滑化し、対角線のギザギザを防ぐことができることである。本発明は、レンダリングプロセス中、すなわち、不釣合いステム幅および量子化ひずみなどの問題を考慮するのに使用できる十分な文字情報がまだある間、文字の高解像度ビットマップを粗グリッドと整合させることによってこのタスクを達成する。
【0031】
本発明の上記その他の利点は、以下の詳細な説明を読み、各種の図面を調べれば明らかとなろう。
【0032】
【発明の実施の形態】
本発明は、図1に示されるコンピュータシステム10などコンピュータシステム上で実行(「動作」)中のプロセスを含んでいることが好ましい。しかしながら、当業者ならよく理解できるように、本願に記載されているプロセスおよび装置は、ハードウェア同等物またはファームウェア同等物によっても実施できる。例えば、当業者に周知のように、アプリケーション特定集積回路(ASIC)内には、多数のフォントレンダリングプロセスおよびその他の表示プロセスが埋め込まれている。
【0033】
図1、図2a〜図2d、および図3a〜図3cについて従来技術に関連して議論した。図4では、コンピュータ出力装置上にアンチエイリアス文字を生成するために高解像度ビットマップを生成する本発明によるプロセス74は、76から始まり、ステップ78において、文字のポインタ、サイズ、グレイスケールの数、および方針とともにクライアントからのコールを受け取る。本願で使用されているように、「クライアント」とは、さらに処理し、出力装置上に表示できる高解像度ビットマップを要求しているアプリケーションプログラム、ユーティリティ、およびその他のプロセスのことである。例えば、クライアントはワードプロセシングプログラムなどである。あるいは、クライアントはより大きい「レンダラ」の一部などである。
【0034】
次に、ステップ80において、プロセスは、クライアントによって命令された方針と、クライアントによって指定されたグレイスケールの数とに基づいて文字のステムを整合させる。後で詳細に説明するように、この方針は、文字を「ハードエッジ」にすべきか「ソフトエッジ」にすべきかを含む。この方針は、それぞれ「ハード」方針または「ソフト」方針とも呼ばれる。この方針は、レンダラ、クライアントによって動的に選択されるか、またはレンダのクリエータによって事前決定される。
【0035】
グレイスケールの数は、一般に、クライアントかまたはコンピュータシステムのユーザによって規定される。例えば、出力を白黒(すなわち二つの値だけで)4グレイスケールシェード、16グレイスケールシェード、256グレイスケールシェードなどで、表示するように指定できることが多い。
【0036】
文字のステムが整合した後、ステップ82において、グレイスケールの数に基づいて、制御を解像度依存特性に対して設定する。例えば、当業者なら理解できるように、ステップ82では、スポットサイズ(見かけのピクセルサイズと物理的なピクセルサイズの比率)など、装置依存特性の調整が処理できる。最後に、ステップ84において、高解像度ビットマップをクライアント90に提供する。一般に、クライアントが高解像度ビットマップのグレイスケールレンダリングを考慮するが、そのようなグレイスケールレンダリングは、前述のように、レンダリングプロセス自体内でも達成できる。次いで、86のところに示されるようにプロセスは終了する。
【0037】
図5を使用して、図4のステップ78について詳細に説明する。さらに具体的には、本発明の拡大フォントレンダラ88は、文字のポインタ、文字のサイズ、グレイスケールの数、および方針を含むクライアント90からのコール89を受け取る。レンダラ88は、93のところに示されるように、(文字のフォントアウトラインを生成する)文字プログラム、フォント値、およびフォントファミリー値を戻すフォント解析プログラム92へのコール91を生成する。次いで、拡大フォントレンダラ88は、95のところに示されるように、高解像度ビットマップをクライアント90へ送る。クライアント90は、グレイスケールレンダリングを行い、低解像度ピクセルマップ96を出力イメージ装置94へ送る。
【0038】
上述のように、クライアント90は、任意のアプリケーションプログラム、ユーティリティ、または文字を出力イメージ装置94上に表示するように要求できるその他のコンピュータ実施プロセスである。フォント解析プログラムは、米国カリフォルニア州マウンテンビューのAdobe Systems社から市販されているAdobe Type I formatなどのフォントプログラムが好ましい。フォント解析プログラム92の使用および動作の完全な説明は、前掲の「Black Book」に記載されている。
【0039】
「Black Book」の内容を知っている当業者なら、クライアント90などクライアントがどのようにしてレンダラへコールし、高解像度ビットマップをレンダラから受け取るのか、さらに、どのようにしてクライアント90が出力イメージ装置94への高解像度ビットマップからピクセルマップを生成するのかは容易に理解できる。また、フォント解析プログラム92の使用も、レンダラからのコールの受取り、および文字プログラム、フォント値、およびフォントファミリー値の提供とともに、当業者に周知である。
【0040】
図6に、図4のステップ80を詳細に示す。さらに具体的には、プロセス80は、98のところから始まり、ステップ100において、フォント解析プログラム92から現在のフォントマトリックス特性およびステム特性を受け取る。この操作の詳細も「Black Book」に説明されている。次に、ステップ102において、ステムエッジおよびステム幅の装置グリッド位置を得るために、ステム特性をマトリックスによって変換する。
【0041】
ステップ104において、方針が「ハードエッジ」方針か「ソフトエッジ」方針かを決定する。ハードエッジ方針または「ハード」方針は、垂直ステムと水平ステムが完全に黒になっている方針、すなわちグレイスケールが使用されていない方針である。「ハードエッジ」方針では、曲線と対角線のみがグレイスケールタイプアンチエイリアシング技法を受ける。反対に、ソフトエッジ方針または「ソフト」方針では、水平ステムと垂直ステムのアンチエイリアシングが可能である。
【0042】
ハードエッジ方針を採用するか、ソフトエッジ方針を採用するかは、クライアントによって選択されるか、またはレンダラの裁量に任される。ハードエッジ方針では、ステムがより鋭く、より暗くなるが、上述のいくつかの量子化効果の欠点がある。ソフトエッジ方針では、より滑らかに見えるが、観測者によっては「ぼやけて」見えるかもしれない。
【0043】
ハードエッジ方針を選択した場合、ステップ106においてステム幅を整数粗グリッドに丸める。「整数」とは、セル幅の整数倍、すなわちセル幅の0倍、1倍、2倍、3倍などを選択することを意味する。次に、ステップ108において、ステムを粗グリッドへセンタリングし、110のところでプロセスは終了する。
【0044】
ソフト方針を選択したことがステップ104によって検出された場合、ステップ112においてステム幅を整数高解像度グリッドに丸め、次いで決定ステップ114においてステムが「ゴースト」ステムであるかどうか判定する。「整数」とは、この場合も同様に、高解像度グリッドピクセルの整数倍、すなわち高解像度グリッドピクセルの0倍、1倍、2倍、3倍などを意味する。「ゴースト」ステムについては、前述の「Black Book」に説明されており、要するに、制御する一つのエッジのみを有するステムである。
【0045】
ステムがゴーストステムでない場合、ステップ116においてステムのグリッドへの近接度を判定し、ステムがグリッドの左側/下部により近い場合、この近接度に基づいてステムを粗グリッドの左側/下部と整合させる。ステップ116においてステムがセルの上部/右側により近いと判定された場合、その近接度に基づいてステムを粗グリッドセルの上部/右側に整合させる。
【0046】
ステップ114においてステムがゴーストステムであると判定された場合、決定ステップ122においてゴーストステムのタイプを判定する。ゴーストステムが左側/下部ゴーストステムである場合、このゴースト情報に基づいてゴーストステムを粗グリッドセルの左側/下部に整合させる。ゴーストステムが上部/右側ゴーストステムである場合、ステップ126において、このゴースト情報に基づいてステムが粗グリッドセルの上部/右側に整合する。この調整は、ステップ116の場合と同様に判定された近接度ではなく、「ゴースト」ヒント自体によって指示された近接度であることに留意されたい。ステップ118、120、124および126のいずれかが終了した後、110のところに示されるようにプロセスは終了する。
【0047】
図7では、図解の助けをかりて図6のハード方針ステップ106およびステップ108について説明する。図7において、粗グリッド128は、例示のために、一片が4ピクセルの正方形のセル130を有するものと仮定する。一部がセル130a内にあり、また一部が隣接するセル130b内にある「理想的な」スポット132が示されている。この理想的なスポット132の中心を134のところに示す。
【0048】
この時点で、いくつかの装置依存決定およびいくつかの設計者依存決定が行われることに留意されたい。例えば、どのようにして理想的なスポット132を粗グリッド128と整合させるかに関する決定は、使用する出力装置のタイプおよび設計者の決定に非常に左右される。例えば、たいていの第一世代パーソナルコンピュータシステムでは、日本のキャノン社製の「Canon」プリントエンジンを使用している。これらの第一世代プリンタでは、粗グリッドのセルを完全に覆う丸いピクセルが印刷される。すなわち、丸いピクセルは、グリッドのセルの対角線にほぼ等しい直径を有する。
【0049】
近年、いくつかの新しいタイプのプリントエンジンが開発された。例えば、米国のXerox社製の「Xerox」エンジンでは、ピクセルが粗グリッドのセル内に完全に嵌合するように、四つの凹形辺を有するピクセルが生成される。したがって、Canonエンジンによって生成された三つのピクセルは粗グリッド3.8個のセルを覆うが、Xeroxエンジンによって生成された四つのピクセルは粗グリッド3.7個のセルを覆う。
【0050】
前記の説明を念頭に置けば、図6のステップ108は、出力装置が粗グリッド128の正方形セル30に対応する完全に正方形のピクセルを生成できるかのように議論できる。これは現実の近似にすぎないことを理解されたい。図7に示されるように、理想的なスポット132が6ピクセル未満(「6−」ピクセル)の場合、幅が4ピクセルに縮み、セル130aと整合する。しかしながら、スポット132が6ピクセル以上(「6+」ピクセル)の場合、幅が8ピクセルに増加し、セル130aとセル130bの両方が充填される。第一の例では、スポット132’の中心は134’のところ(すなわちセル138の中心)にあり、他の例では、スポット132”は、セル130aとセル130bの界面のところにある中心134”を有する。このようにして、ステムウェイトの釣合いが保たれるように、スポット132を粗グリッド128に整合させる。
【0051】
図8にソフトエッジ方針を示す。さらに具体的には、図8は、図6のステップ、112、118、120、124および126を示す。図8に示されるように、理想的なスポット136は、中心138を有し、粗グリッド140および高解像度グリッド142と関連する。前述のように、高解像度グリッドは、図面を混乱させないように、粗グリッド140の一つのセル144内にしか示されていないが、高解像度グリッド142は粗グリッド140のすべてのセルと関連することを理解されたい。
【0052】
「ソフトエッジ」方針に従って、ステップ112においてまずステム幅を高解像度グリッド142に丸める。この例では、高解像度グリッドピクセルの一片はセル144の一片の1/4である。したがって、ステップ112において、ステム134の幅を粗グリッドセルの最も近い1/4に丸める。次に、丸めたステム幅と整合させる粗グリッド140のセルを決定する。これは、ステップ114、ステップ116およびステップ122の目的である。適切な粗グリッドセルが見つかったら、それに応じて丸めたステムを整合させる。
【0053】
この例では、スポット136は、セル144aおよび144b内でやや中心寄りである。丸めたステムが左側セルに整合すべきであると判定された場合、ステムがセル144aを完全に充填し、セル144bに部分的に重なるように、ステムを位置136’へ移動させる。他方、ステムを右側セルと整合させる場合、ステムがセル144bを完全に充填し、セル144aと部分的に重なるように、ステムを移動させる。
【0054】
類推により、ステム136が垂直方向においてセルと部分的にのみ重なる場合、同様にして、ステムを粗グリッドのセルの上部または下部に整合できる。さらに、ステムが垂直方向においても水平方向においてもセルと部分的にのみ重なる場合、ステムが左側/下部方向においても上部/右側方向においても粗グリッドのセルと整合するようにステムを移動できる。したがって、水平ステムも垂直ステムも、本発明のプロセスおよび装置によって処理できる。
【0055】
前記の説明および図解では、本発明の基本的なプロセスおよび装置について説明した。前述のように、本発明のプロセスは、ビデオモニタ、ビデオ投影システム、または連続色調プリンタなど出力装置上にイメージを提供する汎用コンピュータシステム上で実施することが好ましい。本発明のプロセスおよび装置について二つの例示の例に関してさらに議論する。
【0056】
例1−小文字「m」
図9aに、粗グリッド146上に重なった文字「m」のフォントアウトライン148を示す。高解像度ビットマップ150をこのフォントアウトライン148から生成する。高解像度ビットマップ150は高解像度グリッド152と整合していることに留意されたい。
【0057】
図9bに、本発明の「ソフトエッジ」方針に従って生成したピクセルマップを示す。高解像度ビットマップ150をまず高解像度グリッド152に対して丸め、次いで上述のように粗グリッド146と整合させる。次いで、この丸めかつ整合したビットマップによってピクセルマップ154を生成して、適切なグレイスケールデータを出力装置へ提供する。図を見ればわかるように、ステム156a、156bおよび156cはすべて同じ幅であり、ほぼ同じピクセル密度を有する。これにより、ステム幅の釣合いを保ちつつも、アンチエイリアシングされた出力が得られる。
【0058】
ハードエッジ方針について図9cを参照しながら説明する。この例では、図9aに示されるデータを、ステム158a、158bおよび158cがそれぞれ粗グリッド148のセル160の幅を有するように「伸張」する。これは、図6のステップ106およびステップ108と一致する。次に、図9cの「伸張」したビットマップ160を図9dのグレイスケールピクセルマップ164に変換する。再度、ピクセルマップ164のステム166a、166bおよび166cは同じ幅であり、実質上同じ密度である。これにより、文字「m」がアンチエイリアシングされつつも、そのステムウェイトの釣合いが保たれる。
【0059】
例2−小文字「o」
図10aにおいて、「o」は粗グリッド168上および高解像度グリッド170上に重なっている。さらに具体的には、フォントアウトライン172を使用して、文字「o」の細かいビットマップ174を生成する。図示のビットマップが「Helvetica」ファミリーからのものであること、および「o」の上部および下部が「o」の二つの辺よりも細いことに留意されたい。
【0060】
図10bにソフトエッジ方針による図10aのビットマップ174から生成したピクセルマップ176を示す。前述のように、ソフトエッジ方針ではまずステムを高解像度グリッド170に丸め、次いで丸めたステムを粗グリッド168と整合させる。その結果、図10bに示されるように、右側ステム178bに実質上等しい左側ステム178aを有し、同時に下部ステム180bに実質上等しい上部ステム180aを有するピクセルマップが得られる。したがって、「o」のこのアンチエイリアシングされたレンダリングでは、本発明によ水平方向においても垂直方向においてもステムウェイトの釣合いが保たれる。
【0061】
図10cにおいて、ハードエッジ方針に従って図10aのビットマップ174から伸張されたビットマップ182を生成する。上述のように、左側ステム184aと右側ステム184bは、それらがステムの四つのセルを完全に充填するように伸張されており、上部ステム186aと下部ステム186bは、粗グリッド168の二つの上部セルおよび二つの下部セルを充填するように同様に伸張されている。これは、前述の整数粗グリッドに丸めるステップおよび粗グリッド整合ステップに一致する。
【0062】
図10dにおいて、ビットマップ182は、前述のようにグレイスケールピクセルマップ188に変換されている。左側ステム190aと右側ステム190bは、上部ステム192aと下部ステム190bと同様に釣り合っていることに留意されたい。また、文字「o」の下部194は、粗グリッド168のベースライン196の下にはこないことにも留意されたい。
【0063】
以上、本発明についていくつかの好ましい実施形態に関して説明したが、本発明の範囲内に入る変更例、代替例および同等物がある。また、本発明のプロセスならびに装置を実施する多数の方法のこと、および教示および明確さのためにいくつかの概念が導入されたことにも留意されたい。
【0064】
例えば、前述のように、粗グリッドおよび高解像度グリッドは、実際に本プロセス内で「構成」するのではなく、本願で本発明の概念を説明するのに使用することが好ましい。また、当業者なら理解できるように、ステップの順序はしばしば変更され、いくつかのステップは明確さのために簡単化されている。例えば、「高解像度ビットマップをレンダリングする」ステップは、まず高解像度「ヒント」マップを生成し、ヒントマップを調整し、次いで高解像度ビットマップの実際のピクセルをレンダリングすることによって実施することが好ましい。当業者なら理解できるように、「ヒントマップ」は、文字のグリッド嵌合整合領域の高解像度表現にすぎない。あるいは、高解像度ビットマップレンダリングステップは、上述の単一ステップでもよい。
【0065】
したがって、頭記の請求の範囲は、本発明の精神および範囲内に入るそのようなすべての変更例、代替例および同等物を含むものと考えるべきである。
【図面の簡単な説明】
【図1】本発明の方法および装置に適したホストでもある代表的な従来技術のコンピュータシステムのブロック図である。
【図2A】文字「m」についての従来技術の高解像度ビットマップのビューである。
【図2B】白黒出力装置上に表示された場合に、釣り合ったステム幅を有するように見えるように伸張され、粗グリッドと整合した文字「m」の従来技術のビットマップのビューである。
【図2C】高解像度ビットマップ内にレンダリングされた文字「m」を示す図である。
【図2D】図2Cのビットマップのアンチエイリアシングされたものが提供される不釣合いステム幅を示す図である。
【図3A】文字「o」の高解像度ビットマップを示す図である。
【図3B】白黒出力装置についての図3Aの高解像度ビットマップの低解像度ビットマップへの変換を示す図である。
【図3C】図3Aのビットマップから導出された従来技術のグレイスケール出力装置についてのピクセルマップを示す図である。
【図4】本発明による釣り合ったステム幅を有するアンチエイリアシングされた文字を生成する方法の流れ図である。
【図5】図4の「クライアントからコールを受けとる」ステップの図である。
【図6】図4の「ステムを整合させる」ステップの流れ図である。
【図7】図6の「ステム幅を粗グリッドに丸める」ステップおよび「ステムを粗グリッドへセンタリングする」ステップを示す図である。
【図8】図6の「ステム幅を高解像度グリッドに丸める」ステップおよび「左/下部および上部/右を粗グリッドに整合させる」ステップを示す図である。
【図9A】本発明の方法の第一の例を説明するのに使用する図である。
【図9B】本発明の方法の第一の例を説明するのに使用する図である。
【図9C】本発明の方法の第一の例を説明するのに使用する図である。
【図9D】本発明の方法の第一の例を説明するのに使用する図である。
【図10A】本発明の方法の第二の例を説明するのに使用する図である。
【図10B】本発明の方法の第二の例を説明するのに使用する図である。
【図10C】本発明の方法の第二の例を説明するのに使用する図である。
【図10D】本発明の方法の第二の例を説明するのに使用する図である。
【符号の説明】
10 コンピュータシステム
12 コンピュータ
14 キーボード
16 ディスク記憶装置
18 ビデオ表示装置
20 プリンタ
22 中央演算処理装置(CPU)
24 読出し専用メモリ(ROM)
26 ランダムアクセスメモリ(RAM)
28 入出力(I/O)
Claims (32)
- コンピュータシステム上で動作するクライアントプロセスからレンダリングすべき文字のコールを発生させるステップであって、前記クライアントプロセスは、レンダリングすべき文字の識別、前記文字のサイズ、および前記文字を表示するのに使用されるグレイスケールの数を提供する、文字のコールを発生させる前記ステップと、
前記文字について文字プログラムを検索し、少なくとも前記クライアントプロセスによって指定された前記グレイスケールの数によって規定された高解像度グリッドに基づいて、前記文字のステムを前記コンピュータシステムの出力装置の装置解像度に対応する粗グリッドと整合させることによって前記文字をレンダリングするステップであって、それにより前記高解像度グリッドに対応する前記文字の高解像度ビットマップを得る、文字をレンダリングする前記ステップと、
前記クライアントプロセス内で前記文字の前記高解像度ビットマップからアンチエイリアシングされたグレイスケールピクセルマップを前記装置解像度で生成するステップと、
前記アンチエイリアシングされたグレイスケールピクセルマップに基づいて、前記文字のイメージを前記装置解像度で前記出力装置上に生成するステップとを含むコンピュータ出力装置上にアンチエイリアシングされた文字を生成する方法。 - 文字をレンダリングする前記ステップが、
レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するためにフォント解析プログラムにコールするステップと、
前記粗グリッドに対する前記文字のステムエッジの位置を決定し、かつステム幅を決定するために前記文字プログラムを実行するステップと、
前記ステムエッジを前記粗グリッドと整合させるステップとを含む請求項1に記載のアンチエイリアシングされた文字を生成する方法。 - 前記クライアントプロセスがさらに、少なくともハードエッジ方針およびソフトエッジ方針を含む方針を提供するように動作し、かつ前記ステムエッジを整合させるステップが、ステムエッジをハードエッジ方針に従って整合させるステップと、ステムエッジをソフトエッジ方針に従って整合させるステップとを含み、前記クライアントプロセスによって提供される前記方針によって、これら整合させるステップのいずれを実行するかが決定される請求項2に記載のアンチエイリアシングされた文字を生成する方法。
- 前記ステムエッジをハードエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記粗グリッドの最も近い倍数に丸めるステップと、各前記ステムを前記粗グリッドにセンタリングするステップとを含む請求項3に記載のアンチエイリアシングされた文字を生成する方法。
- 前記ステムエッジをソフトエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記高解像度グリッドの最も近い倍数に丸めるステップと、前記ステム幅を前記粗グリッドと整合させるステップとを含む請求項3に記載のアンチエイリアシングされた文字を生成する方法。
- 前記ステムエッジのソフトエッジ方針に従った整合が、近接情報およびゴーストステム情報の少なくとも一方に依存する請求項5に記載のアンチエイリアシングされた文字を生成する方法。
- ステムがゴーストステムである場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
左側/下部ゴーストステムの場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させるステップと、
右側/上部ゴーストステムの場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させるステップとを含む請求項6に記載のアンチエイリアシングされた文字を生成する方法。 - ステムがゴーストステムでない場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
前記ステムの近接が左側/下部近接かまたは右側/上部近接かを判定するステップと、
左側/下部近接の場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させるステップと、
右側/上部近接の場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させるステップとを含む請求項6に記載のアンチエイリアシングされた文字を生成する方法。 - 装置解像度およびデジタル出力装置によって表示すべきグレイスケールの数を決定するステップと、
各セルが前記装置解像度とほぼ同じ解像度であり、したがって前記出力装置の装置ピクセルに対応するセルのマトリックスを有する粗グリッドを決定するステップと、
高解像度ピクセルのマトリックスを有し、前記粗グリッドの各セルが高解像度ピクセルの整数を含むように前記粗グリッドと整合し、セル当たりの高解像度ピクセルの数が前記グレイスケールの数によって決定される高解像度グリッドを決定するステップと、
レンダリングすべき文字に関する文字情報を生成するステップと、
前記文字情報から前記文字の初期ビットマップを前記高解像度グリッドの前記解像度で生成するステップと、
高解像度ビットマップを生成するために、前記初期ビットマップのステムを前記粗グリッドと整合させるステップとを含み、該ステムを整合させるステップが互いに異なる方針にてステムを整合させる複数のステップを含み、当該複数の整合させるステップのいずれを実行するかが、少なくともハードエッジ方針およびソフトエッジ方針を含む方針によって決定される文字を描画する方法。 - 文字情報を生成する前記ステップが、
レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するようにフォント解析プログラムにコールするステップと、
前記粗グリッドに対する前記文字のステムエッジの位置を決定し、かつステム幅を決定するために前記文字プログラムを実行するステップとを含む請求項9に記載の文字を描画する方法。 - 前記ステムを整合させる前記ステップが、少なくともステムをハードエッジ方針に従って整合させるステップと、ステムをソフトエッジ方針に従って整合させるステップを含み、少なくともハードエッジ方針およびソフトエッジ方針を含む方針によって、これら整合させるステップのいずれを実行するかが決定される請求項10に記載の文字を描画する方法。
- 前記ステムをハードエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記粗グリッドの最も近い倍数に丸めるステップと、各前記ステムを前記粗グリッドにセンタリングするステップとを含む請求項11に記載の文字を描画する方法。
- 前記ステムをソフトエッジ方針に従って整合させる前記ステップが、前記ステム幅を前記高解像度グリッドの最も近い倍数に丸めるステップと、前記ステム幅を前記粗グリッドと整合させるステップとを含む請求項11に記載の文字を描画する方法。
- 前記ステムのソフトエッジ方針に従った整合が、近接情報およびゴーストステム情報の少なくとも一方に依存する請求項13に記載の文字を描画する方法。
- ステムがゴーストステムである場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
左側/下部ゴーストステムの場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させるステップと、
右側/上部ゴーストステムの場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させるステップとを含む請求項14に記載の文字を描画する方法。 - ステムがゴーストステムでない場合、ステム幅を前記粗グリッドと整合させる前記ステップが、
前記ステムの近接が左側/下部近接かまたは右側/上部近接かを判定するステップと、
左側/下部近接の場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させるステップと、
右側/上部近接の場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させるステップとを含む請求項14に記載の文字を描画する方法。 - 出力装置を含むコンピュータシステムと、
クライアントプロセスからのレンダリングすべき文字についてのコールを発生させる、前記コンピュータシステム上で動作するクライアントプロセス手段であって、レンダリングすべき文字の識別、前記文字のサイズ、および前記文字を表示するのに使用されるグレイスケールの数を提供する、前記クライアントプロセス手段と、
前記文字について文字プログラムを検索し、少なくとも前記クライアントプロセスによって指定された前記グレイスケールの数によって規定された高解像度グリッドに基づいて、前記文字のステムを前記出力装置の装置解像度に対応する粗グリッドと整合させることによって前記文字をレンダリングする手段であって、それにより前記高解像度グリッドに対応する前記文字の高解像度ビットマップを得る、文字をレンダリングする前記手段と、
前記クライアントプロセス内で前記文字の前記高解像度ビットマップからアンチエイリアシングされたグレイスケールピクセルマップを前記装置解像度で生成する手段と、
前記アンチエイリアシングされたグレイスケールピクセルマップに基づいて、前記文字のイメージを前記装置解像度で前記出力装置上に生成する手段とを含むアンチエイリアシングされたグレイスケール出力を有するデジタルシステム。 - 文字をレンダリングする前記手段が、
レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するようにフォント解析プログラムにコールする手段と、
前記粗グリッドに対する前記文字のステムエッジの位置を決定し、かつステム幅を決定するために前記文字プログラムを前記コンピュータシステム上で実行する手段と、
前記ステムエッジを前記粗グリッドと整合させる手段とを含む請求項17に記載のデジタルシステム。 - 前記クライアントプロセス手段がさらに、少なくともハードエッジ方針およびソフトエッジ方針を含む方針を提供するように動作し、かつ前記ステムエッジを整合させる手段が、前記ステムエッジをハードエッジ方針に従って整合させる手段と、前記ステムエッジをソフトエッジ方針に従って整合させる手段とを含み、前記クライアントプロセスによって提供される前記方針によって、これら整合させる手段のいずれを選択するかが決定される請求項18に記載のデジタルシステム。
- 前記ステムエッジをハードエッジ方針に従って整合させる前記手段が、前記ステム幅を前記粗グリッドの最も近い倍数に丸める手段と、各前記ステムを前記粗グリッドにセンタリングする手段とを含む請求項19に記載のデジタルシステム。
- 前記ステムエッジをソフトエッジ方針に従って整合させる前記手段が、前記ステム幅を前記高解像度グリッドの最も近い整数倍に丸める手段と、前記ステム幅を前記粗グリッドと整合させる手段とを含む請求項19に記載のデジタルシステム。
- 前記ステムエッジのソフトエッジ方針に従った整合が、近接情報およびゴーストステム情報の少なくとも一方に依存する請求項21に記載のデジタルシステム。
- ステムがゴーストステムである場合、ステム幅を前記粗グリッドと整合させる前記手段が、
左側/下部ゴーストステムの場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させる手段と、
右側/上部ゴーストステムの場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させる手段とを含む請求項22に記載のデジタルシステム。 - ステムがゴーストステムでない場合、ステム幅を前記粗グリッドと整合させる前記手段が、
前記ステムの近接が左側/下部近接かまたは右側/上部近接かを判定する手段と、
左側/下部近接の場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させる手段と、
右側/上部近接の場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させる手段とを含む請求項22に記載のデジタルシステム。 - それぞれ出力装置解像度とほぼ同じ解像度のセルのマトリックスを有する粗グリッドを発生し、かつ高解像度ピクセルのマトリックスを有し、前記粗グリッドの各セルが高解像度ピクセルの整数を含むように前記粗グリッドと整合し、セル当たりの高解像度ピクセルの数が前記出力装置と関連するグレイスケールの数によって決定される高解像度グリッドを発生するグリッド発生器と、
前記出力装置上に表示すべき文字に関する文字情報を発生する文字情報生成器と、
前記文字情報に対して動作して、前記文字情報から前記高解像度グリッドの前記解像度で前記文字の初期ビットマップを生成するビットマップ発生器と、
前記初期ビットマップのステムを前記粗グリッドと整合させて、前記文字情報を使用することにより高解像度ビットマップを生成するステムアライナとを含む文字をグレイスケールで出力装置上に表示するのに有用な高解像度ビットマップを発生させる文字レンダラ。 - 前記文字情報生成器が、レンダリングすべき前記文字に対応する文字プログラム、フォント値、およびフォントファミリー値を検索するようにフォント解析プロバイダにコールするルーチンコーラーを含む請求項25に記載の文字レンダラ。
- ステムアライナが少なくともハードエッジ方針およびソフトエッジ方針によって動作できる請求項26に記載の文字レンダラ。
- 前記ステムアライナが前記ステムをハードエッジ方針に従って整合させる場合、前記ステムアライナが前記ステム幅を前記粗グリッドの最も近い倍数に丸め、各前記ステムを前記粗グリッドにセンタリングする請求項27に記載の文字レンダラ。
- 前記ステムアライナが前記ステムをソフトエッジ方針に従って整合させる場合、前記ステムアライナが前記ステム幅を前記高解像度グリッドの最も近い倍数に丸め、前記ステム幅を前記粗グリッドに整合させる請求項27に記載の文字レンダラ。
- 前記ステムアライナがさらに、ソフトエッジ方針に従って動作している場合に、近接情報およびゴーストステム情報に従って動作する請求項29に記載の文字レンダラ。
- ステムがゴーストステムである場合、前記ステムアライナが、左側/下部ゴーストステムの場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させ、右側/上部ゴーストステムの場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させる請求項30に記載の文字レンダラ。
- ステムがゴーストステムでない場合、前記ステムアライナが、前記ステムの近接が左側/下部近接かまたは右側/上部近接かを判定し、左側/下部近接の場合に、そのようなステムの左側/下部を左側/下部粗グリッドエッジに整合させ、右側/上部近接の場合に、そのようなステムの右側/上部を右側/上部粗グリッドエッジに整合させる請求項30に記載の文字レンダラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/547,562 US5943063A (en) | 1995-10-23 | 1995-10-23 | Method and apparatus for rendering characters |
US547562 | 1995-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10268858A JPH10268858A (ja) | 1998-10-09 |
JP3819976B2 true JP3819976B2 (ja) | 2006-09-13 |
Family
ID=24185154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31684496A Expired - Lifetime JP3819976B2 (ja) | 1995-10-23 | 1996-10-23 | 文字描画方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5943063A (ja) |
EP (1) | EP0772144B1 (ja) |
JP (1) | JP3819976B2 (ja) |
CA (1) | CA2188512A1 (ja) |
DE (1) | DE69622961T2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5231695B2 (ja) * | 1998-10-07 | 2013-07-10 | マイクロソフト コーポレーション | 表示される画像の解像度を改善する方法およびコンピュータ・システム |
EP2439730A1 (en) * | 1998-10-07 | 2012-04-11 | Microsoft Corporation | Independent mapping of portions of color image data to pixel sub-components |
US6597360B1 (en) * | 1998-10-07 | 2003-07-22 | Microsoft Corporation | Automatic optimization of the position of stems of text characters |
US6421054B1 (en) * | 1998-10-07 | 2002-07-16 | Microsoft Corporation | Methods and apparatus for performing grid fitting and hinting operations |
US6480190B1 (en) * | 1999-01-29 | 2002-11-12 | Mitsubishi Electric Research Laboratories, Inc | Graphical objects represented as surface elements |
EP1026659A3 (en) | 1999-02-01 | 2002-01-30 | Sharp Kabushiki Kaisha | Character display apparatus, character display method, and recording medium |
US6614432B1 (en) * | 1999-04-16 | 2003-09-02 | Adobe Systems Incorporated | Image rendering technique |
WO2001009873A1 (en) | 1999-07-30 | 2001-02-08 | Microsoft Corporation | Rendering sub-pixel precision characters having widths compatible with pixel precision characters |
US6282327B1 (en) * | 1999-07-30 | 2001-08-28 | Microsoft Corporation | Maintaining advance widths of existing characters that have been resolution enhanced |
US6563502B1 (en) * | 1999-08-19 | 2003-05-13 | Adobe Systems Incorporated | Device dependent rendering |
US6608932B1 (en) * | 1999-11-29 | 2003-08-19 | Xerox Corporation | Outline font for analytical assessment of printed text quality |
US20020180768A1 (en) * | 2000-03-10 | 2002-12-05 | Siu Lam | Method and device for enhancing the resolution of color flat panel displays and cathode ray tube displays |
US7598955B1 (en) * | 2000-12-15 | 2009-10-06 | Adobe Systems Incorporated | Hinted stem placement on high-resolution pixel grid |
US7152211B1 (en) * | 2001-01-30 | 2006-12-19 | Microsoft Corporation | Resolution independent theming |
US7224489B2 (en) * | 2001-09-25 | 2007-05-29 | Xerox Corporation | Font characteristic driven halftoning |
AU2003205356A1 (en) | 2002-01-28 | 2003-09-02 | Federal Process Corporation | Alcohol and glycol modified aluminum tri-alkoxide complexes |
US7006107B2 (en) * | 2003-05-16 | 2006-02-28 | Adobe Systems Incorporated | Anisotropic anti-aliasing |
US7002597B2 (en) * | 2003-05-16 | 2006-02-21 | Adobe Systems Incorporated | Dynamic selection of anti-aliasing procedures |
EP1503297A1 (en) * | 2003-07-30 | 2005-02-02 | Sap Ag | Computer implemented methods of retrieving hit count data from a data base system and according computer program product |
US7580039B2 (en) * | 2004-03-31 | 2009-08-25 | Adobe Systems Incorporated | Glyph outline adjustment while rendering |
US7639258B1 (en) * | 2004-03-31 | 2009-12-29 | Adobe Systems Incorporated | Winding order test for digital fonts |
US7602390B2 (en) * | 2004-03-31 | 2009-10-13 | Adobe Systems Incorporated | Edge detection based stroke adjustment |
US7719536B2 (en) * | 2004-03-31 | 2010-05-18 | Adobe Systems Incorporated | Glyph adjustment in high resolution raster while rendering |
US7333110B2 (en) | 2004-03-31 | 2008-02-19 | Adobe Systems Incorporated | Adjusted stroke rendering |
US20070177215A1 (en) * | 2006-02-01 | 2007-08-02 | Microsoft Corporation | Text rendering contrast |
US7868888B2 (en) * | 2006-02-10 | 2011-01-11 | Adobe Systems Incorporated | Course grid aligned counters |
US20080068383A1 (en) * | 2006-09-20 | 2008-03-20 | Adobe Systems Incorporated | Rendering and encoding glyphs |
US7872651B2 (en) * | 2007-06-26 | 2011-01-18 | Microsoft Corporation | Error metrics for characters |
CN102063832A (zh) * | 2010-11-26 | 2011-05-18 | 北京腾瑞万里科技有限公司 | 移动终端矢量地图的绘制方法和装置 |
US10497158B2 (en) * | 2017-03-03 | 2019-12-03 | Adobe Inc. | Aligning objects with text |
CN112232023A (zh) * | 2020-10-21 | 2021-01-15 | 苏州速显微电子科技有限公司 | 一种在线位图字体生成***及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4675830A (en) * | 1984-07-06 | 1987-06-23 | Compugraphic Corporation | Method for producing a scaleable typeface data |
IE852259L (en) * | 1985-09-13 | 1987-03-13 | Scottish & Newcastle Breweries | A method and apparatus for constructing, storing and¹displaying characters |
US5164717A (en) * | 1989-09-28 | 1992-11-17 | Sun Microsystems, Inc. | Method and apparatus for the dithering of antialiased vectors |
US5299308A (en) * | 1990-02-28 | 1994-03-29 | Ricoh Company, Ltd. | Graphic data processing apparatus for producing a tone for an edge pixel and reducing aliasing effects |
JPH06208370A (ja) * | 1992-08-28 | 1994-07-26 | Go Corp | エイリアシング阻止および格子適合を結合した文字表示ラスタ化方法 |
US5444552A (en) * | 1992-09-28 | 1995-08-22 | Xerox Corporation | Method for compressing, processing, and storing grayscale bitmaps |
JP3375638B2 (ja) * | 1993-06-10 | 2003-02-10 | アップル コンピュータ, インコーポレイテッド | アンチ−アライアジング装置及び目的グリッドへの水平・垂直エッジの自動高速合わせの方法 |
KR100243174B1 (ko) * | 1993-12-28 | 2000-02-01 | 윤종용 | 서브픽셀 마스크 발생방법 및 장치 |
-
1995
- 1995-10-23 US US08/547,562 patent/US5943063A/en not_active Expired - Lifetime
-
1996
- 1996-10-22 CA CA002188512A patent/CA2188512A1/en not_active Abandoned
- 1996-10-23 DE DE69622961T patent/DE69622961T2/de not_active Expired - Lifetime
- 1996-10-23 JP JP31684496A patent/JP3819976B2/ja not_active Expired - Lifetime
- 1996-10-23 EP EP96307664A patent/EP0772144B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69622961T2 (de) | 2003-04-10 |
CA2188512A1 (en) | 1997-04-24 |
JPH10268858A (ja) | 1998-10-09 |
EP0772144A3 (en) | 1998-07-08 |
EP0772144B1 (en) | 2002-08-14 |
DE69622961D1 (de) | 2002-09-19 |
US5943063A (en) | 1999-08-24 |
EP0772144A2 (en) | 1997-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3819976B2 (ja) | 文字描画方法及び装置 | |
EP1077445B1 (en) | Device dependent rendering of characters | |
CA2188506A1 (en) | Accent color printer | |
JP4614016B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4418044B2 (ja) | デジタルフォントにおけるキャラクタを表示する方法、デジタルフォントのキャラクタを画定する方法、及びデジタルフォントにおけるキャラクタを発生する方法 | |
US8331731B2 (en) | Image processing method and image processing apparatus | |
US20030048272A1 (en) | Resolution reduction technique for displaying documents on a monitor | |
JPH056438A (ja) | 印字装置または表示装置で表示される映像を修正する方法およびデジタル化された映像をドツトマトリツクスフオーマツトで発生する印字装置または表示装置の出力を修正する装置 | |
JP6824052B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JPH1026972A (ja) | アンチエイリアース化におけるコントラスト調節 | |
JP2009527805A (ja) | 透明を含むアートワークを印刷するシステム本PCT出願は、「透明を含むアートワークを印刷するシステムおよび方法」と表題の付けられた、2005年11月30日出願の米国特許出願番号11/291,177の出願日の利益を主張し、その優先権は、35U.S.C.§120または365(c)の下、本明細書で主張される。 | |
JP3142550B2 (ja) | 図形処理装置 | |
JP2903917B2 (ja) | 画像編集処理装置 | |
JP4492642B2 (ja) | 赤目修正装置、赤目修正方法および赤目修正プログラム | |
JP7005796B2 (ja) | 画像形成装置、その制御方法、及びプログラム | |
JP2004164276A (ja) | 赤目修正装置、赤目修正方法および赤目修正プログラム | |
JP2006196945A (ja) | 制御装置、画像形成装置、制御方法、画像形成方法、制御プログラムおよびそのプログラムを記録した記録媒体 | |
JP4492644B2 (ja) | 赤目修正装置、赤目修正方法および赤目修正プログラム | |
JP2007287166A (ja) | 赤目修正装置、赤目修正方法および赤目修正プログラム | |
JP5205364B2 (ja) | 画像形成装置および画像形成方法 | |
JP2006179998A (ja) | 画像処理装置、画像処理方法及びそのプログラム | |
JPH03278189A (ja) | 図形処理装置 | |
JP2012239095A (ja) | 画像処理装置、好適画像判定方法、およびコンピュータプログラム | |
JPH1023241A (ja) | 階調キャラクタ出力装置 | |
JPH0620042A (ja) | 画像処理装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050913 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051212 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060412 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060616 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090623 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100623 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110623 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110623 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120623 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120623 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120623 Year of fee payment: 6 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120623 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130623 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |