Share via


ClearType アンチエイリアシング

Microsoft ClearType アンチエイリアシングは、従来のアンチエイリアシングよりもフォント表示の解像度を向上させるスムージング方法です。 ラップトップや高品質のフラットデスクトップディスプレイなどのデジタルインターフェイスを使用して、カラーLCDモニターの読みやすさを劇的に向上させます。 CRT 画面での読みやすさも多少向上しています。

ただし、ClearType は LCD ストライプの向きと順序に依存します。 現在、ClearType は、RGB の順序付けされた垂直ストライプを持つ LCD に対してのみ実装されています。 特に、これはタブレット PC に影響を与えます。この PC では、ディスプレイを任意の方向に向けることができます。また、横向きから縦向きに変えることができる画面にも影響します。

ClearType アンチエイリアシングは許可されます。

  • 16 ビット、24 ビット、32 ビットの色の場合 (256 色以下では無効)
  • 画面 DC とメモリ DC の場合 (プリンター DC の場合は使用しません)
  • TrueType のアウトラインを含む TrueType フォントと OpenType フォントの場合

ClearType アンチエイリアシングが無効になっています。

  • ターミナル サーバー クライアントの下
  • ビットマップ フォント、ベクター フォント、デバイス フォント、タイプ 1 フォント、または TrueType アウトラインのない Postscript OpenType フォントの場合
  • フォントに埋め込みビットマップがチューニングされている場合は、埋め込みビットマップを含むフォント サイズに対してのみ

ClearType アンチエイリアシングをアクティブにするには、 SystemParametersInfo を 1 回呼び出してフォントのスムージングを有効にしてから、2 回目にスムージングの種類をFE_FONTSMOOTHINGCLEARTYPEに設定します。次のコード サンプルを参照してください。

SystemParametersInfo(SPI_SETFONTSMOOTHING,
                     TRUE,
                     0,
                     SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE,
                     0,
                     (PVOID)FE_FONTSMOOTHINGCLEARTYPE,
                     SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); 

ClearType アルゴリズムで使用されるコントラスト値を変更することで、テキストの外観を調整できます。 既定値は 1,400 ですが、1,000 ~ 2,200 の任意の値を指定できます。 ディスプレイ デバイスとユーザーの色に対する感度によっては、コントラスト値が高いか低いかによって、読みやすさが向上する場合があります。 コントラストを変更するには、SPI_SETFONTSMOOTHINGCONTRASTを使用 して SystemParametersInfo を呼び出します。 次のコードでは、コントラスト値を 1,600 に設定します。

SystemParametersInfo(SPI_SETFONTSMOOTHINGCONTRAST,
                     0,
                     (PVOID)1600,
                     SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); 

アプリケーションの互換性については、次の詳細を考慮する必要があります。

  • ClearType を使用したテキストレンダリングは、標準のアンチエイリアシングよりも若干遅くなります。
  • アプリケーションでは、選択したテキストを表示するために XOR を使用しないでください。 アプリケーションで背景色を設定し、選択したテキストを再表示する必要があります。
  • アプリケーションは、透明モードで同じテキストをそれ自体の上に塗りつぶすべきではありません。 この場合、アンチエイリアシングされたエッジ ピクセルは、背景色ではなく、それ自体で色がマージされます。 これにより、エッジが暗くなり、カラフルになります。
  • アプリケーションでは、文字の端が次の文字によってクリップされる可能性があるため、不透明モードの場合は、文字を個別に描画してテキストを描画しないでください。 これは、ClearType でスムージングされた文字の幅が負の A または C の場合があり、通常の文字の幅が正の A または C であるために発生します。 文字の B 幅のみが同じであることが保証されます。 同様に、滑らかにされたテキストが不要なテキストの横にある場合は、アプリケーションに注意する必要があります。
  • アプリケーションでテキストをレンダリングし、ビットマップを操作する場合は、LOGFONT 構造体の lfQuality メンバーを NONANTIALIASED_QUALITYに設定することで、フォント スムージングをオフにする必要があります。 たとえば、ゲームでビットマップシャドウ効果を追加したり、ビットマップにレンダリングされたテキストをスケーリングしてサムビューを生成したりできます。
  • ユーザーが縦モード (つまり、モニター ストライピングが水平) で実行されている場合は、ClearType アンチエイリアシングを無効にする必要があります。

CreateFontfdwQuality パラメーターと LOGFONTlfQuality メンバーは、CLEARTYPE_QUALITY フラグを受け入れます。 このフラグを使用して作成されたフォントのラスター化では、ClearType ラスタライザーが使用されます。 このフラグは、以前のバージョンのオペレーティング システムには影響しません。