Silverlight技术之设置中文字体

Silverlight悄无声息的慢慢占据这研发的主力,作为下一带互联网的主力MS目前推出了Silverlight4.0正式版,但经使用,发现他在中文的支持上仍不是很完善。

下文将介绍如何在Silverlight宋体显示中文字符。

默认的我们在界面上显示一个TextBlock,代码如下:

<Grid x:Name="LayoutRoot">
<TextBlock FontSize="22" FontWeight="Bold" Text="默认字体:欢迎您光临博客园"></TextBlock>
</Grid>

此时Silverlight用默认的字体来展现中文字体,当我们在把字体放大做标题时,会明显感觉到字体和平时看的中文字体的差距。此时就需要中文字体的支持。

默认的在C:\Windows\Fonts存在这系统支持的字体库,复制其中的宋体文件名为:SIMSUN.TTC,将其复制到项目中,建立如下存储目录 Font/SIMSUN.TTC

接下来我们再添加一个指定为宋体显示的例子:

<Grid x:Name="LayoutRoot">
 <TextBlock FontFamily="Font/SIMSUN.TTC#SIMSUN" FontSize="22" Text="宋体:欢迎您光临博客园"></TextBlock>
<TextBlock Margin="35" FontSize="22" Text="默认字体:欢迎您光临博客园"></TextBlock>
</Grid>

在FontFamily中设定字体的路径,注意要带上#SIMSUN同时保证目录位置正确可用,为什么是这个名字呢,当我们双击打开SIMSUN.TTC后,你就会看到字体的名字名称为SIMSUN

如需要设置其他字体,方法同上。

为什么Silverlight会出现这种问题呢,可能是Silverlight客户端解析工具默认带的没有宋体字体库,所以使用Silverlight自带的解析库无法实现宋体的显示,他被转义为默认字体显示,效果就不太理想。因此在指定自定义字体时,需要单独进行引用,设置时指定字体的路径即可。

如上示例展示效果如下:

以上简单应用,希望对大家有帮助。

posted @ 2011-05-29 09:08  Wendy 's  阅读(5103)  评论(6编辑  收藏  举报