次の方法で共有


ClearType レジストリ設定

このトピックでは、WPF アプリケーションで使用される Microsoft ClearType レジストリ設定の概要について説明します。

テクノロジの概要

ディスプレイ デバイスにテキストをレンダリングする WPF アプリケーションでは、ClearType 機能を使用して、強化された読み取りエクスペリエンスを提供します。 ClearType は、ノート PC 画面、ポケット PC 画面、フラット パネル モニターなど、既存の LCD (液晶ディスプレイ) 上のテキストの読みやすさを向上させる、Microsoft によって開発されたソフトウェア テクノロジです。 ClearType は、LCD 画面のすべてのピクセル内の個々の垂直カラー ストライプ要素にアクセスすることによって機能します。 ClearType の詳細については、「ClearType の概要 を参照してください。

ClearType でレンダリングされるテキストは、さまざまなディスプレイ デバイスで表示すると大きく異なって表示されることがあります。 たとえば、少数のモニターでは、一般的な赤、緑、青 (RGB) の順序ではなく、青、緑、赤の順序でカラー ストライプ要素が実装されます。

ClearType でレンダリングされるテキストは、色感度のレベルが異なる個人が表示すると、大幅に異なって表示される場合もあります。 一部の個人は、他の人よりも色のわずかな違いを検出できます。

これらの各ケースでは、各ユーザーに最適な読み取りエクスペリエンスを提供するために、ClearType 機能を変更する必要があります。

レジストリ設定

WPF では、ClearType 機能を制御するための 4 つのレジストリ設定を指定します。

設定 説明
ClearType レベル ClearType の色の明瞭さのレベルについて説明します。
ガンマレベル ディスプレイ デバイスのピクセル カラー コンポーネントのレベルについて説明します。
ピクセル構造 ディスプレイ デバイスのピクセルの配置について説明します。
テキストのコントラスト レベル 表示されるテキストのコントラストのレベルについて説明します。

これらの設定には、識別された WPF ClearType レジストリ設定を参照する方法を認識する外部構成ユーティリティからアクセスできます。 これらの設定は、Windows レジストリ エディターを使用して値に直接アクセスして作成または変更することもできます。

WPF ClearType レジストリ設定が設定されていない場合 (既定の状態)、WPF アプリケーションは Windows システム パラメーター情報に対してフォント スムージング設定のクエリを実行します。

表示デバイス名の列挙については、win32 関数 SystemParametersInfoを参照してください。

ClearType レベル

ClearType レベルを使用すると、個々の色の感度と知覚に基づいてテキストのレンダリングを調整できます。 一部の個人の場合、ClearType を最高レベルで使用するテキストのレンダリングでは、最適な読み取りエクスペリエンスが得られません。

ClearType レベルは、0 から 100 の範囲の整数値です。 既定のレベルは 100 です。つまり、ClearType はディスプレイ デバイスのカラー ストライプ要素の最大機能を使用します。 ただし、ClearType レベルが 0 の場合、テキストはグレースケールとしてレンダリングされます。 ClearType レベルを 0 から 100 の間で設定することで、個人の色感度に適した中間レベルを作成できます。

レジストリ設定

ClearType レベルのレジストリ設定の場所は、特定の表示デバイス名に対応する個々のユーザー設定です。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>

ユーザーの表示デバイス名ごとに、ClearTypeLevel DWORD 値が定義されます。 次のスクリーンショットは、ClearType レベルのレジストリ エディター設定を示しています。

レジストリ エディターで ClearType 設定を します。

WPF アプリケーションは、ClearType の有無にかかわらず、2 つのモードのいずれかでテキストをレンダリングします。 ClearType を使用せずにテキストをレンダリングする場合は、グレースケール レンダリングと呼ばれます。

ガンマ レベル

ガンマ レベルは、ピクセル値と輝度の非線形関係を指します。 ガンマレベルの設定は、ディスプレイデバイスの物理的特性に対応する必要があります。そうしないと、レンダリングされた出力に歪みが発生する可能性があります。 たとえば、テキストが広すぎたり狭すぎたり、グリフの垂直な茎の端に色の縞が表示されたりすることがあります。

ガンマ レベルは、1000 ~ 2200 の範囲の整数値です。 既定のレベルは 1900 です。

レジストリ設定

ガンマ レベルのレジストリ設定の場所は、特定のディスプレイ デバイス名に対応するローカル コンピューターの設定です。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>

ユーザーの表示デバイス名ごとに、GammaLevel DWORD 値が定義されます。 次のスクリーンショットは、ガンマ レベルのレジストリ エディターの設定を示しています。

レジストリ エディターで ClearType ガンマ レベルの設定を する

ピクセル構造

ピクセル構造は、ディスプレイ デバイスを構成するピクセルの種類を表します。 ピクセル構造は、次の 3 種類のいずれかとして定義されます。

タイプ 価値 説明
平ら 0 ディスプレイ デバイスにはピクセル構造がありません。 つまり、各色の光源はピクセル領域に均等に広がり、グレースケール レンダリングと呼ばれます。 これは、標準のディスプレイ デバイスの動作方法です。 ClearType は、レンダリングされたテキストには適用されません。
RGB 1 ディスプレイ デバイスには、赤、緑、青の 3 つのストライプで構成されるピクセルがあります。 ClearType は、レンダリングされたテキストに適用されます。
BGR 2 ディスプレイ デバイスには、青、緑、赤の 3 つのストライプで構成されるピクセルがあります。 ClearType は、レンダリングされたテキストに適用されます。 順序が RGB 型から反転する方法に注目してください。

ピクセル構造は、0 から 2 の範囲の整数値に対応します。 既定のレベルは 0 で、フラット ピクセル構造を表します。

表示デバイス名の列挙については、win32 関数 EnumDisplayDevicesを参照してください。

レジストリ設定

ピクセル構造のレジストリ設定の場所は、特定の表示デバイス名に対応するローカル コンピューターの設定です。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>

ユーザーの表示デバイス名ごとに、PixelStructure DWORD 値が定義されます。 次のスクリーンショットは、ピクセル構造のレジストリ エディターの設定を示しています。

レジストリ エディターで ClearType ガンマ レベルの設定を する

テキストコントラストレベル

テキストのコントラスト レベルを使用すると、グリフのステム幅に基づいてテキストのレンダリングを調整できます。 テキスト コントラスト レベルは、0 から 6 の範囲の整数値です。整数値が大きいほど、茎が広くなります。 既定のレベルは 1 です。

レジストリ設定

テキスト コントラスト レベルのレジストリ設定の場所は、特定の表示デバイス名に対応する個々のユーザー設定です。

HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics\<displayName>

ユーザーの表示デバイス名ごとに、TextContrastLevel DWORD 値が定義されます。 次のスクリーンショットは、テキスト コントラスト レベルのレジストリ エディターの設定を示しています。

レジストリ エディターで ClearType 設定を します。

こちらも参照ください