gpt4 book ai didi

wpf - 中文字体在 FontSize 小于 22 时呈现不正确

转载 作者:行者123 更新时间:2023-12-04 20:44:28 27 4
gpt4 key购买 nike

在大多数情况下,我的应用程序可以毫无问题地呈现不同的字符集。然而,当 FontSize 为 22 时,某些汉字可以很好地呈现,但当它较小时就很糟糕:

Chinese strings

这是由以下 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>

第二行和第四行显示字符串的外观;第一和第三显示乱码版本。

this somewhat related question 的答案建议设置 FontFamily="SimSun",这确实会导致正确显示内容。那么,目前我的选择似乎是:

  • 将字体系列从默认的“Segoe UI”更改为“SimSun”
  • 将字体大小从 15 增加到 22

这两种选择都不吸引人。有人有其他建议吗?或者解释为什么这些特定字符如此麻烦?

最佳答案

事实证明 FontWeight="Light" 可以解决问题:

enter image description here

MediumNormalSemiLight 都失败了。 LightSemiBoldThinBoldExtraBoldBlackExtraBlackExtraLight 都解决了这个问题。

如果任何了解该领域的人有贡献,我仍然很感兴趣,因为我不知道是什么导致了这种行为。

关于wpf - 中文字体在 FontSize 小于 22 时呈现不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40977356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com