(57)【要約】ステムを有する文字の拡大縮小のための技術を実装し使用する方法および装置。ステムを含み、関連付けられた出力解像度および関連付けられたビット深度を有する文字を受信することができる。ステムにより規定されるカウンタは、１つ以上のカウンタのチェーンにグループ化することができる。出力解像度に基づきカウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき文字のステムを整列させることができる。整列されたステムに基づき、出力解像度および出力ビット深度でピクセルマップを作成することができる。
2009526274.tif 000002
【特許請求の範囲】
【請求項１】
ステムを含む文字を受信するステップであって、該文字は、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む、方法。
【請求項２】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項１に記載の方法。
【請求項３】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項１に記載の方法。
【請求項４】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項３に記載の方法。
【請求項５】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項４に記載の方法。
【請求項６】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
５％から７％の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップを含む、請求項５に記載の方法。
【請求項７】
前記出力解像度は垂直出力解像度および水平出力解像度を含む、請求項５に記載の方法。
【請求項８】
コンピュータ読み取り可能媒体上にエンコードされ、
ステムを含む文字を受信するステップであって、該文字は、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む動作をデータ処理装置に実行させるように動作可能なコンピュータプログラム製品。
【請求項９】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項８に記載のコンピュータプログラム製品。
【請求項１０】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項８に記載のコンピュータプログラム製品。
【請求項１１】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項１０に記載のコンピュータプログラム製品。
【請求項１２】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
５％から７％の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化を調節するステップを含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
前記出力解像度は、
垂直出力解像度および水平出力解像度を含む、請求項１２に記載のコンピュータプログラム製品。
【請求項１５】
プロセッサと、
文書処理アプリケーションを含むコンピュータプログラム製品であって、
ステムを含む文字を受信するステップであって、関連付けられた出力解像度および関連付けられた出力ビット深度を有する、ステップと、
前記文字の前記ステムにより規定されるカウンタをカウンタのチェーンにグループ化するステップと、
前記出力解像度に基づき前記カウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき前記文字の前記ステムを整列させるステップと、
前記整列されたステムに基づき、前記出力解像度および前記出力ビット深度で前記文字のピクセルマップを作成するステップと
を含む動作を実行させるように前記プロセッサに動作可能なコンピュータプログラム製品をエンコードするコンピュータ読み取り可能媒体と
を備える、システム。
【請求項１６】
前記ステム整列ポリシーは、
ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、最小バイアスポリシー、または方向エッジポリシーを含む、請求項１５に記載のシステム。
【請求項１７】
前記ステム整列ポリシーは、方向エッジポリシーを含む、請求項１５に記載のシステム。
【請求項１８】
方向エッジポリシーに基づき、前記文字の前記ステムを整列させるステップは、
前記文字の前記ステムを、前記ステムの配向と一致するバイアス方向の前記出力解像度に整列させるステップを含む、請求項１７に記載のシステム。
【請求項１９】
前記動作は、
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップをさらに含む、請求項１８に記載のシステム。
【請求項２０】
拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップは、
５％から７％の拡張係数に基づき、前記ステムの整列と前記カウンタのチェーンの均衡化とを調節するステップを含む、請求項１９に記載のシステム。
【請求項２１】
前記出力解像度は、垂直出力解像度および水平出力解像度を含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、マルチトーンデバイス上での表示のための複雑な文字のレンダリングに関する。マルチトーンデバイスは、２つを超える一連のトーンを表示することができるデバイスである。マルチトーンデバイスの例は、グレースケールデバイスおよびカラーデバイスである。
【背景技術】
【０００２】
複雑な文字は、垂直または水平の２つ以上の画数（一般にステムと呼ばれる）を含む図形による印または記号である。複雑な文字の例としては、中国語のハンジ（Ｃｈｉｎｅｓｅ  ｈａｎｚｉ）、日本語の漢字、韓国語のハンジャおよびハングル文字が挙げられる。複雑な文字の他の例としては、複数の画数（ｓｔｒｏｋｅ）を持つ西洋文字および非西洋文字が挙げられる。
【０００３】
出力デバイス上での表示のために複雑な文字をレンダリングする際、文字の余白を考慮するのが有益である。これらの余白（一般にカウンタと呼ばれる）は、文字のステム間の領域と定義される。これらのカウンタの幅を均衡化することにより、複雑な文字の表現を向上させることができる。
【０００４】
単色の非グレースケールレンダリングプロセスにおいて複雑な文字のカウンタを均衡化する従来の技術は、マルチトーンデバイス上での表示のためにレンダリングされた複雑な文字とは概して適合しない。ステム整列ポリシー（ｓｔｅｍ  ａｌｉｇｎｍｅｎｔ  ｐｏｌｉｃｙ）に従い文字のステムを整列させる従来の技術は、概して、文字のカウンタを均衡化する重要性を考慮していない。
【０００５】
単色の非グレースケールレンダリングプロセスにおいて複雑な文字のカウンタを均衡化する技術は、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄ（カリフォルニア州サンノゼ）に譲渡された特許文献１（’１０３特許）に記載されている。グレースケールデバイス上での表示のための文字のレンダリング技術は、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄ（カリフォルニア州サンノゼ）に譲渡された特許文献２（’０６３特許）で説明されている。’０６３特許は、ステム整列ポリシーに従い文字のステムを整列させる。
【特許文献１】米国特許第５，０５０，１０３号明細書
【特許文献２】米国特許第５，９４３，０６３号明細書
【発明の開示】
【課題を解決するための手段】
【０００６】
概して、一態様において、本発明は、マルチトーンデバイス上での出力のために文字をレンダリングするためのコンピュータプログラム製品を含む、方法および装置を提供する。ステムを含み、関連付けられた出力解像度および関連付けられたビット深度を有する文字を受信することができる。ステムにより規定されるカウンタは、１つ以上のカウンタのチェーンにグループ化することができる。出力解像度に基づきカウンタのチェーンを均衡化しながら、ステム整列ポリシーに基づき文字のステムを整列させることができる。整列されたステムに基づき、出力解像度および出力ビット深度でピクセルマップを作成することができる。他の態様によれば、ステムを有する文字の拡大縮小のためのシステムは、プロセッサと、該プロセッサに、説明される動作を実行させるように動作可能な、文書処理アプリケーションを含むコンピュータプログラム製品をエンコードするコンピュータ読み取り可能媒体とを含むことができる。
【０００７】
本発明の有利な実装例は、以下の特徴のうちの１つ以上を含む。ステム整列ポリシーは、ハードエッジポリシー（ｈａｒｄ−ｅｄｇｅ  ｐｏｌｉｃｙ）、ソフトエッジポリシー（ｓｏｆｔ−ｅｄｇｅ  ｐｏｌｉｃｙ）、ブラックエッジポリシー（ｂｌａｃｋ−ｅｄｇｅ  ｐｏｌｉｃｙ）、最小バイアスポリシー（ｍｉｎｉｍｕｍ−ｂｉａｓ  ｐｏｌｉｃｙ）、または方向エッジポリシー（ｄｉｒｅｃｔｉｏｎａｌ−ｅｄｇｅ  ｐｏｌｉｃｙ）となることができる。方向エッジポリシーは、文字のステムを、ステムの配向と一致するバイアス方向の出力解像度に整列させることができる。ステムの整列とカウンタのチェーンの均衡化は、拡張係数に基づくことができる。拡張係数は、５％と７％の間となることができる。出力解像度は、水平出力解像度および垂直出力解像度となることができる。
【０００８】
以下の利点のうちの１つ以上を実現するために、本発明の特定の実施形態を実装することができる。複雑な文字におけるステムの相対幅およびカウンタは、文字が出力デバイス上にレンダリングされる際に維持することができる。複雑な文字の読み取り可能性は、不鮮明さ（ｂｌｕｒｒｉｎｅｓｓ）を低減しながら向上させることができる。複雑な文字のカウンタおよびステムはより明確となることができ、これは文字の視覚的な特徴と認識度を向上させる。複雑な文字は、読み取り可能性を維持しながらダウンサンプリングして解像度を減少させることができる。
【０００９】
本発明の実施形態は、ステム整列およびカウンタ均衡化の連続的な適用により発生する不鮮明さや低い読み取り可能性を避けることができる。本発明の実施形態は、不鮮明や色あせがより少なく見え、また明確かつ認識しやすいカウンタを有する複雑な文字を形成することができる。これは、多くのステムおよびカウンタを有する中国語のハンジ、日本語の漢字、および韓国語のハンジャおよびハングル文字にとって特に有益となり得る。
【００１０】
本発明の１つ以上の実施形態の詳細を、付随する図面および以下の説明に記載する。説明、図面、および請求項から、本発明の他の特徴、態様、および利点が明らかとなるだろう。
【発明を実施するための最良の形態】
【００１１】
様々な図面における同様の参照番号および記号は、同様の要素を示す。
【００１２】
本開示は、マルチトーンデバイス上での出力のための文字の拡大縮小の方法に関する。説明の簡便性のために、以下の実施例は、グレースケールデバイス上での出力のために文字を拡大縮小する。説明される方法は、カラーデバイスにもまた適用可能である。実施例として、図１は、グレースケールデバイス上での出力のための、ステムを有する文字の拡大縮小の方法を示すフローチャートである。文字の拡大縮小を担うプロセスは、１１０で、ステム、出力解像度、および出力ビット深度を有する文字を受信することができる。そのようなプロセスの例は、文書処理アプリケーション、文字レンダリングルーチン、および汎用ラスタライザを含む。入力は、該プロセスに渡されるか、またはすでに該プロセスに含有されていてもよい。文字のステム間の余白、すなわちカウンタは、１２０でチェーンとしてグループ化することができる。カウンタおよびチェーンは、従来的に、垂直および水平の２つのグループに分割される。１３０において、出力解像度に基づきカウンタのチェーンを均衡化すると同時に、ステム整列ポリシーに従い文字のステムを整列させることができる。１４０において、整列されたステムに基づき、出力解像度およびビット深度で文字のピクセルマップを作成することができる。このピクセルマップは、さらなる処理または使用のために他のプロセスに渡すことができ、あるいは、出力デバイスにレンダリングすることができる。
【００１３】
ステム整列を行う際、使用できるステム整列ポリシーにはいくつかある。従来のポリシーには、ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、および最小バイアスポリシーが含まれる。
【００１４】
ハードエッジポリシーは、ステムの両端を粗格子境界に整列させる。このポリシーは、鮮明な線を生成するが、ステム幅が過度に量子化され、不均一になるか、太すぎるか、または細すぎる文字となる可能性がある。
【００１５】
ソフトエッジポリシーは、ステムの少なくとも１つの端を粗格子境界に整列させる。また、このポリシーでは、整列された端が文字の外側を向く必要がある。そのようにして、文字の上端および下端の両方が粗格子に整列され、いかなるグレーピクセルも文字の中心を向く。
【００１６】
ブラックエッジポリシーは、ステムの少なくとも１つの端を粗格子境界に整列させる。このポリシーは、少なくとも１つの粗格子に整列された端を維持しながら、ステム中心の動きを最小化する。
【００１７】
最小バイアスポリシーは、ブラックエッジポリシーの修正型であり、幅において１デバイスピクセルよりも大きいが２デバイスピクセルよりも小さいステムに適用される。最小バイアスポリシーにおいては、これらのステムは粗格子と整列されない。その結果、ブラックエッジポリシーにおいて発生するように、一方を黒、他方をより明るいグレーの影とするのではなく、両方のデバイスピクセルがグレーのままとなる。
【００１８】
以下の実施例は、図案化された大文字の「Ｉ」に適用された上述の方法を示す。図２Ａは、いくつかの水平ステムおよびカウンタを有する大文字の「Ｉ」２０１の輪郭である。図案化された大文字の「Ｉ」２０１は、８つの水平ステム２０３を有する。これらの水平ステム間の余白は７つの水平カウンタ２０５を規定する。従来の図案化されていない大文字の「Ｉ」の文字は、多くの場合、１つから３つの間のステムを有し、カウンタを有しない。大文字の「Ｉ」２０１は、以下に説明される技術を例示するために作成された複数のステムおよびカウンタを有する複雑な文字である。従来の方法に従う拡大縮小およびレンダリングのプロセス中の、大文字の「Ｉ」のステムおよびカウンタにおける歪みを低減することができる。この例は、中国語のハンジ、日本語の漢字、韓国語のハンジャおよびハングル文字等の他の複雑な文字にも適用可能である。水平ステム２０３および水平カウンタ２０５に関する本開示の教示は、垂直ステムおよび垂直カウンタにも等しく適用可能である。
【００１９】
大文字の「Ｉ」２０１は、２つの格子に重ね合わせられる。第１の格子２０７は実線により規定され、出力解像度に対応する（この格子は「粗格子」とも呼ばれる）。第２の格子２０９は点線により規定され、レンダリングに使用される高解像度に対応する（この格子は「細格子」とも呼ばれる）。この実施例では、細格子は粗格子よりも１６倍大きい解像度を有する。すなわち、各粗格子ピクセルに対し、１６個の細格子ピクセルが存在する。これらの格子の１つまたは両方が、図２Ｂ〜５Ｃにも示されている。
【００２０】
粗格子のピクセルに対する細格子のピクセルの比（格子比）は、水平方向と垂直方向で同一となることができる。アプリケーションまたはフォントに依存して、水平および垂直方向で独立した格子比を選択することも有利となる可能性がある。これらの実施例において、水平格子比は垂直格子比と等しいが、これらの教示は、水平格子比が垂直格子比と異なる状況にも適用することができる。独立した水平および垂直格子比は、読み取り可能性および全体的なサイズの一貫性を挙げることができる。
【００２１】
大文字の「Ｉ」２０１は、複雑な文字のフォントの輪郭を表している。文字をレンダリングする際、この輪郭はまず細格子に拡大縮小される。図２Ａに示されるように、水平ステム２０３は、約７高解像度ピクセルの均一な幅を有する。同様に、水平カウンタ２０５は、約３．５高解像度ピクセルの均一な幅を有する。
【００２２】
文字が細格子に拡大縮小された後、文字の輪郭に対応する細格子ピクセルをターンオンして文字の高解像度ビットマップを作成することができる。ステム整列またはカウンタ均衡化等の補正変換が行われない場合、文字の輪郭内に含有される全ての細格子ピクセルをターンオンすることにより、高解像度ビットマップを作成することができる。細格子ピクセルは単色であり、ターンオンまたはオフのみしか行うことができない。図２Ｂは、大文字の「Ｉ」の高解像度ビットマップである。図２Ｂは、図２Ａに示される大文字の「Ｉ」の高解像度ビットマップを示す。図２Ａにおける大文字の「Ｉ」２０１の輪郭内に含有される細格子ピクセルがターンオンされている。図２Ａにおける輪郭は、図２Ｂに示されるように細格子に量子化されている。水平ステム２１３は、水平ステム２０３と同じ細格子幅を有している。量子化プロセスの結果、水平カウンタ２１５は、水平カウンタ２０５と同じ細格子幅を持たない。水平ステム２１３は、７細格子ピクセルの均一な幅を有しているが、水平カウンタ２１５は、３または４細格子ピクセルのいずれかの幅を有している。
【００２３】
高解像度ビットマップが作成された後、出力デバイス上での表示のために文字のグレースケール粗ビットマップを作成することができる。粗格子ピクセルは、高解像度ビットマップにおいてターンオンされた対応する細格子ピクセルの数に基づきターンオンまたはオフすることができる。細格子ピクセルと異なり、粗格子ピクセルはグレースケールのピクセルであり、いくつかの異なるトーンにターンオンすることができる。各粗格子ピクセルのトーンは、ターンオンされている対応する細格子ピクセルの数により決定することができる。対応する高解像度ピクセルの数が増加するに従い、粗格子ピクセルのトーンはより暗くなる。対応する細格子ピクセルの全てがターンオンされた場合、粗格子ピクセルは黒くなる。同様に、対応する細格子ピクセルが全くターンオンされない場合、粗格子ピクセルは白くなる（ターンオフされる）。例えば、図２Ｃは、大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。図２Ｃは、図２Ｂに示される高解像度ビットマップから作成されたグレースケールビットマップを示す。図２Ｃに示されるパターンは、様々なレベルのグレースケールトーンを表している。より暗いパターンはより暗いトーンを表し、より明るいパターンはより明るいトーンを表す。粗格子ピクセルは、図２Ｂにおいてターンオンされている細格子ピクセルの対応する数に基づきターンオンされている。水平ステム２１３は、水平ステム２２３に変換され、水平カウンタ２１５は、水平カウンタ２２５に変換されている。水平ステム２１３とは異なり、水平ステム２２３は、粗格子にダウンサンプリングされているため均一な幅を持たない。同様に、水平カウンタ２２５は均一な幅を持たない。出力解像度では、水平ステム２２３は、幅において２ピクセルから３ピクセル変動し、水平カウンタ２２５は、幅において０ピクセルから１ピクセルまで変動する。この変動の結果、不鮮明な、または色あせて見えるグレースケールの文字となる可能性がある。変動は、水平ステム２２３および水平カウンタ２２５に示されている。ゼロ幅カウンタ、すなわち白色ピクセルを含有しないカウンタは、文字の読み取り可能性および外見を悪化させる可能性がある。この読み取り可能性および外見の悪化は、水平カウンタ２２５に示されている。
【００２４】
出力デバイス上での文字の外見を向上させる１つの従来の方法は、文字のステムを粗格子と整列させることである。例えば、図３Ａは、従来の方法によるソフトエッジポリシーでのステム整列後（カウンタ均衡化なし）の大文字の「Ｉ」の輪郭である。図３Ａは、従来の方法によるソフトエッジポリシーでのステム整列後の図２Ａからの大文字の「Ｉ」の輪郭を示す。カウンタは均衡化されていない。ステムは整列されてカウンタは均衡化されていないため、ステムは均一な幅を有しているがカウンタは有していない。水平ステム３０３は、水平ステム２０３の幅と同一の、均一な幅を有している。しかし、水平カウンタ２０５における均一性とは異なり、水平カウンタ３０５の幅には大きな変動がある。図３Ａから分かるように、細格子解像度での水平カウンタ３０５の幅は、１ピクセルから６ピクセルまで変動する。
【００２５】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、ステム整列等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図３Ｂは、従来の方法によるソフトエッジポリシーでのステム整列後（カウンタ均衡化なし）の大文字の「Ｉ」の高解像度ビットマップである。図３Ｂは、図３Ａに示される大文字の「Ｉ」の高解像度ビットマップを示す。水平ステム３１３および水平カウンタ３１５は、水平ステム３０３および水平カウンタ３０５に対応し、同じ幅を維持する。
【００２６】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図３Ｃは、従来の方法によるソフトエッジポリシーでのステム整列後（カウンタ均衡化なし）の大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。図３Ｃは、図３Ｂに示される高解像度ビットマップのグレースケールビットマップを示す。水平ステム３２３は垂直および水平に整列され、出力解像度で均一な幅を有するが、水平カウンタ３２５は出力解像度で均一な幅を有しない。実際、カウンタのうち４つは１粗格子ピクセルの幅を有するが、カウンタのうち３つは０粗格子ピクセルの幅を有する。ゼロ幅カウンタが形成されることにより、元の文字が歪められる結果となる。この歪みは、水平カウンタ３２５に見ることができる。
【００２７】
出力デバイス上での文字の外見を向上させる１つの従来の方法は、文字のカウンタのチェーンを均衡化することである。例えば、図４Ａは、従来の方法によるカウンタ均衡化後（水平ステムの垂直整列なし）の大文字の「Ｉ」の輪郭である。図４Ａは、従来の方法によるカウンタ均衡化後の図２Ａからの大文字の「Ｉ」の輪郭を示す。従来のカウンタ均衡化は細格子の増分に基づいており、粗格子は考慮していない。したがって、従来のカウンタ均衡化は、粗格子に関して均衡化されるのではなく、細格子に関して均衡化されたカウンタを形成する。カウンタ均衡化は、ステム整列と同様、垂直および／または水平に行うことができる。実施例においては、水平ステム４０３は均一な幅を有するが、垂直には粗格子に整列されない。水平ステム４０３は、７細格子ピクセルの均一な幅を有しており、水平カウンタ４０５は、４細格子ピクセルの均一な幅を有している。
【００２８】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、カウンタ均衡化等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図４Ｂは、従来の方法によるカウンタ均衡化後（水平ステムの垂直整列なし）の大文字の「Ｉ」の高解像度ビットマップである。図４Ｂは、図４Ａに示される大文字の「Ｉ」の高解像度ビットマップを示す。水平ステム４１３および水平カウンタ４１５は、水平ステム４０３および水平カウンタ４０５に対応し、同じ幅を維持する。
【００２９】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図４Ｃは、従来の方法によるカウンタ均衡化後（水平ステムの垂直整列なし）の大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。図４Ｃは、図４Ｂに示される大文字の「Ｉ」のグレースケールビットマップを示す。細格子解像度でのカウンタ均衡化は、ステムまたはカウンタを粗格子ピクセルに整列させない。したがって、出力デバイスへ送られるグレースケールビットマップは、均一の幅を持ったカウンタおよびステムを有しない。例えば、出力解像度では、水平ステム４２３も水平カウンタ４２５も均一の幅を持たない。水平ステム４２３の幅は、２粗格子ピクセルから３粗格子ピクセルまで変動する。このステム幅の変動の結果不鮮明な読みにくい文字となる可能性がある。この不鮮明さは、水平ステム４２３に見ることができる。水平カウンタ４２５の幅は、１粗格子ピクセルから０粗格子ピクセルまで変動する。この歪みおよびゼロ幅カウンタの形成の結果、不鮮明に見え、読み取り可能性が悪化した文字となる。歪みおよび悪化した読み取り可能性は、水平カウンタ４２５に見ることができる。
【００３０】
本開示に示されるように、ステム整列およびカウンタ均衡化を同時に行うことが有益となり得る。このプロセスは、文字の外見および読み取り可能性を向上させることができる。いかなるステム整列でも使用可能であるが、ある複雑な文字に対しては方向エッジが好ましい場合がある。例えば、図５Ａは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「Ｉ」の輪郭である。図５Ａは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の図２Ａからの大文字の「Ｉ」の輪郭を示す。ステム整列およびカウンタ均衡化が同時に行われると、水平ステムおよび水平カウンタの相対幅が維持される。カウンタはまた、粗格子に整合され、これにより外見が向上し読み取り可能性が高められる。図５Ａの大文字の「Ｉ」は、均一の幅を有する。水平ステム５０３は、７細格子ピクセルの均一な幅を有しており、水平カウンタ５０５は、５細格子ピクセルの均一な幅を有している。この均一な外見および粗格子へのカウンタの整列により、以下に例証されるようにグレースケールに変換された後、文字の見た目と読み取り可能性が向上する。
【００３１】
上述のように、文字の輪郭を使用して文字の高解像度ビットマップを得ることができる。文字の輪郭は、同時のステム整列およびカウンタ均衡化等の補正プロセスにより変更してから使用して、修正された文字の高解像度ビットマップを得ることもできる。例えば、図５Ｂは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「Ｉ」の高解像度ビットマップである。図５Ｂは、図５Ａに示される大文字の「Ｉ」の高解像度ビットマップを示す。水平ステム５１３および水平カウンタ５１５は、水平ステム５０３および水平カウンタ５０５に対応し、同じ幅を維持する。
【００３２】
上述のように、文字の高解像度ビットマップを使用して、出力解像度での文字のグレースケールビットマップを得ることができる。例えば、図５Ｃは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。図５Ｃは、図５Ｂに示される大文字の「Ｉ」のグレースケールビットマップを示す。この方法に従うことにより、大文字の「Ｉ」のグレースケールレンダリングは不鮮明になったり、色あせたりしない。さらに、方向エッジポリシーにより、水平ステム５２３の垂直配向は一貫し、これにより、元の文字の視覚的な満足度がより高いレンダリングが形成される。この例では、水平ステム５２３は、下部に整列されており、その結果各水平ステム５２３の下部の黒色粗格子ピクセルの行となっている。出力解像度であっても、水平ステム５２３および水平カウンタ５２５の両方が均一の幅を維持する。水平ステム５２３は、２デバイスピクセルの均一な幅を有しており、水平カウンタ５２５は、１デバイスピクセルの均一な幅を有している。図２Ａの水平ステム２０３間および水平カウンタ２０５間の均一性は、水平ステム５２３および水平カウンタ５２５においても維持される。
【００３３】
ステム整列を行う際、多くの可能なステム整列ポリシーを使用できる。ハードエッジポリシー、ソフトエッジポリシー、ブラックエッジポリシー、または最小バイアスポリシー等の従来のステム整列ポリシーを採用することができる。改善された結果のためには、新たに開発された方向エッジポリシーも使用することができる。方向エッジポリシーは、ステム整列およびカウンタ均衡化の組合せのために形成されたポリシーである。これは、ステムおよびカウンタに垂直な一貫した方向バイアスを有する点以外は、ソフトエッジポリシーと類似している。水平ステムに対しては、バイアス方向は上または下となることができる。垂直ステムに対しては、バイアス方向は右または左となることができる。方向エッジポリシーは、複雑な文字に対しては、従来のステム整列ポリシーにより達成されるものより均一で均衡化された結果を形成することができる。例えば、図５Ｃは方向エッジポリシーの結果を示す。水平ステム５２３のそれぞれは、下部では黒色ピクセルの行、上部ではグレーピクセルの行からなる。この配向は、図３Ｃとは対照的となり得る。図３Ｃでは、水平ステム５２５はソフトエッジポリシーで整列されており、これによりステムの半分は下部で黒色の行、上部でグレーの行を有し、ステムの半分は上部で黒色の行、下部でグレーの行となっている。ソフトエッジポリシーは、図形の中心に人為的な対称線を形成し、その結果ピクセルの上の行および下の行が黒色となる。このポリシーは、対称であり、ピクセルマップの境界の比較的全体を覆う文字に対しては有効であるが、多くの複雑な文字はこれらの対称軸を欠いており、ピクセルマップの境界を比較的部分的にしか覆っていない。したがって、方向エッジポリシーによって、複雑な文字に対してはより均一な外見が得られ、文字の読み取り可能性が向上する結果となる可能性がある。
【００３４】
ステム整列とカウンタ均衡化を同時に行うと、多くの場合、ステムとカウンタの相対幅を維持するために、文字は拡張または収縮される。自由な拡張および収縮は、２つの理由から望ましくない。第１に、文字の元の目標サイズが処理中に失われてしまう可能性がある。第２に、各文字が拡張または収縮する量は、多くの場合、その前後の文字が拡張または収縮する量とは異なる。この差は、不均一な外見へとつながる。
【００３５】
レンダリングされている複雑な文字の拡張および収縮を制限するために、本発明のいくつかの実施形態は、文字の全体的な拡張または収縮を制限する拡張係数を採用することができる。拡張係数は、フォントなどの文字の集合に適用して、集合の要素全体の均一な外見を形成することができる。
【００３６】
拡張係数は、文字が拡張する、または縮むことができる量を制限することによりステムの整列およびカウンタの均衡化を改変する。例えば、図７は、整列を調節するための拡張係数の使用を示すフローチャートである。図７は、ステムの整列およびカウンタの均衡化を調節するための拡張係数の使用を示す。ステム、カウンタのチェーン、出力解像度、および拡張係数は、７１０で受信することができる。７２０で、ステムは方向エッジポリシー等の整列ポリシーに従い整列され、同時にカウンタのチェーンは出力解像度に基づき均衡化される。７３０で、拡張係数に基づきカウンタの均衡化を妥協することにより整列が調節される。新しい文字サイズが拡張係数により確定された閾値を超える場合、すなわち文字が大きすぎるまたは小さすぎる場合、整列はまずカウンタ均衡化において歪みを許容することにより調節される。この調節が文字サイズを拡張係数により確定された閾値内に収めるのに不十分である場合は、７４０で、拡張係数に基づきステム整列を妥協することにより引き続き調節される。
【００３７】
拡張係数は、文字サイズの全ての変更を防ぐ０％から、文字の無制限のサイズ調節を許容する１００％までの範囲となることができる。理想的な拡張係数は、通常、フォントに依存して変化するが、ほとんどのフォントに対して、５％と７％の間の拡張係数が最適となり得る。中国語のハンジ、日本語の漢字、および韓国語のハンジャおよびハングルフォントを含むほとんどのフォントに対して、６％の拡張係数が理想的となり得る。この拡張係数は、整列されたステムおよび均衡化されたカウンタの目標と、フォント中の文字間の全体的なサイズの一貫性の目標と間の妥協点である。拡張係数に対する変更は、これらの目標の１つを優先し他の目標を犠牲にすることになる。アプリケーションおよびフォントに依存して、全体的なサイズの一貫性を向上させるために拡張係数を減少させることが望ましい場合がある。
【００３８】
拡張係数は、水平方向および垂直方向に対して独立して選択することもできる。アプリケーションおよびフォントに依存して、それぞれの方向に対し別個の拡張係数が望ましいこともあり得る。これらの実施例において、水平拡張係数は垂直拡張係数と等しいが、これらの教示は、水平拡張係数が垂直拡張係数と異なる状況にも適用することができる。独立した水平および垂直拡張係数は、読み取り可能性および全体的なサイズの一貫性を挙げることができる。
【００３９】
示されるように、図２Ａにおける大文字の「Ｉ」２０１は、ステム整列とカウンタ均衡化を同時に行う際に拡張され、したがって図５Ａにおける大文字の「Ｉ」は高さが極めて大きい。同時のステム整列およびカウンタ均衡化の効果をより良く示すために、本実施例における拡張係数は、文字の自由な拡張および収縮を許容する１００％に選択された。より小さい値とすると、可能な拡張または収縮が制限され、文字のサイズが元の輪郭とより類似したものとなる。
【００４０】
さらに、拡張係数に制限を加えてステム整列とカウンタ均衡化を同時に行う際、文字を収縮させるよりも文字を拡張させるのが好ましい場合がある。文字を拡張させるのではなく収縮させると、読みにくくなる。また、文字が０デバイスピクセルの寸法となるまで収縮する可能性も存在する。
【００４１】
本明細書で説明される本発明の実施形態および機能的動作の全ては、本明細書で開示される構造およびその構造的等価物、またはそれらの組合せを含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにも実装することができる。本発明の実施形態は、１つ以上のコンピュータプログラム製品、すなわち、データ処理装置により実行される、またはその動作を制御するための、コンピュータ読み取り可能媒体上にエンコードされたコンピュータプログラム命令の１つ以上のモジュールとして実装することができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶デバイス、記憶媒体、もしくはメモリデバイス、もしくはそれらの複数等の機械読み取り可能デバイスであっても、具体的な機械読み取り可能伝播信号であってもよい。「データ処理装置」という用語は、例えば、プログラム可能なプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての装置、デバイス、および機械を包含する。装置は、ハードウェアに加え、該当コンピュータプログラムの実行環境を形成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの組合せを構成するコードを含むことができる。伝播信号は、人為的に生成された信号、例えば、適した受信器装置への伝送のための情報のエンコードのために機械によって生成された電気的、光学的、または電磁気的信号等である。
【００４２】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる）は、コンパイラ型言語またはインタープリタ型言語を含む、プログラミング言語のいかなる形式でも記述することができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピュータ環境での使用に適した他のユニットとして等、いかなる形態でも配備することができる。コンピュータプログラムは、必ずしもファイルシステム中のファイルに対応するとは限らない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部（例えば、マークアップ言語文書中に格納された１つ以上のスクリプト等）、該当プログラム専用の単一のファイル、または複数の関連付けられたファイル（例えば、１つ以上のモジュール、サブプログラム、もそくはコードの一部を格納するファイル）に格納することができる。コンピュータプログラムは、１つのコンピュータ、または１つの場所に位置する、もしくは複数の場所にわたり分布し、通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように配備されることが可能である。
【００４３】
本明細書で説明されるプロセスおよび論理フローは、入力データに対し動作し出力を生成することにより機能を実行するための１つ以上のコンピュータプログラムを実行する１つ以上のプログラム可能なプロセッサにより実行することができる。プロセスおよび論理フローは、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）等の特殊用途の論理回路により実行することができ、またそれらとして実装することもできる。
【００４４】
コンピュータプログラムの実行に適したプロセッサには、例えば、汎用および特殊用途双方のマイクロプロセッサや、あらゆる種類のデジタルコンピュータの１つ以上のあらゆるプロセッサが含まれる。一般に、プロセッサは、読取専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサと、命令およびデータを格納するための１つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、光磁気ディスク、もしくは光ディスク等、データを格納するための１つ以上の大容量記憶デバイスを含むか、あるいは、該デバイスからデータを受信するかもしくは該デバイスへデータを伝送するかまたはその両方のために動作可能に結合されている。しかし、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、２、３例を挙げると、携帯電話、携帯情報端末（ＰＤＡ）、携帯オーディオプレーヤ、全地球測位システム（ＧＰＳ）受信器等、他のデバイスに内蔵されることが可能である。コンピュータプログラム命令およびデータを格納するのに適した情報担体には、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス等の半導体メモリデバイス、内蔵ハードディスクまたはリムーバブルディスク等の磁気ディスク、光磁気ディスク、ならびに、ＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含む、全ての形態の不揮発性メモリが含まれる。プロセッサおよびメモリは、特殊用途論理回路が追加されていても、または該回路に組み込まれていてもよい。
【００４５】
ユーザとのインタラクションを提供するために、本発明の実施形態は、ユーザに情報を表示するための、ＣＲＴ（陰極線管）モニタ、ＬＣＤ（液晶ディスプレイ）モニタ、ＯＬＥＤ（有機発光ダイオード）モニタ、またはプリンタ等の表示デバイスと、ユーザがコンピュータに入力できるようにする、マウスまたはトラックボール等のキーボードおよびポインティングデバイスとを有するコンピュータに実装することができる。同様に、ユーザとのインタラクションを提供するために他の種類のデバイスも使用可能である。例えば、ユーザに提供されるフィードバックは、いかなる形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響、音声、または触覚的入力を含むいかなる形態で受信されてもよい。
【００４６】
本発明の実施形態は、例えばデータサーバとしてのバックエンドコンポーネント、または、アプリケーションサーバ等のミドルウェアコンポーネント、または、ユーザが本発明の実装とやり取りすることができるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ等のフロントエンドコンポーネント、または、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含むコンピュータシステムに実装することができる。システムのコンポーネントは、例えば通信ネットワーク等、デジタルデータ通信のいかなる形態または媒体によっても相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク（「ＬＡＮ」）およびワイドエリアネットワーク（「ＷＡＮ」）、例えばインターネット等が含まれる。
【００４７】
コンピュータシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを介してやり取りする。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント−サーバ関係を有するコンピュータプログラムにより生じる。
【００４８】
コンピュータシステムは、本明細書で説明される動作を実行する文書処理アプリケーションを含むことができる。文書処理アプリケーションの例には、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄ（カリフォルニア州サンノゼ）製Ａｄｏｂｅ（登録商標）Ａｃｒｏｂａｔ（登録商標）およびＡｄｏｂｅ（登録商標）Ｒｅａｄｅｒ（登録商標）が含まれる。電子文書は必ずしもファイルに対応するとは限らない。文書は、他の文書を保持するファイルの一部、該当文書専用の単一ファイル、または複数の関連付けられたファイルに格納されてもよい。
【００４９】
１つのそのような種類のコンピュータの例を図６に示すが、これは、本発明の装置または方法の実装または実行に適した、プログラム可能な処理システム（システム）６１０のブロック図を示している。システム６１０は、プロセッサ６２０、ランダムアクセスメモリ（ＲＡＭ）６２１、プログラムメモリ６２２（例えば、フラッシュＲＯＭ等の書込可能な読取専用メモリ（ＲＯＭ））、ハードドライブコントローラ６２３、および、プロセッサ（ＣＰＵ）バス６２５により結合された入力／出力（Ｉ／Ｏ）コントローラ６２４を含む。システム６１０は、例えばＲＯＭで再プログラムすることができ、または、他のソースから（例えば、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、または他のコンピュータから）プログラムを読み込むことによりプログラム（および再プログラム）することができる
ハードドライブコントローラ６２３は、本開示を具現化したプログラムを含む実行可能なコンピュータプログラム、ならびに文字およびフォントプログラムを含むデータの格納に適したハードディスク６３０と結合される。
【００５０】
Ｉ／Ｏコントローラ６２４は、Ｉ／Ｏバス６２６を用いてＩ／Ｏインタフェース６２７に結合される。Ｉ／Ｏインタフェース６２７は、シリアルリンク、ローカルエリアネットワーク、無線リンク、およびパラレルリンク等の通信リンクを介して、アナログまたはデジタル形式のデータ（例えば、インポートして合成するための静止画、写真、動画、およびアニメーション等）を受信および伝送する。
【００５１】
ディスプレイ６２８およびキーボード６２９もＩ／Ｏバス６２６に結合される。あるいは、Ｉ／Ｏインタフェース６２７、ディスプレイ６２８、およびキーボード６２９に対し、別個の接続（別個のバス）を使用することができる。
【００５２】
本発明の特定の実施形態を説明してきた。他の実装例も、以下の特許請求の範囲内である。例えば、請求項で列挙された行為は異なる順番で行うことができ、それでもなお所望の結果を達成することができる。
【図面の簡単な説明】
【００５３】
【図１】図１は、ステムを有する文字の拡大縮小の方法を示すフローチャートである。
【図２Ａ】図２Ａは、いくつかの水平ステムおよびカウンタを有する大文字の「Ｉ」の輪郭である。
【図２Ｂ】図２Ｂは、大文字の「Ｉ」の高解像度ビットマップである。
【図２Ｃ】図２Ｃは、大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。
【図３Ａ】図３Ａは、従来の方法によるソフトエッジポリシーでのステム整列後（カウンタ均衡化なし）の大文字の「Ｉ」の輪郭である。
【図３Ｂ】図３Ｂは、従来の方法によるソフトエッジポリシーでのステム整列後（カウンタ均衡化なし）の大文字の「Ｉ」の高解像度ビットマップである。
【図３Ｃ】図３Ｃは、従来の方法によるソフトエッジポリシーでのステム整列後（カウンタ均衡化なし）の大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。
【図４Ａ】図４Ａは、従来の方法によるカウンタ均衡化後（水平ステムの垂直整列なし）の大文字の「Ｉ」の輪郭である。
【図４Ｂ】図４Ｂは、従来の方法によるカウンタ均衡化後（水平ステムの垂直整列なし）の大文字の「Ｉ」の高解像度ビットマップである。
【図４Ｃ】図４Ｃは、従来の方法によるカウンタ均衡化後（水平ステムの垂直整列なし）の大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。
【図５Ａ】図５Ａは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「Ｉ」の輪郭である。
【図５Ｂ】図５Ｂは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「Ｉ」の高解像度ビットマップである。
【図５Ｃ】図５Ｃは、方向エッジポリシーでのステム整列およびカウンタ均衡化を同時に行った後の大文字の「Ｉ」の出力解像度でのグレースケールビットマップである。
【図６】図６は、本開示の方法および装置のための好適なホストであるプログラム可能なコンピュータのブロック図である。
【図７】図７は、整列を調節するための拡張係数の使用を示すフローチャートである。
【図１】
2009526274.tif 000003
【図２Ａ】
2009526274.tif 000004
【図２Ｂ】
2009526274.tif 000005
【図２Ｃ】
2009526274.tif 000006
【図３Ａ】
2009526274.tif 000007
【図３Ｂ】
2009526274.tif 000008
【図３Ｃ】
2009526274.tif 000009
【図４Ａ】
2009526274.tif 000010
【図４Ｂ】
2009526274.tif 000011
【図４Ｃ】
2009526274.tif 000012
【図５Ａ】
2009526274.tif 000013
【図５Ｂ】
2009526274.tif 000014
【図５Ｃ】
2009526274.tif 000015
【図６】
2009526274.tif 000016
【図７】
2009526274.tif 000017
【国際調査報告】
2009526274.tif 000018
2009526274.tif 000019
2009526274.tif 000020