我正在实现一个允许用户更改标签中句子字体的应用程序。该句子包含中文和英文字符。 我现在所做的是用户可以选择一种字体,该字体将适用于中文和英文字符。
现在用户认为对于中文字符,应该使用另一种字体。这意味着在同一个句子中,英文字符使用字体A,中文字符使用字体B.字体A& B应该让用户选择。此功能就像Microsoft Word中的字体设置一样,就像下面的链接一样。 http://blogs.igalia.com/jaragunde/files/2014/04/Word-font-selector.png
请注意,一旦用户选择中文字体,句子中的所有中文字符都将自动更改为该字体。句子中的汉字取决于一些输入文件。
我知道wpf中有一些叫做复合字体的东西。但我不知道如何实现它。谢谢!
答案 0 :(得分:1)
它可能不是一个非常优雅的解决方案。但您可以将TextBlock设置为标签内容,并对英文和中文字符使用不同的运行。
这样的事情:
<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>