加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用XAML字体系列会破坏一些Unicode字形

发布时间:2020-12-15 22:12:05 所属栏目:百科 来源:网络整理
导读:我试图在没有任何特定属性的XAML TextBlock中显示各种Unicode字符: TextBlock Text="{Binding MyString}" Foreground="Black" / 这适用于我的Windows 8.1系统上的所有脚本,除了表情符号字符: 由于这些符号在Segoe UI Symbol字体中可用,我只需将其添加到Fon
我试图在没有任何特定属性的XAML TextBlock中显示各种Unicode字符:

<TextBlock Text="{Binding MyString}" Foreground="Black" />

这适用于我的Windows 8.1系统上的所有脚本,除了表情符号字符:

由于这些符号在Segoe UI Symbol字体中可用,我只需将其添加到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" />

但我得到了完全相同的结果:

我怎样才能解决这个问题?是不是全局用户界面应该给我一个适当的所有角色的后备?当我指定没有FontFamily时,我的TextBlock可以使用什么?

解决方法

我终于设法解决了这个问题.看起来:

>除了Segoe UI Symbol之外,还需要Segoe UI.
> Segoe UI符号会搞乱一些字符,不会使用跟随它的字体;因此应将其移至最后.

以下字符串有效,现在我的所有字形都会呈现:

<TextBlock Text="{Binding MyString}" Foreground="Black"
           FontFamily="Segoe UI,Lucida Sans Unicode,Portable User Interface,Segoe UI Symbol" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读