在调查一些单元测试,只有我的机器上失败了,我注意到,在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中的文字是1px的长 - 实际上的“y”和字距“O”是1px的厚:
我检查与字体阅读器软件两台机器Verdana.ttf字体文件,之间的字距“y”和“o”的上市有一个相同的:-18。
还检查.NET Framework的版本,这也是相同的:4.5.50709。
......而我仍然不知道是什么原因造成这种差异?