本主题概述了 WPF 应用程序使用的 Microsoft ClearType 注册表设置。
技术概述
向显示设备呈现文本的 WPF 应用程序使用 ClearType 功能来提供增强的阅读体验。 ClearType 是由 Microsoft 开发的一种软件技术,可提高现有 LCD(液晶显示器)上的文本可读性,例如笔记本电脑屏幕、口袋电脑屏幕和面板监视器。 ClearType 的工作原理是访问 LCD 屏幕的每个像素中的单个垂直色条带元素。 有关 ClearType 的详细信息,请参阅 ClearType 概述。
当在各种显示设备上查看时,使用 ClearType 呈现的文本可能会明显不同。 例如,少量监视器采用蓝色、绿色、红色顺序而不是更常见的红色、绿色、蓝色(RGB)顺序实现色条元素。
当具有不同颜色敏感度级别的个人查看时,使用 ClearType 呈现的文本也可能明显不同。 某些人可以比其他人更好地检测颜色差异。
在这些情况下,需要修改 ClearType 功能,以便为每个个人提供最佳的阅读体验。
注册表设置
WPF 指定四个用于控制 ClearType 功能的注册表设置:
设置 | DESCRIPTION |
---|---|
ClearType 级别 | 描述 ClearType 颜色清晰度级别。 |
伽马级别 | 描述显示设备的像素颜色组件的级别。 |
像素结构 | 描述显示设备的像素排列方式。 |
文本对比度级别 | 描述所显示文本的对比度级别。 |
外部配置实用工具可以访问这些设置,该实用工具知道如何引用标识的 WPF ClearType 注册表设置。 还可以通过使用 Windows 注册表编辑器直接访问值来创建或修改这些设置。
如果未设置 WPF ClearType 注册表设置(即默认状态),WPF 应用程序将查询 Windows 系统参数信息,以获取字体平滑设置。
注释
有关枚举显示设备名称的信息,请参阅 SystemParametersInfo
Win32 功能。
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 级别的注册表编辑器设置。
在注册表编辑器中设置
注释
WPF 应用程序在两种模式之一(使用和不使用 ClearType)中呈现文本。 在没有 ClearType 的情况下呈现文本时,它称为灰度呈现。
伽马级别
伽玛级别是指像素值与亮度之间的非线性关系。 伽玛级别设置应对应于显示设备的物理特征;否则,可能会出现呈现输出中的失真。 例如,文本可能显得太宽或太窄,或者字形的垂直干线的边缘上可能会出现彩色条纹。
伽玛级别是一个介于 1000 到 2200 的整数值。 默认级别为 1900。
注册表设置
gamma 级别的注册表设置位置是对应于特定显示设备名称的本地计算机设置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>
对于用户的每个显示设备名称,定义了 GammaLevel
DWORD 值。 以下屏幕截图显示了 gamma 级别的注册表编辑器设置。
像素结构
像素结构描述构成显示设备的像素类型。 像素结构定义为以下三种类型之一:
类型 | 价值 | DESCRIPTION |
---|---|---|
平坦 | 0 | 显示设备没有像素结构。 这意味着每个颜色的光源在像素区域上均匀分布,这称为灰度渲染。 这是标准显示设备的工作原理。 ClearType 永远不会应用于呈现的文本。 |
RGB | 1 | 显示设备的像素依次由三条条纹组成:红色、绿色和蓝色。 ClearType 应用于呈现的文本。 |
BGR | 2 | 显示设备的像素由三条色带组成,顺序为蓝色、绿色和红色。 ClearType 应用于呈现的文本。 注意该顺序与 RGB 类型相反。 |
像素结构对应于介于 0 到 2 的整数值。 默认级别为 0,表示平面像素结构。
注释
有关枚举显示设备名称的信息,请参阅 EnumDisplayDevices
Win32 功能。
注册表设置
像素结构的注册表设置位置是对应于特定显示设备名称的本地计算机设置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics\<displayName>
对于用户的每个显示设备名称,定义了 PixelStructure
DWORD 值。 以下屏幕截图显示了注册表编辑器中有关像素结构的设置。
文本对比度级别
文字对比度级别允许您根据字形的词干宽度来调整文字的显示效果。 文本对比度级别是一个介于 0 到 6 之间(整数值越大、词干越宽)的整数值。 默认级别为 1。
注册表设置
文本对比度级别的注册表设置位置是对应于特定显示设备名称的单个用户设置:
HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics\<displayName>
对于用户的每个显示设备名称,定义了 TextContrastLevel
DWORD 值。 以下屏幕截图显示了注册表编辑器中关于文本对比度级别的设置。
在注册表编辑器中设置