2016-12-05 2 views
3

Zum größten Teil rendert meine App verschiedene Zeichensätze ohne Probleme. Es gibt jedoch bestimmte chinesische Schriftzeichen, die fein machen, wenn FontSize 22 sind, aber schrecklich, wenn es kleiner ist:Chinesische Schrift rendert falsch bei FontSize kleiner als 22

Chinese strings

Dies wird durch das folgende Stück XAML gemacht wurde, die sowohl für WPF und UWP arbeitet, mit den gleichen problematischen Ergebnissen:

<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> 

Die zweite und vierte Zeile zeigt, wie die Zeichenfolge aussehen soll; die erste und dritte Show verstümmelte Versionen.

Die Antwort auf this somewhat related question schlägt vor, Einstellung FontFamily="SimSun", die tatsächlich bewirkt, dass die Dinge korrekt angezeigt werden. Meine Optionen, dann scheinen derzeit zu sein:

  • Ändern der Schriftfamilie aus dem Standard "Segoe UI" auf "SimSun"
  • Erhöhen Sie die Schriftgröße von 15 bis 22

Weder Option ist ansprechend. Hat jemand andere Vorschläge? Oder eine Erklärung dafür, warum diese besonderen Charaktere so beschwerlich sind?

Antwort

1

Es stellte sich heraus FontWeight="Light" funktioniert der Trick:

enter image description here

Medium, Normal und SemiLight alle scheitern. Light, SemiBold, Thin, Bold, ExtraBold, Black, ExtraBlack und ExtraLight lösen alle das Problem.

Wenn jemand, der über diesen Bereich Bescheid weiß, etwas beizutragen hat, bin ich immer noch interessiert, da ich keine Ahnung habe, was dieses Verhalten verursacht.

Verwandte Themen