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

Chinese font renders incorrectly at FontSize less than 22

在大多数情况下,我的应用程序可以毫无问题地呈现不同的字符集。然而,有些汉字在 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>

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

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

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

事实证明 FontWeight="Light" 成功了:

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

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