Silverlight 快速易学易用之中文字型解决方案
这是一篇台湾msdn的文章:
Silverlight 1.0 正式版内建只支持 9 种英文字型,这对于欧美国家的 Silverlight 程序开发人员与使用者而言至少有 9 种英文字型可供挑选变化(图1),但令人玩味的是没有 "直接" 支持中文字型的显示,而这对于使用中文、日文与韩文等语系的使用者便会造成困扰,因为在 Silverlight1.0 中无法正确显示中文、日文与韩文等相关字型,例如中文字显示会是像乱码般的四方形框框(图 2)。其原因并不是 Silverlight 1.0 对于字符的处理没有采用 Unicode 编码设计,而导致中文以类似乱码般显示,事实上 Silverlight 1.0 本身设计是以 Unicode 方式来处理编码没错,但真正的问题出在于 Silverlight 的 Runtime Component 并没有包含中文字型文件(如.ttf),或者无法调用使用操作系统的中文字型,故 Silverlight 陷入了空有 Unicode 的编码设计,但却没有中文字型可供显示中文字的窘境。
里面还谈到几种特殊格式的字型文件,如:
运用在 Silverlight 的中文字型文件可分为三大类,分别是 True Type、True Type Collection 及 OpenType 这三类,而三大类实际储存成四种延伸档名,然而其对应用延伸档明说明如下表:
Silverlight 1.0 正式版内建只支持 9 种英文字型,这对于欧美国家的 Silverlight 程序开发人员与使用者而言至少有 9 种英文字型可供挑选变化(图1),但令人玩味的是没有 "直接" 支持中文字型的显示,而这对于使用中文、日文与韩文等语系的使用者便会造成困扰,因为在 Silverlight1.0 中无法正确显示中文、日文与韩文等相关字型,例如中文字显示会是像乱码般的四方形框框(图 2)。其原因并不是 Silverlight 1.0 对于字符的处理没有采用 Unicode 编码设计,而导致中文以类似乱码般显示,事实上 Silverlight 1.0 本身设计是以 Unicode 方式来处理编码没错,但真正的问题出在于 Silverlight 的 Runtime Component 并没有包含中文字型文件(如.ttf),或者无法调用使用操作系统的中文字型,故 Silverlight 陷入了空有 Unicode 的编码设计,但却没有中文字型可供显示中文字的窘境。
里面还谈到几种特殊格式的字型文件,如:
运用在 Silverlight 的中文字型文件可分为三大类,分别是 True Type、True Type Collection 及 OpenType 这三类,而三大类实际储存成四种延伸档名,然而其对应用延伸档明说明如下表:
字型延伸文件名 |
GlyphsTextBlockPath图片文件 |
.ttf |
完整的 True Type 或 OpenType 字型(TrueType font outlines)。 |
.ttc |
完整的 True Type 字型集合。 |
.ttc |
完整的 True Type 字型(PostScript font outlines)。 |
.odttf |
完整的 True Type 字型(PostScript font outlines)。 |
针对各种中文字型的解决方案进行了一个摘要性的比较表,让您可以知道不同解决方案之优缺点与特性,在不同时机可以做不同的选择考虑.
Glyphs |
TextBlock |
Path |
图片文件 |
|
文字或图型之类型 |
文字 |
文字 |
向量图形 |
位图形 |
可被检索查询 |
是 |
是 |
否 |
否 |
可被搜寻引擎爬文 |
是 |
是 |
否 |
否 |
需要字型文件配合 |
是 |
是 |
否 |
否 |
支持完整字型文件来源 |
是 |
是 |
||
支持部分字型文件来源 |
是 |
是 |
||
Client 端需要下载字型文件 |
是 |
是 |
否 |
否 |
需要Downloader辅助 |
否 |
是 |
否 |
否 |
支持ZIP压缩字型文件 |
否 |
是 |
各种中文字显示解决方案比较表
原文地址:http://www.microsoft.com/taiwan/msdn/columns/hsi_chiang_hua/Silverlight_cht_solutions.htm
欢迎大家扫描下面二维码成为我的客户,扶你上云