wpf在同一句话中为不同的语言设置不同的字体
wpf setting different font for different language in the same sentence
我正在实现一个允许用户更改标签中句子字体的应用程序。该句子包含中文和英文字符。
我现在所做的是用户可以 select 一种字体,并且该字体将适用于中文和英文字符。
现在用户认为对于汉字,应该使用另一种字体。也就是说在同一个句子中,英文字符使用字体A,汉字使用字体B。并且字体A和B应该让用户选择。这个功能就像Microsoft word中的字体设置一样,如下面的link。 http://blogs.igalia.com/jaragunde/files/2014/04/Word-font-selector.png
请注意,一旦用户选择了中文字体,句子中的所有汉字将自动更改为该字体。而句子中的汉字依赖于一些输入文件
我知道 wpf 中有一种叫做复合字体的东西。但我不知道如何实施。谢谢!
这可能不是一个非常优雅的解决方案。但是你可以设置一个TextBlock作为Labels的内容,并且对英文和中文字符使用不同的Runs。
像这样:
<Window.Resources>
<Style TargetType="Run" x:Key="EnglishCharacters">
<Setter Property="FontFamily" Value="Comic Sans MS" />
</Style>
<Style TargetType="Run" x:Key="ChineseCharacters">
<Setter Property="FontFamily" Value="Batang" />
</Style>
</Window.Resources>
<Label>
<TextBlock>
<Run Style="{StaticResource EnglishCharacters}">This is English</Run>
<Run Style="{StaticResource ChineseCharacters}">你们好</Run>
</TextBlock>
</Label>
我正在实现一个允许用户更改标签中句子字体的应用程序。该句子包含中文和英文字符。 我现在所做的是用户可以 select 一种字体,并且该字体将适用于中文和英文字符。
现在用户认为对于汉字,应该使用另一种字体。也就是说在同一个句子中,英文字符使用字体A,汉字使用字体B。并且字体A和B应该让用户选择。这个功能就像Microsoft word中的字体设置一样,如下面的link。 http://blogs.igalia.com/jaragunde/files/2014/04/Word-font-selector.png
请注意,一旦用户选择了中文字体,句子中的所有汉字将自动更改为该字体。而句子中的汉字依赖于一些输入文件
我知道 wpf 中有一种叫做复合字体的东西。但我不知道如何实施。谢谢!
这可能不是一个非常优雅的解决方案。但是你可以设置一个TextBlock作为Labels的内容,并且对英文和中文字符使用不同的Runs。
像这样:
<Window.Resources>
<Style TargetType="Run" x:Key="EnglishCharacters">
<Setter Property="FontFamily" Value="Comic Sans MS" />
</Style>
<Style TargetType="Run" x:Key="ChineseCharacters">
<Setter Property="FontFamily" Value="Batang" />
</Style>
</Window.Resources>
<Label>
<TextBlock>
<Run Style="{StaticResource EnglishCharacters}">This is English</Run>
<Run Style="{StaticResource ChineseCharacters}">你们好</Run>
</TextBlock>
</Label>