我试图在没有任何特定属性的XAML TextBlock
中显示各种Unicode字符:
<TextBlock Text="{Binding MyString}" Foreground="Black" />
这适用于Windows 8.1系统上的所有脚本,但表情符号字符除外:
由于 Segoe UI符号字体中提供了这些符号,我只需将其添加到FontFamily
:
<TextBlock Text="{Binding MyString}" Foreground="Black"
FontFamily="Segoe UI Symbol" />
然而,现在一些西里尔符号被打破了:
所以我尝试启用多种字体,包括composite fonts listed on MSDN:
<TextBlock Text="{Binding MyString}" Foreground="Black"
FontFamily="Lucida Sans Unicode, Lucida Grande, Segoe UI Symbol,
Open Sans, Arial, Microsoft Sans Serif, Tahoma,
Courier New, Times New Roman, Global User Interface,
Portable User Interface" />
但我得到了完全相同的结果:
我该如何解决这个问题?是不是全局用户界面应该给我一个适合所有角色的回退?当我指定不TextBlock
时,FontFamily
可以使用什么?
答案 0 :(得分:1)
我终于设法解决了这个问题。看来:
Segoe UI
需要 至Segoe UI Symbol
。Segoe UI Symbol
会搞乱一些字符,不会使用跟随它的字体;因此,它应该移到最后。以下字符串有效,现在我的所有字形都会呈现:
<TextBlock Text="{Binding MyString}" Foreground="Black"
FontFamily="Segoe UI, Lucida Sans Unicode, Lucida Grande,
Open Sans, Arial, Microsoft Sans Serif, Tahoma,
Courier New, Times New Roman, Global User Interface,
Portable User Interface, Segoe UI Symbol" />