![見出し画像](https://assets.st-note.com/production/uploads/images/72581543/rectangle_large_type_2_6438bec8a9713f8425eb5093033d0d5f.png?width=1200)
Windowsのテキストアンチエイリアシング技術について
この記事では、Windowsで使用されているアンチエイリアシング技術について解説します。
Windowsのアンチエイリアシング
ジャギー(ギザギザ感)を無くし、縁を滑らかに表示する方法を、アンチエイリアシング、アンチエイリアス、スムージングなどと呼びます。
Windowsには、ClearTypeとグレースケールレンダリングの合計2種類のテキストアンチエイリアシング技術が搭載されています。
余談ですが、アンチエイリアシングとアンチエイリアスは厳密に言えば意味が異なります。
エイリアス、エイリアシング:ジャギーが発生すること
アンチエイリアス:ジャギーを無くし縁を滑らかにすること
アンチエイリアシング:縁を滑らかにする処理、アンチエイリアス処理
この記事では、アンチエイリアシングとアンチエイリアスを同等として扱います。
ClearTypeとは?
ClearTypeは、Windows XP以降のWindows OSに搭載されている、テキストアンチエイリアシング技術です。
従来のアンチエイリアシングは、単純にエイリアシングを中間色で表現していました。
しかし、ClearTypeでは、RGBをサブピクセル単位で分割し、RGBの各色を別々に制御をする、サブピクセルレンダリングを使用しています。
ただ、サブピクセルレンダリングを使用している関係で、描画品質が背景色に左右される欠点があります。
また、液晶パネルの他に、CRTディスプレイでもClearTypeが使用できます。
ClearTypeの調整方法
ClearType テキストチューナー
![スクリーンショット 2022-02-19 125640 (2)](https://assets.st-note.com/production/uploads/images/72554129/picture_pc_722b7d9da9787ff08aef3edb015c7ffc.png?width=1200)
詳細な設定は出来ませんが、直感的に設定できます。
レジストリエディター
レジストリで直接設定する方法です。
直感的に設定できませんが、詳細な設定が可能です。
各設定値は、下記に保存されています。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>
ClearTypeの設定値
ClearTypeLevel
![](https://assets.st-note.com/img/1645249595889-DNWY4TkWMI.png?width=1200)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>\ClearTypeLevel
ClearTypeレベル
0~100の整数値
デフォルト値は100
0はグレースケールになります。
EnhancedContrastLevel
![](https://assets.st-note.com/img/1645324819715-bklA3MkL4p.png?width=1200)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>\EnhancedContrastLevel
コントラストの強調レベル
0~400の整数値
デフォルト値は50
GammaLevel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>\GammaLevel
ガンマレベル
1000〜2200の整数値?
デフォルト値は1900?3600?
このGammaLevel、情報がまったくありませんでした。このGammaLevelについて知っている方、教えてください!
GrayscaleEnhancedContrastLevel
![](https://assets.st-note.com/img/1645325242728-BaGze1fz2E.png?width=1200)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>\GrayscaleEnhancedContrastLevel
グレイスケールアンチエイリアシングに使用するコントラストの強調レベル
0~400の整数値
デフォルト値は100
UWPアプリなどに用いられるグレースケールレンダリングではここの値が関係するようです。
PixelStructure
![スクリーンショット 2022-02-19 125708 (2)](https://assets.st-note.com/production/uploads/images/72554371/picture_pc_1305e6293803765dcd627f1af0d83a6c.png?width=1200)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>\PixelStructure
サブピクセルの配置
0:ClearType無効
1:RGB配列
2:BGR配列
使用しているモニターの配列に合わせて指定します。
TextContrastLevel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>\TextContrastLevel
Y方向のレンダリング調整
0~6の整数値
デフォルト値は1
値が大きくなるほどステム幅が広くなります。
Windows 10 Creators Updateで追加されました。
(おまけ)従来のアンチエイリアスの設定値
ClearTypeでないテキストレンダリングは、グレースケールレンダリングを使用しています。
この設定は全ユーザーに適用され、ディスプレイ毎に設定することが出来ないようです。
各設定値は下記に保存されています。
HKEY_CURRENT_USER\Control Panel\Desktop
FontSmoothing
フォントスムージングの設定
0:無効
1:単一色の中間階調で補完するアンチエイリアス
2:サブピクセルレンダリング
パフォーマンスオプションの「スクリーンフォントの縁を滑らかにする」でも設定できます。
FontSmoothingGamma
![](https://assets.st-note.com/img/1645325798254-QtTwVkj0tK.png?width=1200)
ガンマレベル
1000~2200の整数値
デフォルトは1200
値を小さくするほど濃くなり、大きくするほど薄くなります。
FontSmoothingOrientation
サブピクセルの配列
0:BGR配列
1:RGB配列
使用しているモニターの配列に合わせて指定します。
ClearTypeでのPixelStructureと似た設定となります。
FontSmoothingType
フォントスムージングの種類
0:指定なし
1:標準フォントスムージング
2:ClearTypeフォントスムージング
参考資料
おわりに
Windows向けの有名なアンチエイリアスソフトにMacTypeがありますが、プロファイルがあるので簡単に設定できて良いですよね。
最後まで読んでいただき、本当にありがとうございました。
是非、アンチエイリアスライフを楽しんで下さい!