♥字符在字形中显示不正确

时间:2012-03-05 08:33:35

标签: c# silverlight windows-phone-7

我正在使用Glyphs类在Windows Phone 7应用中显示文本。文本中有一个♥字符,未显示。显示缺少字符的常用unicode空矩形。 在TextBlock中正确显示相同的字符串,如果我调试并查看Glyphs对象的UnicodeString属性,则♥符号将在监视窗口中正确显示。

可能是什么问题?我找不到有关该主题的任何信息。

更新:我使用的是Segoe WP字体(SegoeWP.ttf)。我试图将此符号粘贴到Word文档中,如果我尝试将其字体设置为Segoe WP,它会自动更改回Arial(许多其他字体也会发生这种情况,如Tahoma,Verdana等)。但是,如果我将其字体设置为Segoe UI或Segoe Symbol,则会切换到该字体,并且心脏符号的外观也会稍微改变。

是否有可能,Segoe WP字体中缺少此符号,但它包含在Segoe UI和Segoe Symbol中?如果是这样,为什么它在TextBlock中正常工作?它不是在Windows Phone上使用Segoe WP吗?

2 个答案:

答案 0 :(得分:2)

Glyphs类在its documentation中声明:

  

不支持字体回退,并且指定的字体文件必须支持所有字符。

文档表明,建议在布局和替换问题未得到特别处理的情况下使用TextBlock。

答案 1 :(得分:0)

我将字形文件从Segoe WP替换为Segoe UI,它解决了这个问题。这对我来说很惊讶,因为我认为Windows Phone默认使用Segoe WP。它似乎没有,或者至少没有安装到Visual Studio 2010的C:\ Windows \ Fonts中的版本(或者当它找到缺少的符号时它会回到Segoe UI或Symbol)。

(有没有办法直接从WP7设备获取ttf字体文件?)