Wpf FontSize小于22时,中文字体渲染不正确
在大多数情况下,我的应用程序渲染不同的角色集没有问题。然而,当Wpf FontSize小于22时,中文字体渲染不正确,wpf,xaml,fonts,uwp,cjk,Wpf,Xaml,Fonts,Uwp,Cjk,在大多数情况下,我的应用程序渲染不同的角色集没有问题。然而,当FontSize为22时,某些汉字的渲染效果很好,但当它变小时,效果却很糟糕: 这是由下面一段XAML呈现的,它同时适用于WPF和UWP,结果也有同样的问题: <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid.RowDefinitions> <RowDefinition He
FontSize
为22时,某些汉字的渲染效果很好,但当它变小时,效果却很糟糕:
这是由下面一段XAML呈现的,它同时适用于WPF和UWP,结果也有同样的问题:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBox x:Name="textBox" Grid.Row="0" FontSize="21" Text="〾⿰⿱⿲⿳⿴⿵⿶⿷⿸⿹⿺⿻" />
<TextBox Grid.Row="1" FontSize="22" Text="{Binding Text, ElementName=textBox}" />
<TextBlock Grid.Row="2" FontSize="21" Text="{Binding Text, ElementName=textBox}" />
<TextBlock Grid.Row="3" FontSize="22" Text="{Binding Text, ElementName=textBox}" />
</Grid>
第二行和第四行显示了字符串的外观;第一个和第三个显示的是乱码版本
对的回答建议设置fontfamine=“SimSun”
,这确实会导致正确显示内容。那么,我目前的选择似乎是:
- 将字体系列从默认的“Segoe UI”更改为“SimSun”
- 将字体大小从15增加到22
这两种选择都没有吸引力。有人有其他建议吗?或者解释为什么这些特殊字符如此麻烦?结果是
fontwweight=“Light”
起到了以下作用:
中等
,正常
和半光灯
均失败<代码>浅、半黑体
、薄
、粗体
、超黑体
、超黑
和超轻
都解决了问题
如果任何了解这一领域的人有什么贡献,我仍然感兴趣,因为我不知道是什么导致了这种行为