none
silverlight中使用自定义字体的困惑。 RRS feed

  • 问题

  • 我想实现这样一个效果,用户在silverlight客户端可以选择用什么字体来显示用户输入的文字,我看了silverlight中FontFamily 类和FontSource 类都是将字体下载都客户端。但是中文字体都是很大的,所以我想能不能实现服务器只下载用户输入文字的那部分字体。而不是传输整个字体文件。我被这个问题困扰了好几天了,不知道.net中能不能实现。希望高手指点迷津。不胜感激
    2011年1月11日 2:29

答案

  • 不可以。

    因为现在的字体都是单文件格式的,一个字体大概从 2M 到 20M 不等,Silverlight 必须要将字体文件安装到 %windir%\Fonts 目录下才可以被客户端 Windows 使用,目前据我所知的 Silverlight 版本均是采用这种方式显示字体的 (先下载,安装,再显示)。

    不排除 Silverlight 5 会更改这一特性的可能性,据我所知的一项 Silverlight 5 功能就是平滑字体显示,不知道这个会不会直接利用 DirectDraw 直接画出来。


    Mark Zhou
    2011年1月11日 9:41

全部回复

  • 不可以。

    因为现在的字体都是单文件格式的,一个字体大概从 2M 到 20M 不等,Silverlight 必须要将字体文件安装到 %windir%\Fonts 目录下才可以被客户端 Windows 使用,目前据我所知的 Silverlight 版本均是采用这种方式显示字体的 (先下载,安装,再显示)。

    不排除 Silverlight 5 会更改这一特性的可能性,据我所知的一项 Silverlight 5 功能就是平滑字体显示,不知道这个会不会直接利用 DirectDraw 直接画出来。


    Mark Zhou
    2011年1月11日 9:41
  • 那可不可以通过服务器生成TextBlock对象再返回客户端。客服端再显示出来。很疑惑,望指点
    2011年1月12日 9:33
  • 可以,不过这样做没有效果。除非您从服务器生成 BMP 或者 PNG 然后传回,不过这样非常的不值得。本身从 XAML 到图像就不是一个简单的任务。
    Mark Zhou
    2011年1月13日 9:24