在调查一些仅在我的机器上失败的单元测试时,我注意到 TextBlock 在 Windows 7 和 Windows 8 机器上呈现的文本不同。为了检查这个问题,我创建了只包含一个 TextBlock 的示例应用程序:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock Text="yo" FontSize="100" FontFamily="Verdana" />
</Grid>
</Window>
您可以看到(或者至少我希望如此)Windows 7 上的文本长了 1 像素——实际上“y”和“o”之间的字距增加了 1 像素:
我用字体阅读器软件检查了两台机器上的 Verdana.ttf 字体文件,列出的“y”和“o”之间的字距相同:-18。
还检查了 .NET Framework 的版本,它们也相同:4.5.50709。
...我仍然想知道是什么导致了这种差异?