WPF TextFormattingOptions.Display 改变字母间距
WPF TextFormattingOptions.Display changes the letter spacing
基于 this answer 关于 WPF 中文本模糊的问题,我尝试使用 TextOptions.TextFormattingMode = TextFormattingMode.Display
,但似乎 它也改变了字母之间的间距:
TextFormattingMode.Display
导致 z
和 e
字符被混合到另一个:
虽然这 "blending" 使用 TextFormattingMode.Ideal
不会发生:
当放大文本时,差异变得更加明显(TextFormattingMode.Display
在左边):
该行为仅在使用 Segoe UI Semilight
且仅在 12pt 字体大小时出现。
为什么会这样?这是特定字体、WPF 渲染引擎的问题还是这实际上是想要的行为?
编辑:如果您想自己检查,这里有一些现成的示例代码:
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="Segoe UI Semilight" />
<Setter Property="FontSize" Value="12" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
Text="size"
TextOptions.TextFormattingMode="Display" />
<TextBlock Grid.Row="1"
Text="size"
TextOptions.TextFormattingMode="Ideal" />
</Grid>
这是实际想要的行为。你可以尝试用 "HELLO WORLD" 字符串做同样的事情,你就会知道真正的区别。使用这些模式的常见场景是:
- 大文本 (15pt+) - Ideal/Display 根据用户的喜好。
- 转换后的文本 - 理想
- 缩放文本 - 理想
- 设计方案 - 理想
- 小文本 - 显示
基于 this answer 关于 WPF 中文本模糊的问题,我尝试使用 TextOptions.TextFormattingMode = TextFormattingMode.Display
,但似乎 它也改变了字母之间的间距:
TextFormattingMode.Display
导致 z
和 e
字符被混合到另一个:
虽然这 "blending" 使用 TextFormattingMode.Ideal
不会发生:
当放大文本时,差异变得更加明显(TextFormattingMode.Display
在左边):
该行为仅在使用 Segoe UI Semilight
且仅在 12pt 字体大小时出现。
为什么会这样?这是特定字体、WPF 渲染引擎的问题还是这实际上是想要的行为?
编辑:如果您想自己检查,这里有一些现成的示例代码:
<Grid>
<Grid.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="Segoe UI Semilight" />
<Setter Property="FontSize" Value="12" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
Text="size"
TextOptions.TextFormattingMode="Display" />
<TextBlock Grid.Row="1"
Text="size"
TextOptions.TextFormattingMode="Ideal" />
</Grid>
这是实际想要的行为。你可以尝试用 "HELLO WORLD" 字符串做同样的事情,你就会知道真正的区别。使用这些模式的常见场景是:
- 大文本 (15pt+) - Ideal/Display 根据用户的喜好。
- 转换后的文本 - 理想
- 缩放文本 - 理想
- 设计方案 - 理想
- 小文本 - 显示