Pour l'essentiel, mon application génère différents jeux de caractères sans problème. Il y a, cependant, certains caractères chinois qui rendent bien quand FontSize
est 22, mais horriblement quand il est plus petit:La police chinoise ne s'affiche pas correctement à FontSize moins de 22
Cela a été rendu par la pièce suivante de XAML, qui fonctionne à la fois WPF et UWP, avec les mêmes résultats problématiques:
<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>
Les deuxième et quatrième lignes montrent comment la chaîne est supposée regarder; le premier et le troisième montrent des versions brouillées.
La réponse à this somewhat related question suggère de définir FontFamily="SimSun"
, ce qui entraîne effectivement l'affichage correct des éléments. Mes options, puis, semblent actuellement:
- Modifier la famille de polices de la valeur par défaut "Segoe UI" à "SimSun"
- Augmenter la taille de la police de 15 à 22
Aucune de ces options est attrayant. Est-ce que quelqu'un a d'autres suggestions? Ou une explication pour pourquoi ces caractères particuliers sont si gênants?