粗格子に整列されたカウンタ
ステムを有する文字の拡大縮小のための技術を実装し使用する方法および装置。ステムを含み、関連付けられた出力解像度および関連付けられたビット深度を有する文字を受信することができる。ステムにより規定されるカウンタは、1つ以上のカウンタのチェーンにグループ化することができる。出力解像度に基づきカウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき文字のステムを整列させることができる。整列されたステムに基づき、出力解像度および出力ビット深度でピクセルマップを作成することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、マルチトーンデバイス上での表示のための複雑な文字のレンダリングに関する。マルチトーンデバイスは、2つを超える一連のトーンを表示することができるデバイスである。マルチトーンデバイスの例は、グレースケールデバイスおよびカラーデバイスである。
【背景技術】
【0002】
複雑な文字は、垂直または水平の2つ以上の画数(一般にステムと呼ばれる)を含む図形による印または記号である。複雑な文字の例としては、中国語のハンジ(Chinese hanzi)、日本語の漢字、韓国語のハンジャおよびハングル文字が挙げられる。複雑な文字の他の例としては、複数の画数(stroke)を持つ西洋文字および非西洋文字が挙げられる。
【0003】
出力デバイス上での表示のために複雑な文字をレンダリングする際、文字の余白を考慮するのが有益である。これらの余白(一般にカウンタと呼ばれる)は、文字のステム間の領域と定義される。これらのカウンタの幅を均衡化することにより、複雑な文字の表現を向上させることができる。
【0004】
単色の非グレースケールレンダリングプロセスにおいて複雑な文字のカウンタを均衡化する従来の技術は、マルチトーンデバイス上での表示のためにレンダリングされた複雑な文字とは概して適合しない。ステム整列ポリシー(stem alignment policy)に従い文字のステムを整列させる従来の技術は、概して、文字のカウンタを均衡化する重要性を考慮していない。
【0005】
単色の非グレースケールレンダリングプロセスにおいて複雑な文字のカウンタを均衡化する技術は、Adobe Systems Incorporated(カリフォルニア州サンノゼ)に譲渡された特許文献1(’103特許)に記載されている。グレースケールデバイス上での表示のための文字のレンダリング技術は、Adobe Systems Incorporated(カリフォルニア州サンノゼ)に譲渡された特許文献2(’063特許)で説明されている。’063特許は、ステム整列ポリシーに従い文字のステムを整列させる。
【特許文献1】米国特許第5,050,103号明細書
【特許文献2】米国特許第5,943,063号明細書
【発明の開示】
【課題を解決するための手段】
【0006】
概して、一態様において、本発明は、マルチトーンデバイス上での出力のために文字をレンダリングするためのコンピュータプログラム製品を含む、方法および装置を提供する。ステムを含み、関連付けられた出力解像度および関連付けられたビット深度を有する文字を受信することができる。ステムにより規定されるカウンタは、1つ以上のカウンタのチェーンにグループ化することができる。出力解像度に基づきカウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき文字のステムを整列させることができる。整列されたステムに基づき、出力解像度および出力ビット深度でピクセルマップを作成することができる。他の態様によれば、ステムを有する文字の拡大縮小のためのシステムは、プロセッサと、該プロセッサに、説明される動作を実行させるように動作可能な、文書処理アプリケーションを含むコンピュータプログラム製品をエンコードするコンピュータ読み取り可能媒体とを含むことができる。
【0007】
本発明の有利な実装例は、以下の特徴のうちの1つ以上を含む。ステム整列ポリシーは、ハードエッジポリシー(hard−edge policy)、ソフトエッジポリシー(soft−edge policy)、ブラックエッジポリシー(black−edge policy)、最小バイアスポリシー(minimum−bias policy)、または方向エッジポリシー(directional−edge policy)となることができる。方向エッジポリシーは、文字のステムを、ステムの配向と一致するバイアス方向の出力解像度に整列させることができる。ステムの整列とカウンタのチェーンの均衡化は、拡張係数に基づくことができる。拡張係数は、5%と7%の間となることができる。出力解像度は、水平出力解像度および垂直出力解像度となることができる。
【0008】
以下の利点のうちの1つ以上を実現するために、本発明の特定の実施形態を実装することができる。複雑な文字におけるステムの相対幅およびカウンタは、文字が出力デバイス上にレンダリングされる際に維持することができる。複雑な文字の読み取り可能性は、不鮮明さ(blurriness)を低減しながら向上させることができる。複雑な文字のカウンタおよびステムはより明確となることができ、これは文字の視覚的な特徴と認識度を向上させる。複雑な文字は、読み取り可能性を維持しながらダウンサンプリングして解像度を減少させることができる。
【0009】
本発明の実施形態は、ステム整列およびカウンタ均衡化の連続的な適用により発生する不鮮明さや低い読み取り可能性を避けることができる。本発明の実施形態は、不鮮明や色あせがより少なく見え、また明確かつ認識しやすいカウンタを有する複雑な文字を形成することができる。これは、多くのステムおよびカウンタを有する中国語のハンジ、日本語の漢字、および韓国語のハンジャおよびハングル文字にとって特に有益となり得る。
【0010】
本発明の1つ以上の実施形態の詳細を、付随する図面および以下の説明に記載する。説明、図面、および請求項から、本発明の他の特徴、態様、および利点が明らかとなるだろう。
【発明を実施するための最良の形態】
【0011】
様々な図面における同様の参照番号および記号は、同様の要素を示す。
【0012】
本開示は、マルチトーンデバイス上での出力のための文字の拡大縮小の方法に関する。説明の簡便性のために、以下の実施例は、グレースケールデバイス上での出力のために文字を拡大縮小する。説明される方法は、カラーデバイスにもまた適用可能である。実施例として、図1は、グレースケールデバイス上での出力のための、ステムを有する文字の拡大縮小の方法を示すフローチャートである。文字の拡大縮小を担うプロセスは、110で、ステム、出力解像度、および出力ビット深度を有する文字を受信することができる。そのようなプロセスの例は、文書処理アプリケーション、文字レンダリングルーチン、および汎用ラスタライザを含む。入力は、該プロセスに渡されるか、またはすでに該プロセスに含有されていてもよい。文字のステム間の余白、すなわちカウンタは、120でチェーンとしてグループ化することができる。カウンタおよびチェーンは、従来的に、垂直および水平の2つのグループに分割される。130において、出力解像度に基づきカウンタのチェーンを均衡化すると同時に、ステム整列ポリシーに従い文字のステムを整列させることができる。140において、整列されたステムに基づき、出力解像度およびビット深度で文字のピクセルマップを作成することができる。このピクセルマップは、さらなる処理または使用のために他のプロセスに渡すことができ、あるいは、出力デバイスにレンダリングすることができる。
【0013】
ステム整列を行う際、使用できるステム整列ポリシーにはいくつかある。従来のポリシーには、ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、および最小バイアスポリシーが含まれる。
【0014】
ハードエッジポリシーは、ステムの両端を粗格子境界に整列させる。このポリシーは、鮮明な線を生成するが、ステム幅が過度に量子化され、不均一になるか、太すぎるか、または細すぎる文字となる可能性がある。
【0015】
ソフトエッジポリシーは、ステムの少なくとも1つの端を粗格子境界に整列させる。また、このポリシーでは、整列された端が文字の外側を向く必要がある。そのようにして、文字の上端および下端の両方が粗格子に整列され、いかなるグレーピクセルも文字の中心を向く。
【0016】
ブラックエッジポリシーは、ステムの少なくとも1つの端を粗格子境界に整列させる。このポリシーは、少なくとも1つの粗格子に整列された端を維持しながら、ステム中心の動きを最小化する。
【0017】
最小バイアスポリシーは、ブラックエッジポリシーの修正型であり、幅において1デバイスピクセルよりも大きいが2デバイスピクセルよりも小さいステムに適用される。最小バイアスポリシーにおいては、これらのステムは粗格子と整列されない。その結果、ブラックエッジポリシーにおいて発生するように、一方を黒、他方をより明るいグレーの影とするのではなく、両方のデバイスピクセルがグレーのままとなる。
【0018】
以下の実施例は、図案化された大文字の「I」に適用された上述の方法を示す。図2Aは、いくつかの水平ステムおよびカウンタを有する大文字の「I」201の輪郭である。図案化された大文字の「I」201は、8つの水平ステム203を有する。これらの水平ステム間の余白は7つの水平カウンタ205を規定する。従来の図案化されていない大文字の「I」の文字は、多くの場合、1つから3つの間のステムを有し、カウンタを有しない。大文字の「I」201は、以下に説明される技術を例示するために作成された複数のステムおよびカウンタを有する複雑な文字である。従来の方法に従う拡大縮小およびレンダリングのプロセス中の、大文字の「I」のステムおよびカウンタにおける歪みを低減することができる。この例は、中国語のハンジ、日本語の漢字、韓国語のハンジャおよびハングル文字等の他の複雑な文字にも適用可能である。水平ステム203および水平カウンタ205に関する本開示の教示は、垂直ステムおよび垂直カウンタにも等しく適用可能である。
【0019】
大文字の「I」201は、2つの格子に重ね合わせられる。第1の格子207は実線により規定され、出力解像度に対応する(この格子は「粗格子」とも呼ばれる)。第2の格子209は点線により規定され、レンダリングに使用される高解像度に対応する(この格子は「細格子」とも呼ばれる)。この実施例では、細格子は粗格子よりも16倍大きい解像度を有する。すなわち、各粗格子ピクセルに対し、16個の細格子ピクセルが存在する。これらの格子の1つまたは両方が、図2B〜5Cにも示されている。
【0020】
粗格子のピクセルに対する細格子のピクセルの比(格子比)は、水平方向と垂直方向で同一となることができる。アプリケーションまたはフォントに依存して、水平および垂直方向で独立した格子比を選択することも有利となる可能性がある。これらの実施例において、水平格子比は垂直格子比と等しいが、これらの教示は、水平格子比が垂直格子比と異なる状況にも適用することができる。独立した水平および垂直格子比は、読み取り可能性および全体的なサイズの一貫性を挙げることができる。
【0021】
大文字の「I」201は、複雑な文字のフォントの輪郭を表している。文字をレンダリングする際、この輪郭はまず細格子に拡大縮小される。図2Aに示されるように、水平ステム203は、約7高解像度ピクセルの均一な幅を有する。同様に、水平カウンタ205は、約3.5高解像度ピクセルの均一な幅を有する。
【0022】
文字が細格子に拡大縮小された後、文字の輪郭に対応する細格子ピクセルをターンオンして文字の高解像度ビットマップを作成することができる。ステム整列またはカウンタ均衡化等の補正変換が行われない場合、文字の輪郭内に含有される全ての細格子ピクセルをターンオンすることにより、高解像度ビットマップを作成することができる。細格子ピクセルは単色であり、ターンオンまたはオフのみしか行うことができない。図2Bは、大文字の「I」の高解像度ビットマップである。図2Bは、図2Aに示される大文字の「I」の高解像度ビットマップを示す。図2Aにおける大文字の「I」201の輪郭内に含有される細格子ピクセルがターンオンされている。図2Aにおける輪郭は、図2Bに示されるように細格子に量子化されている。水平ステム213は、水平ステム203と同じ細格子幅を有している。量子化プロセスの結果、水平カウンタ215は、水平カウンタ205と同じ細格子幅を持たない。水平ステム213は、7細格子ピクセルの均一な幅を有しているが、水平カウンタ215は、3または4細格子ピクセルのいずれかの幅を有している。
【0023】
高解像度ビットマップが作成された後、出力デバイス上での表示のために文字のグレースケール粗ビットマップを作成することができる。粗格子ピクセルは、高解像度ビットマップにおいてターンオンされた対応する細格子ピクセルの数に基づきターンオンまたはオフすることができる。細格子ピクセルと異なり、粗格子ピクセルはグレースケールのピクセルであり、いくつかの異なるトーンにターンオンすることができる。各粗格子ピクセルのトーンは、ターンオンされている対応する細格子ピクセルの数により決定することができる。対応する高解像度ピクセルの数が増加するに従い、粗格子ピクセルのトーンはより暗くなる。対応する細格子ピクセルの全てがターンオンされた場合、粗格子ピクセルは黒くなる。同様に、対応する細格子ピクセルが全くターンオンされない場合、粗格子ピクセルは白くなる(ターンオフされる)。例えば、図2Cは、大文字の「I」の出力解像度でのグレースケールビットマップである。図2Cは、図2Bに示される高解像度ビットマップから作成されたグレースケールビットマップを示す。図2Cに示されるパターンは、様々なレベルのグレースケールトーンを表している。より暗いパターンはより暗いトーンを表し、より明るいパターンはより明るいトーンを表す。粗格子ピクセルは、図2Bにおいてターンオンされている細格子ピクセルの対応する数に基づきターンオンされている。水平ステム213は、水平ステム223に変換され、水平カウンタ215は、水平カウンタ225に変換されている。水平ステム213とは異なり、水平ステム223は、粗格子にダウンサンプリングされているため均一な幅を持たない。同様に、水平カウンタ225は均一な幅を持たない。出力解像度では、水平ステム223は、幅において2ピクセルから3ピクセル変動し、水平カウンタ225は、幅において0ピクセルから1ピクセルまで変動する。この変動の結果、不鮮明な、または色あせて見えるグレースケールの文字となる可能性がある。変動は、水平ステム223および水平カウンタ225に示されている。ゼロ幅カウンタ、すなわち白色ピクセルを含有しないカウンタは、文字の読み取り可能性および外見を悪化させる可能性がある。この読み取り可能性および外見の悪化は、水平カウンタ225に示されている。
【0024】
出力デバイス上での文字の外見を向上させる1つの従来の方法は、文字のステムを粗格子と整列させることである。例えば、図3Aは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の輪郭である。図3Aは、従来の方法によるソフトエッジポリシーでのステム整列後の図2Aからの大文字の「I」の輪郭を示す。カウンタは均衡化されていない。ステムは整列されてカウンタは均衡化されていないため、ステムは均一な幅を有しているがカウンタは有していない。水平ステム303は、水平ステム203の幅と同一の、均一な幅を有している。しかし、水平カウンタ205における均一性とは異なり、水平カウンタ305の幅には大きな変動がある。図3Aから分かるように、細格子解像度での水平カウンタ305の幅は、1ピクセルから6ピクセルまで変動する。
【0025】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、ステム整列等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図3Bは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の高解像度ビットマップである。図3Bは、図3Aに示される大文字の「I」の高解像度ビットマップを示す。水平ステム313および水平カウンタ315は、水平ステム303および水平カウンタ305に対応し、同じ幅を維持する。
【0026】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図3Cは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。図3Cは、図3Bに示される高解像度ビットマップのグレースケールビットマップを示す。水平ステム323は垂直および水平に整列され、出力解像度で均一な幅を有するが、水平カウンタ325は出力解像度で均一な幅を有しない。実際、カウンタのうち4つは1粗格子ピクセルの幅を有するが、カウンタのうち3つは0粗格子ピクセルの幅を有する。ゼロ幅カウンタが形成されることにより、元の文字が歪められる結果となる。この歪みは、水平カウンタ325に見ることができる。
【0027】
出力デバイス上での文字の外見を向上させる1つの従来の方法は、文字のカウンタのチェーンを均衡化することである。例えば、図4Aは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の輪郭である。図4Aは、従来の方法によるカウンタ均衡化後の図2Aからの大文字の「I」の輪郭を示す。従来のカウンタ均衡化は細格子の増分に基づいており、粗格子は考慮していない。したがって、従来のカウンタ均衡化は、粗格子に関して均衡化されるのではなく、細格子に関して均衡化されたカウンタを形成する。カウンタ均衡化は、ステム整列と同様、垂直および/または水平に行うことができる。実施例においては、水平ステム403は均一な幅を有するが、垂直には粗格子に整列されない。水平ステム403は、7細格子ピクセルの均一な幅を有しており、水平カウンタ405は、4細格子ピクセルの均一な幅を有している。
【0028】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、カウンタ均衡化等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図4Bは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の高解像度ビットマップである。図4Bは、図4Aに示される大文字の「I」の高解像度ビットマップを示す。水平ステム413および水平カウンタ415は、水平ステム403および水平カウンタ405に対応し、同じ幅を維持する。
【0029】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図4Cは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。図4Cは、図4Bに示される大文字の「I」のグレースケールビットマップを示す。細格子解像度でのカウンタ均衡化は、ステムまたはカウンタを粗格子ピクセルに整列させない。したがって、出力デバイスへ送られるグレースケールビットマップは、均一の幅を持ったカウンタおよびステムを有しない。例えば、出力解像度では、水平ステム423も水平カウンタ425も均一の幅を持たない。水平ステム423の幅は、2粗格子ピクセルから3粗格子ピクセルまで変動する。このステム幅の変動の結果不鮮明な読みにくい文字となる可能性がある。この不鮮明さは、水平ステム423に見ることができる。水平カウンタ425の幅は、1粗格子ピクセルから0粗格子ピクセルまで変動する。この歪みおよびゼロ幅カウンタの形成の結果、不鮮明に見え、読み取り可能性が悪化した文字となる。歪みおよび悪化した読み取り可能性は、水平カウンタ425に見ることができる。
【0030】
本開示に示されるように、ステム整列およびカウンタ均衡化を同時に行うことが有益となり得る。このプロセスは、文字の外見および読み取り可能性を向上させることができる。いかなるステム整列でも使用可能であるが、ある複雑な文字に対しては方向エッジが好ましい場合がある。例えば、図5Aは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の輪郭である。図5Aは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の図2Aからの大文字の「I」の輪郭を示す。ステム整列およびカウンタ均衡化が同時に行われると、水平ステムおよび水平カウンタの相対幅が維持される。カウンタはまた、粗格子に整合され、これにより外見が向上し読み取り可能性が高められる。図5Aの大文字の「I」は、均一の幅を有する。水平ステム503は、7細格子ピクセルの均一な幅を有しており、水平カウンタ505は、5細格子ピクセルの均一な幅を有している。この均一な外見および粗格子へのカウンタの整列により、以下に例証されるようにグレースケールに変換された後、文字の見た目と読み取り可能性が向上する。
【0031】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、同時のステム整列およびカウンタ均衡化等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図5Bは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の高解像度ビットマップである。図5Bは、図5Aに示される大文字の「I」の高解像度ビットマップを示す。水平ステム513および水平カウンタ515は、水平ステム503および水平カウンタ505に対応し、同じ幅を維持する。
【0032】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図5Cは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の出力解像度でのグレースケールビットマップである。図5Cは、図5Bに示される大文字の「I」のグレースケールビットマップを示す。この方法に従うことにより、大文字の「I」のグレースケールレンダリングは不鮮明になったり、色あせたりしない。さらに、方向エッジポリシーにより、水平ステム523の垂直配向は一貫し、これにより、元の文字の視覚的な満足度がより高いレンダリングが形成される。この例では、水平ステム523は、下部に整列されており、その結果各水平ステム523の下部の黒色粗格子ピクセルの行となっている。出力解像度であっても、水平ステム523および水平カウンタ525の両方が均一の幅を維持する。水平ステム523は、2デバイスピクセルの均一な幅を有しており、水平カウンタ525は、1デバイスピクセルの均一な幅を有している。図2Aの水平ステム203間および水平カウンタ205間の均一性は、水平ステム523および水平カウンタ525においても維持される。
【0033】
ステム整列を行う際、多くの可能なステム整列ポリシーを使用できる。ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、または最小バイアスポリシー等の従来のステム整列ポリシーを採用することができる。改善された結果のためには、新たに開発された方向エッジポリシーも使用することができる。方向エッジポリシーは、ステム整列およびカウンタ均衡化の組合せのために形成されたポリシーである。これは、ステムおよびカウンタに垂直な一貫した方向バイアスを有する点以外は、ソフトエッジポリシーと類似している。水平ステムに対しては、バイアス方向は上または下となることができる。垂直ステムに対しては、バイアス方向は右または左となることができる。方向エッジポリシーは、複雑な文字に対しては、従来のステム整列ポリシーにより達成されるものより均一で均衡化された結果を形成することができる。例えば、図5Cは方向エッジポリシーの結果を示す。水平ステム523のそれぞれは、下部では黒色ピクセルの行、上部ではグレーピクセルの行からなる。この配向は、図3Cとは対照的となり得る。図3Cでは、水平ステム525はソフトエッジポリシーで整列されており、これによりステムの半分は下部で黒色の行、上部でグレーの行を有し、ステムの半分は上部で黒色の行、下部でグレーの行となっている。ソフトエッジポリシーは、図形の中心に人為的な対称線を形成し、その結果ピクセルの上の行および下の行が黒色となる。このポリシーは、対称であり、ピクセルマップの境界の比較的全体を覆う文字に対しては有効であるが、多くの複雑な文字はこれらの対称軸を欠いており、ピクセルマップの境界を比較的部分的にしか覆っていない。したがって、方向エッジポリシーによって、複雑な文字に対してはより均一な外見が得られ、文字の読み取り可能性が向上する結果となる可能性がある。
【0034】
ステム整列とカウンタ均衡化を同時に行うと、多くの場合、ステムとカウンタの相対幅を維持するために、文字は拡張または収縮される。自由な拡張および収縮は、2つの理由から望ましくない。第1に、文字の元の目標サイズが処理中に失われてしまう可能性がある。第2に、各文字が拡張または収縮する量は、多くの場合、その前後の文字が拡張または収縮する量とは異なる。この差は、不均一な外見へとつながる。
【0035】
レンダリングされている複雑な文字の拡張および収縮を制限するために、本発明のいくつかの実施形態は、文字の全体的な拡張または収縮を制限する拡張係数を採用することができる。拡張係数は、フォントなどの文字の集合に適用して、集合の要素全体の均一な外見を形成することができる。
【0036】
拡張係数は、文字が拡張する、または縮むことができる量を制限することによりステムの整列およびカウンタの均衡化を改変する。例えば、図7は、整列を調節するための拡張係数の使用を示すフローチャートである。図7は、ステムの整列およびカウンタの均衡化を調節するための拡張係数の使用を示す。ステム、カウンタのチェーン、出力解像度、および拡張係数は、710で受信することができる。720で、ステムは方向エッジポリシー等の整列ポリシーに従い整列され、同時にカウンタのチェーンは出力解像度に基づき均衡化される。730で、拡張係数に基づきカウンタの均衡化を妥協することにより整列が調節される。新しい文字サイズが拡張係数により確定された閾値を超える場合、すなわち文字が大きすぎるまたは小さすぎる場合、整列はまずカウンタ均衡化において歪みを許容することにより調節される。この調節が文字サイズを拡張係数により確定された閾値内に収めるのに不十分である場合は、740で、拡張係数に基づきステム整列を妥協することにより引き続き調節される。
【0037】
拡張係数は、文字サイズの全ての変更を防ぐ0%から、文字の無制限のサイズ調節を許容する100%までの範囲となることができる。理想的な拡張係数は、通常、フォントに依存して変化するが、ほとんどのフォントに対して、5%と7%の間の拡張係数が最適となり得る。中国語のハンジ、日本語の漢字、および韓国語のハンジャおよびハングルフォントを含むほとんどのフォントに対して、6%の拡張係数が理想的となり得る。この拡張係数は、整列されたステムおよび均衡化されたカウンタの目標と、フォント中の文字間の全体的なサイズの一貫性の目標と間の妥協点である。拡張係数に対する変更は、これらの目標の1つを優先し他の目標を犠牲にすることになる。アプリケーションおよびフォントに依存して、全体的なサイズの一貫性を向上させるために拡張係数を減少させることが望ましい場合がある。
【0038】
拡張係数は、水平方向および垂直方向に対して独立して選択することもできる。アプリケーションおよびフォントに依存して、それぞれの方向に対し別個の拡張係数が望ましいこともあり得る。これらの実施例において、水平拡張係数は垂直拡張係数と等しいが、これらの教示は、水平拡張係数が垂直拡張係数と異なる状況にも適用することができる。独立した水平および垂直拡張係数は、読み取り可能性および全体的なサイズの一貫性を挙げることができる。
【0039】
示されるように、図2Aにおける大文字の「I」201は、ステム整列とカウンタ均衡化を同時に行う際に拡張され、したがって図5Aにおける大文字の「I」は高さが極めて大きい。同時のステム整列およびカウンタ均衡化の効果をより良く示すために、本実施例における拡張係数は、文字の自由な拡張および収縮を許容する100%に選択された。より小さい値とすると、可能な拡張または収縮が制限され、文字のサイズが元の輪郭とより類似したものとなる。
【0040】
さらに、拡張係数に制限を加えてステム整列とカウンタ均衡化を同時に行う際、文字を収縮させるよりも文字を拡張させるのが好ましい場合がある。文字を拡張させるのではなく収縮させると、読みにくくなる。また、文字が0デバイスピクセルの寸法となるまで収縮する可能性も存在する。
【0041】
本明細書で説明される本発明の実施形態および機能的動作の全ては、本明細書で開示される構造およびその構造的等価物、またはそれらの組合せを含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにも実装することができる。本発明の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置により実行される、またはその動作を制御するための、コンピュータ読み取り可能媒体上にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶デバイス、記憶媒体、もしくはメモリデバイス、もしくはそれらの複数等の機械読み取り可能デバイスであっても、具体的な機械読み取り可能伝播信号であってもよい。「データ処理装置」という用語は、例えば、プログラム可能なプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての装置、デバイス、および機械を包含する。装置は、ハードウェアに加え、該当コンピュータプログラムの実行環境を形成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの組合せを構成するコードを含むことができる。伝播信号は、人為的に生成された信号、例えば、適した受信器装置への伝送のための情報のエンコードのために機械によって生成された電気的、光学的、または電磁気的信号等である。
【0042】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語を含む、プログラミング言語のいかなる形式でも記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピュータ環境での使用に適した他のユニットとして等、いかなる形態でも配備することができる。コンピュータプログラムは、必ずしもファイルシステム中のファイルに対応するとは限らない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部(例えば、マークアップ言語文書中に格納された1つ以上のスクリプト等)、該当プログラム専用の単一のファイル、または複数の関連付けられたファイル(例えば、1つ以上のモジュール、サブプログラム、もそくはコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1つのコンピュータ、または1つの場所に位置する、もしくは複数の場所にわたり分布し、通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように配備されることが可能である。
【0043】
本明細書で説明されるプロセスおよび論理フローは、入力データに対し動作し出力を生成することにより機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサにより実行することができる。プロセスおよび論理フローは、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)等の特殊用途の論理回路により実行することができ、またそれらとして実装することもできる。
【0044】
コンピュータプログラムの実行に適したプロセッサには、例えば、汎用および特殊用途双方のマイクロプロセッサや、あらゆる種類のデジタルコンピュータの1つ以上のあらゆるプロセッサが含まれる。一般に、プロセッサは、読取専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、光磁気ディスク、もしくは光ディスク等、データを格納するための1つ以上の大容量記憶デバイスを含むか、あるいは、該デバイスからデータを受信するかもしくは該デバイスへデータを伝送するかまたはその両方のために動作可能に結合されている。しかし、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、2、3例を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオプレーヤ、全地球測位システム(GPS)受信器等、他のデバイスに内蔵されることが可能である。コンピュータプログラム命令およびデータを格納するのに適した情報担体には、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス等の半導体メモリデバイス、内蔵ハードディスクまたはリムーバブルディスク等の磁気ディスク、光磁気ディスク、ならびに、CD−ROMおよびDVD−ROMディスクを含む、全ての形態の不揮発性メモリが含まれる。プロセッサおよびメモリは、特殊用途論理回路が追加されていても、または該回路に組み込まれていてもよい。
【0045】
ユーザとのインタラクションを提供するために、本発明の実施形態は、ユーザに情報を表示するための、CRT(陰極線管)モニタ、LCD(液晶ディスプレイ)モニタ、OLED(有機発光ダイオード)モニタ、またはプリンタ等の表示デバイスと、ユーザがコンピュータに入力できるようにする、マウスまたはトラックボール等のキーボードおよびポインティングデバイスとを有するコンピュータに実装することができる。同様に、ユーザとのインタラクションを提供するために他の種類のデバイスも使用可能である。例えば、ユーザに提供されるフィードバックは、いかなる形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響、音声、または触覚的入力を含むいかなる形態で受信されてもよい。
【0046】
本発明の実施形態は、例えばデータサーバとしてのバックエンドコンポーネント、または、アプリケーションサーバ等のミドルウェアコンポーネント、または、ユーザが本発明の実装とやり取りすることができるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ等のフロントエンドコンポーネント、または、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含むコンピュータシステムに実装することができる。システムのコンポーネントは、例えば通信ネットワーク等、デジタルデータ通信のいかなる形態または媒体によっても相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えばインターネット等が含まれる。
【0047】
コンピュータシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを介してやり取りする。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント−サーバ関係を有するコンピュータプログラムにより生じる。
【0048】
コンピュータシステムは、本明細書で説明される動作を実行する文書処理アプリケーションを含むことができる。文書処理アプリケーションの例には、Adobe Systems Incorporated(カリフォルニア州サンノゼ)製Adobe(登録商標)Acrobat(登録商標)およびAdobe(登録商標)Reader(登録商標)が含まれる。電子文書は必ずしもファイルに対応するとは限らない。文書は、他の文書を保持するファイルの一部、該当文書専用の単一ファイル、または複数の関連付けられたファイルに格納されてもよい。
【0049】
1つのそのような種類のコンピュータの例を図6に示すが、これは、本発明の装置または方法の実装または実行に適した、プログラム可能な処理システム(システム)610のブロック図を示している。システム610は、プロセッサ620、ランダムアクセスメモリ(RAM)621、プログラムメモリ622(例えば、フラッシュROM等の書込可能な読取専用メモリ(ROM))、ハードドライブコントローラ623、および、プロセッサ(CPU)バス625により結合された入力/出力(I/O)コントローラ624を含む。システム610は、例えばROMで再プログラムすることができ、または、他のソースから(例えば、フロッピー(登録商標)ディスク、CD−ROM、または他のコンピュータから)プログラムを読み込むことによりプログラム(および再プログラム)することができる
ハードドライブコントローラ623は、本開示を具現化したプログラムを含む実行可能なコンピュータプログラム、ならびに文字およびフォントプログラムを含むデータの格納に適したハードディスク630と結合される。
【0050】
I/Oコントローラ624は、I/Oバス626を用いてI/Oインタフェース627に結合される。I/Oインタフェース627は、シリアルリンク、ローカルエリアネットワーク、無線リンク、およびパラレルリンク等の通信リンクを介して、アナログまたはデジタル形式のデータ(例えば、インポートして合成するための静止画、写真、動画、およびアニメーション等)を受信および伝送する。
【0051】
ディスプレイ628およびキーボード629もI/Oバス626に結合される。あるいは、I/Oインタフェース627、ディスプレイ628、およびキーボード629に対し、別個の接続(別個のバス)を使用することができる。
【0052】
本発明の特定の実施形態を説明してきた。他の実装例も、以下の特許請求の範囲内である。例えば、請求項で列挙された行為は異なる順番で行うことができ、それでもなお所望の結果を達成することができる。
【図面の簡単な説明】
【0053】
【図1】図1は、ステムを有する文字の拡大縮小の方法を示すフローチャートである。
【図2A】図2Aは、いくつかの水平ステムおよびカウンタを有する大文字の「I」の輪郭である。
【図2B】図2Bは、大文字の「I」の高解像度ビットマップである。
【図2C】図2Cは、大文字の「I」の出力解像度でのグレースケールビットマップである。
【図3A】図3Aは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の輪郭である。
【図3B】図3Bは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の高解像度ビットマップである。
【図3C】図3Cは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。
【図4A】図4Aは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の輪郭である。
【図4B】図4Bは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の高解像度ビットマップである。
【図4C】図4Cは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。
【図5A】図5Aは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の輪郭である。
【図5B】図5Bは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の高解像度ビットマップである。
【図5C】図5Cは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の出力解像度でのグレースケールビットマップである。
【図6】図6は、本開示の方法および装置のための好適なホストであるプログラム可能なコンピュータのブロック図である。
【図7】図7は、整列を調節するための拡張係数の使用を示すフローチャートである。
【技術分野】
【0001】
本開示は、マルチトーンデバイス上での表示のための複雑な文字のレンダリングに関する。マルチトーンデバイスは、2つを超える一連のトーンを表示することができるデバイスである。マルチトーンデバイスの例は、グレースケールデバイスおよびカラーデバイスである。
【背景技術】
【0002】
複雑な文字は、垂直または水平の2つ以上の画数(一般にステムと呼ばれる)を含む図形による印または記号である。複雑な文字の例としては、中国語のハンジ(Chinese hanzi)、日本語の漢字、韓国語のハンジャおよびハングル文字が挙げられる。複雑な文字の他の例としては、複数の画数(stroke)を持つ西洋文字および非西洋文字が挙げられる。
【0003】
出力デバイス上での表示のために複雑な文字をレンダリングする際、文字の余白を考慮するのが有益である。これらの余白(一般にカウンタと呼ばれる)は、文字のステム間の領域と定義される。これらのカウンタの幅を均衡化することにより、複雑な文字の表現を向上させることができる。
【0004】
単色の非グレースケールレンダリングプロセスにおいて複雑な文字のカウンタを均衡化する従来の技術は、マルチトーンデバイス上での表示のためにレンダリングされた複雑な文字とは概して適合しない。ステム整列ポリシー(stem alignment policy)に従い文字のステムを整列させる従来の技術は、概して、文字のカウンタを均衡化する重要性を考慮していない。
【0005】
単色の非グレースケールレンダリングプロセスにおいて複雑な文字のカウンタを均衡化する技術は、Adobe Systems Incorporated(カリフォルニア州サンノゼ)に譲渡された特許文献1(’103特許)に記載されている。グレースケールデバイス上での表示のための文字のレンダリング技術は、Adobe Systems Incorporated(カリフォルニア州サンノゼ)に譲渡された特許文献2(’063特許)で説明されている。’063特許は、ステム整列ポリシーに従い文字のステムを整列させる。
【特許文献1】米国特許第5,050,103号明細書
【特許文献2】米国特許第5,943,063号明細書
【発明の開示】
【課題を解決するための手段】
【0006】
概して、一態様において、本発明は、マルチトーンデバイス上での出力のために文字をレンダリングするためのコンピュータプログラム製品を含む、方法および装置を提供する。ステムを含み、関連付けられた出力解像度および関連付けられたビット深度を有する文字を受信することができる。ステムにより規定されるカウンタは、1つ以上のカウンタのチェーンにグループ化することができる。出力解像度に基づきカウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき文字のステムを整列させることができる。整列されたステムに基づき、出力解像度および出力ビット深度でピクセルマップを作成することができる。他の態様によれば、ステムを有する文字の拡大縮小のためのシステムは、プロセッサと、該プロセッサに、説明される動作を実行させるように動作可能な、文書処理アプリケーションを含むコンピュータプログラム製品をエンコードするコンピュータ読み取り可能媒体とを含むことができる。
【0007】
本発明の有利な実装例は、以下の特徴のうちの1つ以上を含む。ステム整列ポリシーは、ハードエッジポリシー(hard−edge policy)、ソフトエッジポリシー(soft−edge policy)、ブラックエッジポリシー(black−edge policy)、最小バイアスポリシー(minimum−bias policy)、または方向エッジポリシー(directional−edge policy)となることができる。方向エッジポリシーは、文字のステムを、ステムの配向と一致するバイアス方向の出力解像度に整列させることができる。ステムの整列とカウンタのチェーンの均衡化は、拡張係数に基づくことができる。拡張係数は、5%と7%の間となることができる。出力解像度は、水平出力解像度および垂直出力解像度となることができる。
【0008】
以下の利点のうちの1つ以上を実現するために、本発明の特定の実施形態を実装することができる。複雑な文字におけるステムの相対幅およびカウンタは、文字が出力デバイス上にレンダリングされる際に維持することができる。複雑な文字の読み取り可能性は、不鮮明さ(blurriness)を低減しながら向上させることができる。複雑な文字のカウンタおよびステムはより明確となることができ、これは文字の視覚的な特徴と認識度を向上させる。複雑な文字は、読み取り可能性を維持しながらダウンサンプリングして解像度を減少させることができる。
【0009】
本発明の実施形態は、ステム整列およびカウンタ均衡化の連続的な適用により発生する不鮮明さや低い読み取り可能性を避けることができる。本発明の実施形態は、不鮮明や色あせがより少なく見え、また明確かつ認識しやすいカウンタを有する複雑な文字を形成することができる。これは、多くのステムおよびカウンタを有する中国語のハンジ、日本語の漢字、および韓国語のハンジャおよびハングル文字にとって特に有益となり得る。
【0010】
本発明の1つ以上の実施形態の詳細を、付随する図面および以下の説明に記載する。説明、図面、および請求項から、本発明の他の特徴、態様、および利点が明らかとなるだろう。
【発明を実施するための最良の形態】
【0011】
様々な図面における同様の参照番号および記号は、同様の要素を示す。
【0012】
本開示は、マルチトーンデバイス上での出力のための文字の拡大縮小の方法に関する。説明の簡便性のために、以下の実施例は、グレースケールデバイス上での出力のために文字を拡大縮小する。説明される方法は、カラーデバイスにもまた適用可能である。実施例として、図1は、グレースケールデバイス上での出力のための、ステムを有する文字の拡大縮小の方法を示すフローチャートである。文字の拡大縮小を担うプロセスは、110で、ステム、出力解像度、および出力ビット深度を有する文字を受信することができる。そのようなプロセスの例は、文書処理アプリケーション、文字レンダリングルーチン、および汎用ラスタライザを含む。入力は、該プロセスに渡されるか、またはすでに該プロセスに含有されていてもよい。文字のステム間の余白、すなわちカウンタは、120でチェーンとしてグループ化することができる。カウンタおよびチェーンは、従来的に、垂直および水平の2つのグループに分割される。130において、出力解像度に基づきカウンタのチェーンを均衡化すると同時に、ステム整列ポリシーに従い文字のステムを整列させることができる。140において、整列されたステムに基づき、出力解像度およびビット深度で文字のピクセルマップを作成することができる。このピクセルマップは、さらなる処理または使用のために他のプロセスに渡すことができ、あるいは、出力デバイスにレンダリングすることができる。
【0013】
ステム整列を行う際、使用できるステム整列ポリシーにはいくつかある。従来のポリシーには、ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、および最小バイアスポリシーが含まれる。
【0014】
ハードエッジポリシーは、ステムの両端を粗格子境界に整列させる。このポリシーは、鮮明な線を生成するが、ステム幅が過度に量子化され、不均一になるか、太すぎるか、または細すぎる文字となる可能性がある。
【0015】
ソフトエッジポリシーは、ステムの少なくとも1つの端を粗格子境界に整列させる。また、このポリシーでは、整列された端が文字の外側を向く必要がある。そのようにして、文字の上端および下端の両方が粗格子に整列され、いかなるグレーピクセルも文字の中心を向く。
【0016】
ブラックエッジポリシーは、ステムの少なくとも1つの端を粗格子境界に整列させる。このポリシーは、少なくとも1つの粗格子に整列された端を維持しながら、ステム中心の動きを最小化する。
【0017】
最小バイアスポリシーは、ブラックエッジポリシーの修正型であり、幅において1デバイスピクセルよりも大きいが2デバイスピクセルよりも小さいステムに適用される。最小バイアスポリシーにおいては、これらのステムは粗格子と整列されない。その結果、ブラックエッジポリシーにおいて発生するように、一方を黒、他方をより明るいグレーの影とするのではなく、両方のデバイスピクセルがグレーのままとなる。
【0018】
以下の実施例は、図案化された大文字の「I」に適用された上述の方法を示す。図2Aは、いくつかの水平ステムおよびカウンタを有する大文字の「I」201の輪郭である。図案化された大文字の「I」201は、8つの水平ステム203を有する。これらの水平ステム間の余白は7つの水平カウンタ205を規定する。従来の図案化されていない大文字の「I」の文字は、多くの場合、1つから3つの間のステムを有し、カウンタを有しない。大文字の「I」201は、以下に説明される技術を例示するために作成された複数のステムおよびカウンタを有する複雑な文字である。従来の方法に従う拡大縮小およびレンダリングのプロセス中の、大文字の「I」のステムおよびカウンタにおける歪みを低減することができる。この例は、中国語のハンジ、日本語の漢字、韓国語のハンジャおよびハングル文字等の他の複雑な文字にも適用可能である。水平ステム203および水平カウンタ205に関する本開示の教示は、垂直ステムおよび垂直カウンタにも等しく適用可能である。
【0019】
大文字の「I」201は、2つの格子に重ね合わせられる。第1の格子207は実線により規定され、出力解像度に対応する(この格子は「粗格子」とも呼ばれる)。第2の格子209は点線により規定され、レンダリングに使用される高解像度に対応する(この格子は「細格子」とも呼ばれる)。この実施例では、細格子は粗格子よりも16倍大きい解像度を有する。すなわち、各粗格子ピクセルに対し、16個の細格子ピクセルが存在する。これらの格子の1つまたは両方が、図2B〜5Cにも示されている。
【0020】
粗格子のピクセルに対する細格子のピクセルの比(格子比)は、水平方向と垂直方向で同一となることができる。アプリケーションまたはフォントに依存して、水平および垂直方向で独立した格子比を選択することも有利となる可能性がある。これらの実施例において、水平格子比は垂直格子比と等しいが、これらの教示は、水平格子比が垂直格子比と異なる状況にも適用することができる。独立した水平および垂直格子比は、読み取り可能性および全体的なサイズの一貫性を挙げることができる。
【0021】
大文字の「I」201は、複雑な文字のフォントの輪郭を表している。文字をレンダリングする際、この輪郭はまず細格子に拡大縮小される。図2Aに示されるように、水平ステム203は、約7高解像度ピクセルの均一な幅を有する。同様に、水平カウンタ205は、約3.5高解像度ピクセルの均一な幅を有する。
【0022】
文字が細格子に拡大縮小された後、文字の輪郭に対応する細格子ピクセルをターンオンして文字の高解像度ビットマップを作成することができる。ステム整列またはカウンタ均衡化等の補正変換が行われない場合、文字の輪郭内に含有される全ての細格子ピクセルをターンオンすることにより、高解像度ビットマップを作成することができる。細格子ピクセルは単色であり、ターンオンまたはオフのみしか行うことができない。図2Bは、大文字の「I」の高解像度ビットマップである。図2Bは、図2Aに示される大文字の「I」の高解像度ビットマップを示す。図2Aにおける大文字の「I」201の輪郭内に含有される細格子ピクセルがターンオンされている。図2Aにおける輪郭は、図2Bに示されるように細格子に量子化されている。水平ステム213は、水平ステム203と同じ細格子幅を有している。量子化プロセスの結果、水平カウンタ215は、水平カウンタ205と同じ細格子幅を持たない。水平ステム213は、7細格子ピクセルの均一な幅を有しているが、水平カウンタ215は、3または4細格子ピクセルのいずれかの幅を有している。
【0023】
高解像度ビットマップが作成された後、出力デバイス上での表示のために文字のグレースケール粗ビットマップを作成することができる。粗格子ピクセルは、高解像度ビットマップにおいてターンオンされた対応する細格子ピクセルの数に基づきターンオンまたはオフすることができる。細格子ピクセルと異なり、粗格子ピクセルはグレースケールのピクセルであり、いくつかの異なるトーンにターンオンすることができる。各粗格子ピクセルのトーンは、ターンオンされている対応する細格子ピクセルの数により決定することができる。対応する高解像度ピクセルの数が増加するに従い、粗格子ピクセルのトーンはより暗くなる。対応する細格子ピクセルの全てがターンオンされた場合、粗格子ピクセルは黒くなる。同様に、対応する細格子ピクセルが全くターンオンされない場合、粗格子ピクセルは白くなる(ターンオフされる)。例えば、図2Cは、大文字の「I」の出力解像度でのグレースケールビットマップである。図2Cは、図2Bに示される高解像度ビットマップから作成されたグレースケールビットマップを示す。図2Cに示されるパターンは、様々なレベルのグレースケールトーンを表している。より暗いパターンはより暗いトーンを表し、より明るいパターンはより明るいトーンを表す。粗格子ピクセルは、図2Bにおいてターンオンされている細格子ピクセルの対応する数に基づきターンオンされている。水平ステム213は、水平ステム223に変換され、水平カウンタ215は、水平カウンタ225に変換されている。水平ステム213とは異なり、水平ステム223は、粗格子にダウンサンプリングされているため均一な幅を持たない。同様に、水平カウンタ225は均一な幅を持たない。出力解像度では、水平ステム223は、幅において2ピクセルから3ピクセル変動し、水平カウンタ225は、幅において0ピクセルから1ピクセルまで変動する。この変動の結果、不鮮明な、または色あせて見えるグレースケールの文字となる可能性がある。変動は、水平ステム223および水平カウンタ225に示されている。ゼロ幅カウンタ、すなわち白色ピクセルを含有しないカウンタは、文字の読み取り可能性および外見を悪化させる可能性がある。この読み取り可能性および外見の悪化は、水平カウンタ225に示されている。
【0024】
出力デバイス上での文字の外見を向上させる1つの従来の方法は、文字のステムを粗格子と整列させることである。例えば、図3Aは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の輪郭である。図3Aは、従来の方法によるソフトエッジポリシーでのステム整列後の図2Aからの大文字の「I」の輪郭を示す。カウンタは均衡化されていない。ステムは整列されてカウンタは均衡化されていないため、ステムは均一な幅を有しているがカウンタは有していない。水平ステム303は、水平ステム203の幅と同一の、均一な幅を有している。しかし、水平カウンタ205における均一性とは異なり、水平カウンタ305の幅には大きな変動がある。図3Aから分かるように、細格子解像度での水平カウンタ305の幅は、1ピクセルから6ピクセルまで変動する。
【0025】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、ステム整列等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図3Bは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の高解像度ビットマップである。図3Bは、図3Aに示される大文字の「I」の高解像度ビットマップを示す。水平ステム313および水平カウンタ315は、水平ステム303および水平カウンタ305に対応し、同じ幅を維持する。
【0026】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図3Cは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。図3Cは、図3Bに示される高解像度ビットマップのグレースケールビットマップを示す。水平ステム323は垂直および水平に整列され、出力解像度で均一な幅を有するが、水平カウンタ325は出力解像度で均一な幅を有しない。実際、カウンタのうち4つは1粗格子ピクセルの幅を有するが、カウンタのうち3つは0粗格子ピクセルの幅を有する。ゼロ幅カウンタが形成されることにより、元の文字が歪められる結果となる。この歪みは、水平カウンタ325に見ることができる。
【0027】
出力デバイス上での文字の外見を向上させる1つの従来の方法は、文字のカウンタのチェーンを均衡化することである。例えば、図4Aは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の輪郭である。図4Aは、従来の方法によるカウンタ均衡化後の図2Aからの大文字の「I」の輪郭を示す。従来のカウンタ均衡化は細格子の増分に基づいており、粗格子は考慮していない。したがって、従来のカウンタ均衡化は、粗格子に関して均衡化されるのではなく、細格子に関して均衡化されたカウンタを形成する。カウンタ均衡化は、ステム整列と同様、垂直および/または水平に行うことができる。実施例においては、水平ステム403は均一な幅を有するが、垂直には粗格子に整列されない。水平ステム403は、7細格子ピクセルの均一な幅を有しており、水平カウンタ405は、4細格子ピクセルの均一な幅を有している。
【0028】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、カウンタ均衡化等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図4Bは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の高解像度ビットマップである。図4Bは、図4Aに示される大文字の「I」の高解像度ビットマップを示す。水平ステム413および水平カウンタ415は、水平ステム403および水平カウンタ405に対応し、同じ幅を維持する。
【0029】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図4Cは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。図4Cは、図4Bに示される大文字の「I」のグレースケールビットマップを示す。細格子解像度でのカウンタ均衡化は、ステムまたはカウンタを粗格子ピクセルに整列させない。したがって、出力デバイスへ送られるグレースケールビットマップは、均一の幅を持ったカウンタおよびステムを有しない。例えば、出力解像度では、水平ステム423も水平カウンタ425も均一の幅を持たない。水平ステム423の幅は、2粗格子ピクセルから3粗格子ピクセルまで変動する。このステム幅の変動の結果不鮮明な読みにくい文字となる可能性がある。この不鮮明さは、水平ステム423に見ることができる。水平カウンタ425の幅は、1粗格子ピクセルから0粗格子ピクセルまで変動する。この歪みおよびゼロ幅カウンタの形成の結果、不鮮明に見え、読み取り可能性が悪化した文字となる。歪みおよび悪化した読み取り可能性は、水平カウンタ425に見ることができる。
【0030】
本開示に示されるように、ステム整列およびカウンタ均衡化を同時に行うことが有益となり得る。このプロセスは、文字の外見および読み取り可能性を向上させることができる。いかなるステム整列でも使用可能であるが、ある複雑な文字に対しては方向エッジが好ましい場合がある。例えば、図5Aは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の輪郭である。図5Aは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の図2Aからの大文字の「I」の輪郭を示す。ステム整列およびカウンタ均衡化が同時に行われると、水平ステムおよび水平カウンタの相対幅が維持される。カウンタはまた、粗格子に整合され、これにより外見が向上し読み取り可能性が高められる。図5Aの大文字の「I」は、均一の幅を有する。水平ステム503は、7細格子ピクセルの均一な幅を有しており、水平カウンタ505は、5細格子ピクセルの均一な幅を有している。この均一な外見および粗格子へのカウンタの整列により、以下に例証されるようにグレースケールに変換された後、文字の見た目と読み取り可能性が向上する。
【0031】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、同時のステム整列およびカウンタ均衡化等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図5Bは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の高解像度ビットマップである。図5Bは、図5Aに示される大文字の「I」の高解像度ビットマップを示す。水平ステム513および水平カウンタ515は、水平ステム503および水平カウンタ505に対応し、同じ幅を維持する。
【0032】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図5Cは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の出力解像度でのグレースケールビットマップである。図5Cは、図5Bに示される大文字の「I」のグレースケールビットマップを示す。この方法に従うことにより、大文字の「I」のグレースケールレンダリングは不鮮明になったり、色あせたりしない。さらに、方向エッジポリシーにより、水平ステム523の垂直配向は一貫し、これにより、元の文字の視覚的な満足度がより高いレンダリングが形成される。この例では、水平ステム523は、下部に整列されており、その結果各水平ステム523の下部の黒色粗格子ピクセルの行となっている。出力解像度であっても、水平ステム523および水平カウンタ525の両方が均一の幅を維持する。水平ステム523は、2デバイスピクセルの均一な幅を有しており、水平カウンタ525は、1デバイスピクセルの均一な幅を有している。図2Aの水平ステム203間および水平カウンタ205間の均一性は、水平ステム523および水平カウンタ525においても維持される。
【0033】
ステム整列を行う際、多くの可能なステム整列ポリシーを使用できる。ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、または最小バイアスポリシー等の従来のステム整列ポリシーを採用することができる。改善された結果のためには、新たに開発された方向エッジポリシーも使用することができる。方向エッジポリシーは、ステム整列およびカウンタ均衡化の組合せのために形成されたポリシーである。これは、ステムおよびカウンタに垂直な一貫した方向バイアスを有する点以外は、ソフトエッジポリシーと類似している。水平ステムに対しては、バイアス方向は上または下となることができる。垂直ステムに対しては、バイアス方向は右または左となることができる。方向エッジポリシーは、複雑な文字に対しては、従来のステム整列ポリシーにより達成されるものより均一で均衡化された結果を形成することができる。例えば、図5Cは方向エッジポリシーの結果を示す。水平ステム523のそれぞれは、下部では黒色ピクセルの行、上部ではグレーピクセルの行からなる。この配向は、図3Cとは対照的となり得る。図3Cでは、水平ステム525はソフトエッジポリシーで整列されており、これによりステムの半分は下部で黒色の行、上部でグレーの行を有し、ステムの半分は上部で黒色の行、下部でグレーの行となっている。ソフトエッジポリシーは、図形の中心に人為的な対称線を形成し、その結果ピクセルの上の行および下の行が黒色となる。このポリシーは、対称であり、ピクセルマップの境界の比較的全体を覆う文字に対しては有効であるが、多くの複雑な文字はこれらの対称軸を欠いており、ピクセルマップの境界を比較的部分的にしか覆っていない。したがって、方向エッジポリシーによって、複雑な文字に対してはより均一な外見が得られ、文字の読み取り可能性が向上する結果となる可能性がある。
【0034】
ステム整列とカウンタ均衡化を同時に行うと、多くの場合、ステムとカウンタの相対幅を維持するために、文字は拡張または収縮される。自由な拡張および収縮は、2つの理由から望ましくない。第1に、文字の元の目標サイズが処理中に失われてしまう可能性がある。第2に、各文字が拡張または収縮する量は、多くの場合、その前後の文字が拡張または収縮する量とは異なる。この差は、不均一な外見へとつながる。
【0035】
レンダリングされている複雑な文字の拡張および収縮を制限するために、本発明のいくつかの実施形態は、文字の全体的な拡張または収縮を制限する拡張係数を採用することができる。拡張係数は、フォントなどの文字の集合に適用して、集合の要素全体の均一な外見を形成することができる。
【0036】
拡張係数は、文字が拡張する、または縮むことができる量を制限することによりステムの整列およびカウンタの均衡化を改変する。例えば、図7は、整列を調節するための拡張係数の使用を示すフローチャートである。図7は、ステムの整列およびカウンタの均衡化を調節するための拡張係数の使用を示す。ステム、カウンタのチェーン、出力解像度、および拡張係数は、710で受信することができる。720で、ステムは方向エッジポリシー等の整列ポリシーに従い整列され、同時にカウンタのチェーンは出力解像度に基づき均衡化される。730で、拡張係数に基づきカウンタの均衡化を妥協することにより整列が調節される。新しい文字サイズが拡張係数により確定された閾値を超える場合、すなわち文字が大きすぎるまたは小さすぎる場合、整列はまずカウンタ均衡化において歪みを許容することにより調節される。この調節が文字サイズを拡張係数により確定された閾値内に収めるのに不十分である場合は、740で、拡張係数に基づきステム整列を妥協することにより引き続き調節される。
【0037】
拡張係数は、文字サイズの全ての変更を防ぐ0%から、文字の無制限のサイズ調節を許容する100%までの範囲となることができる。理想的な拡張係数は、通常、フォントに依存して変化するが、ほとんどのフォントに対して、5%と7%の間の拡張係数が最適となり得る。中国語のハンジ、日本語の漢字、および韓国語のハンジャおよびハングルフォントを含むほとんどのフォントに対して、6%の拡張係数が理想的となり得る。この拡張係数は、整列されたステムおよび均衡化されたカウンタの目標と、フォント中の文字間の全体的なサイズの一貫性の目標と間の妥協点である。拡張係数に対する変更は、これらの目標の1つを優先し他の目標を犠牲にすることになる。アプリケーションおよびフォントに依存して、全体的なサイズの一貫性を向上させるために拡張係数を減少させることが望ましい場合がある。
【0038】
拡張係数は、水平方向および垂直方向に対して独立して選択することもできる。アプリケーションおよびフォントに依存して、それぞれの方向に対し別個の拡張係数が望ましいこともあり得る。これらの実施例において、水平拡張係数は垂直拡張係数と等しいが、これらの教示は、水平拡張係数が垂直拡張係数と異なる状況にも適用することができる。独立した水平および垂直拡張係数は、読み取り可能性および全体的なサイズの一貫性を挙げることができる。
【0039】
示されるように、図2Aにおける大文字の「I」201は、ステム整列とカウンタ均衡化を同時に行う際に拡張され、したがって図5Aにおける大文字の「I」は高さが極めて大きい。同時のステム整列およびカウンタ均衡化の効果をより良く示すために、本実施例における拡張係数は、文字の自由な拡張および収縮を許容する100%に選択された。より小さい値とすると、可能な拡張または収縮が制限され、文字のサイズが元の輪郭とより類似したものとなる。
【0040】
さらに、拡張係数に制限を加えてステム整列とカウンタ均衡化を同時に行う際、文字を収縮させるよりも文字を拡張させるのが好ましい場合がある。文字を拡張させるのではなく収縮させると、読みにくくなる。また、文字が0デバイスピクセルの寸法となるまで収縮する可能性も存在する。
【0041】
本明細書で説明される本発明の実施形態および機能的動作の全ては、本明細書で開示される構造およびその構造的等価物、またはそれらの組合せを含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにも実装することができる。本発明の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置により実行される、またはその動作を制御するための、コンピュータ読み取り可能媒体上にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶デバイス、記憶媒体、もしくはメモリデバイス、もしくはそれらの複数等の機械読み取り可能デバイスであっても、具体的な機械読み取り可能伝播信号であってもよい。「データ処理装置」という用語は、例えば、プログラム可能なプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての装置、デバイス、および機械を包含する。装置は、ハードウェアに加え、該当コンピュータプログラムの実行環境を形成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの組合せを構成するコードを含むことができる。伝播信号は、人為的に生成された信号、例えば、適した受信器装置への伝送のための情報のエンコードのために機械によって生成された電気的、光学的、または電磁気的信号等である。
【0042】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語を含む、プログラミング言語のいかなる形式でも記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピュータ環境での使用に適した他のユニットとして等、いかなる形態でも配備することができる。コンピュータプログラムは、必ずしもファイルシステム中のファイルに対応するとは限らない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部(例えば、マークアップ言語文書中に格納された1つ以上のスクリプト等)、該当プログラム専用の単一のファイル、または複数の関連付けられたファイル(例えば、1つ以上のモジュール、サブプログラム、もそくはコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1つのコンピュータ、または1つの場所に位置する、もしくは複数の場所にわたり分布し、通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように配備されることが可能である。
【0043】
本明細書で説明されるプロセスおよび論理フローは、入力データに対し動作し出力を生成することにより機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサにより実行することができる。プロセスおよび論理フローは、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)等の特殊用途の論理回路により実行することができ、またそれらとして実装することもできる。
【0044】
コンピュータプログラムの実行に適したプロセッサには、例えば、汎用および特殊用途双方のマイクロプロセッサや、あらゆる種類のデジタルコンピュータの1つ以上のあらゆるプロセッサが含まれる。一般に、プロセッサは、読取専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、光磁気ディスク、もしくは光ディスク等、データを格納するための1つ以上の大容量記憶デバイスを含むか、あるいは、該デバイスからデータを受信するかもしくは該デバイスへデータを伝送するかまたはその両方のために動作可能に結合されている。しかし、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、2、3例を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオプレーヤ、全地球測位システム(GPS)受信器等、他のデバイスに内蔵されることが可能である。コンピュータプログラム命令およびデータを格納するのに適した情報担体には、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス等の半導体メモリデバイス、内蔵ハードディスクまたはリムーバブルディスク等の磁気ディスク、光磁気ディスク、ならびに、CD−ROMおよびDVD−ROMディスクを含む、全ての形態の不揮発性メモリが含まれる。プロセッサおよびメモリは、特殊用途論理回路が追加されていても、または該回路に組み込まれていてもよい。
【0045】
ユーザとのインタラクションを提供するために、本発明の実施形態は、ユーザに情報を表示するための、CRT(陰極線管)モニタ、LCD(液晶ディスプレイ)モニタ、OLED(有機発光ダイオード)モニタ、またはプリンタ等の表示デバイスと、ユーザがコンピュータに入力できるようにする、マウスまたはトラックボール等のキーボードおよびポインティングデバイスとを有するコンピュータに実装することができる。同様に、ユーザとのインタラクションを提供するために他の種類のデバイスも使用可能である。例えば、ユーザに提供されるフィードバックは、いかなる形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響、音声、または触覚的入力を含むいかなる形態で受信されてもよい。
【0046】
本発明の実施形態は、例えばデータサーバとしてのバックエンドコンポーネント、または、アプリケーションサーバ等のミドルウェアコンポーネント、または、ユーザが本発明の実装とやり取りすることができるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ等のフロントエンドコンポーネント、または、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含むコンピュータシステムに実装することができる。システムのコンポーネントは、例えば通信ネットワーク等、デジタルデータ通信のいかなる形態または媒体によっても相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えばインターネット等が含まれる。
【0047】
コンピュータシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを介してやり取りする。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント−サーバ関係を有するコンピュータプログラムにより生じる。
【0048】
コンピュータシステムは、本明細書で説明される動作を実行する文書処理アプリケーションを含むことができる。文書処理アプリケーションの例には、Adobe Systems Incorporated(カリフォルニア州サンノゼ)製Adobe(登録商標)Acrobat(登録商標)およびAdobe(登録商標)Reader(登録商標)が含まれる。電子文書は必ずしもファイルに対応するとは限らない。文書は、他の文書を保持するファイルの一部、該当文書専用の単一ファイル、または複数の関連付けられたファイルに格納されてもよい。
【0049】
1つのそのような種類のコンピュータの例を図6に示すが、これは、本発明の装置または方法の実装または実行に適した、プログラム可能な処理システム(システム)610のブロック図を示している。システム610は、プロセッサ620、ランダムアクセスメモリ(RAM)621、プログラムメモリ622(例えば、フラッシュROM等の書込可能な読取専用メモリ(ROM))、ハードドライブコントローラ623、および、プロセッサ(CPU)バス625により結合された入力/出力(I/O)コントローラ624を含む。システム610は、例えばROMで再プログラムすることができ、または、他のソースから(例えば、フロッピー(登録商標)ディスク、CD−ROM、または他のコンピュータから)プログラムを読み込むことによりプログラム(および再プログラム)することができる
ハードドライブコントローラ623は、本開示を具現化したプログラムを含む実行可能なコンピュータプログラム、ならびに文字およびフォントプログラムを含むデータの格納に適したハードディスク630と結合される。
【0050】
I/Oコントローラ624は、I/Oバス626を用いてI/Oインタフェース627に結合される。I/Oインタフェース627は、シリアルリンク、ローカルエリアネットワーク、無線リンク、およびパラレルリンク等の通信リンクを介して、アナログまたはデジタル形式のデータ(例えば、インポートして合成するための静止画、写真、動画、およびアニメーション等)を受信および伝送する。
【0051】
ディスプレイ628およびキーボード629もI/Oバス626に結合される。あるいは、I/Oインタフェース627、ディスプレイ628、およびキーボード629に対し、別個の接続(別個のバス)を使用することができる。
【0052】
本発明の特定の実施形態を説明してきた。他の実装例も、以下の特許請求の範囲内である。例えば、請求項で列挙された行為は異なる順番で行うことができ、それでもなお所望の結果を達成することができる。
【図面の簡単な説明】
【0053】
【図1】図1は、ステムを有する文字の拡大縮小の方法を示すフローチャートである。
【図2A】図2Aは、いくつかの水平ステムおよびカウンタを有する大文字の「I」の輪郭である。
【図2B】図2Bは、大文字の「I」の高解像度ビットマップである。
【図2C】図2Cは、大文字の「I」の出力解像度でのグレースケールビットマップである。
【図3A】図3Aは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の輪郭である。
【図3B】図3Bは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の高解像度ビットマップである。
【図3C】図3Cは、従来の方法によるソフトエッジポリシーでのステム整列後(カウンタ均衡化なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。
【図4A】図4Aは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の輪郭である。
【図4B】図4Bは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の高解像度ビットマップである。
【図4C】図4Cは、従来の方法によるカウンタ均衡化後(水平ステムの垂直整列なし)の大文字の「I」の出力解像度でのグレースケールビットマップである。
【図5A】図5Aは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の輪郭である。
【図5B】図5Bは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の高解像度ビットマップである。
【図5C】図5Cは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「I」の出力解像度でのグレースケールビットマップである。
【図6】図6は、本開示の方法および装置のための好適なホストであるプログラム可能なコンピュータのブロック図である。
【図7】図7は、整列を調節するための拡張係数の使用を示すフローチャートである。
【特許請求の範囲】
【請求項1】
ステムを含む文字を受信するステップであって、該文字は、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む、方法。
【請求項2】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項1に記載の方法。
【請求項3】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項1に記載の方法。
【請求項4】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項3に記載の方法。
【請求項5】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項4に記載の方法。
【請求項6】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
5%から7%の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップを含む、請求項5に記載の方法。
【請求項7】
前記出力解像度は垂直出力解像度および水平出力解像度を含む、請求項5に記載の方法。
【請求項8】
コンピュータ読み取り可能媒体上にエンコードされ、
ステムを含む文字を受信するステップであって、該文字は、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む動作をデータ処理装置に実行させるように動作可能なコンピュータプログラム製品。
【請求項9】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項8に記載のコンピュータプログラム製品。
【請求項11】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項10に記載のコンピュータプログラム製品。
【請求項12】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項11に記載のコンピュータプログラム製品。
【請求項13】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
5%から7%の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化を調節するステップを含む、請求項12に記載のコンピュータプログラム製品。
【請求項14】
前記出力解像度は、
垂直出力解像度および水平出力解像度を含む、請求項12に記載のコンピュータプログラム製品。
【請求項15】
プロセッサと、
文書処理アプリケーションを含むコンピュータプログラム製品であって、
ステムを含む文字を受信するステップであって、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む動作を実行させるように前記プロセッサに動作可能なコンピュータプログラム製品をエンコードするコンピュータ読み取り可能媒体と
を備える、システム。
【請求項16】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項15に記載のシステム。
【請求項17】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項15に記載のシステム。
【請求項18】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項17に記載のシステム。
【請求項19】
前記動作は、
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項18に記載のシステム。
【請求項20】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
5%から7%の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップを含む、請求項19に記載のシステム。
【請求項21】
前記出力解像度は、垂直出力解像度および水平出力解像度を含む、請求項19に記載のシステム。
【請求項1】
ステムを含む文字を受信するステップであって、該文字は、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む、方法。
【請求項2】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項1に記載の方法。
【請求項3】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項1に記載の方法。
【請求項4】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項3に記載の方法。
【請求項5】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項4に記載の方法。
【請求項6】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
5%から7%の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップを含む、請求項5に記載の方法。
【請求項7】
前記出力解像度は垂直出力解像度および水平出力解像度を含む、請求項5に記載の方法。
【請求項8】
コンピュータ読み取り可能媒体上にエンコードされ、
ステムを含む文字を受信するステップであって、該文字は、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む動作をデータ処理装置に実行させるように動作可能なコンピュータプログラム製品。
【請求項9】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項8に記載のコンピュータプログラム製品。
【請求項11】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項10に記載のコンピュータプログラム製品。
【請求項12】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項11に記載のコンピュータプログラム製品。
【請求項13】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
5%から7%の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化を調節するステップを含む、請求項12に記載のコンピュータプログラム製品。
【請求項14】
前記出力解像度は、
垂直出力解像度および水平出力解像度を含む、請求項12に記載のコンピュータプログラム製品。
【請求項15】
プロセッサと、
文書処理アプリケーションを含むコンピュータプログラム製品であって、
ステムを含む文字を受信するステップであって、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む動作を実行させるように前記プロセッサに動作可能なコンピュータプログラム製品をエンコードするコンピュータ読み取り可能媒体と
を備える、システム。
【請求項16】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項15に記載のシステム。
【請求項17】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項15に記載のシステム。
【請求項18】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項17に記載のシステム。
【請求項19】
前記動作は、
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項18に記載のシステム。
【請求項20】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
5%から7%の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップを含む、請求項19に記載のシステム。
【請求項21】
前記出力解像度は、垂直出力解像度および水平出力解像度を含む、請求項19に記載のシステム。
【図1】
【図2A】
【図2B】
【図2C】
【図3A】
【図3B】
【図3C】
【図4A】
【図4B】
【図4C】
【図5A】
【図5B】
【図5C】
【図6】
【図7】
【図2A】
【図2B】
【図2C】
【図3A】
【図3B】
【図3C】
【図4A】
【図4B】
【図4C】
【図5A】
【図5B】
【図5C】
【図6】
【図7】
【公表番号】特表2009−526274(P2009−526274A)
【公表日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2008−554494(P2008−554494)
【出願日】平成19年2月7日(2007.2.7)
【国際出願番号】PCT/US2007/061807
【国際公開番号】WO2007/095442
【国際公開日】平成19年8月23日(2007.8.23)
【出願人】(595097771)アドビ システムズ, インコーポレイテッド (22)
【氏名又は名称原語表記】ADOBE SYSTEMS, INC.
【Fターム(参考)】
【公表日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願日】平成19年2月7日(2007.2.7)
【国際出願番号】PCT/US2007/061807
【国際公開番号】WO2007/095442
【国際公開日】平成19年8月23日(2007.8.23)
【出願人】(595097771)アドビ システムズ, インコーポレイテッド (22)
【氏名又は名称原語表記】ADOBE SYSTEMS, INC.
【Fターム(参考)】
[ Back to top ]