技术开发 频道

Silverlight 1.0 中文字显示解决方案


【IT168技术文档】


  在上面的架构图中,我们可以看到显示中文的途径有三大类,分别是文字物件、绘图物件与图片档三种,然而这三种方式有着截然不同特性与处理议题,会对您的 Silverlight 程式的设计与执行有着显着的影响,让我们先来瞭解其个别内容,最后再来针对此三种方案进行初步的比较,中文字解决方案架构图说明如下:

  (一)文字物件

  Silverlight 用来直接显示文字的物件有 Glyphs 与 TextBlock,然而此二者有者相当不同的特性,说明如下:

  Glyphs

  Glyphs 显示中文字时,会以非同步的方式从 Web 伺服器下载完整的字型档,但其中最大的困扰是 Glyphs 下载整个字型档会造成网路频宽的爆增,而过大的下载位元则是 Internet 应用程式的杀手之一,同时下载整个字型档也会涉及字型版权的法律问题。

  范例一 使用预设的 Glyphs 显示中文字(完整 TTF 字型档下载)

  本范例将示范如何运用预设的 Glyphs 物件来显示中文字,其最关键点在于指定字型档所在的网路位置给 FontUri 属性即可。请参考 GlyphsTTF.html 及 GlyphsTTF.xaml 程式,以下为 GlyphsTTF.xaml 程式码:

  GlyphsTTF.xaml
<Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <Canvas Name="myCanvas" Background="LightBlue" Width="600" Height="400" MouseLeftButtonDown="handleMouseUp"> <!--Glyphs1--> <Glyphs FontUri = "http://localhost/ChineseFont/fonts/CURLZ___.TTF" FontRenderingEmSize = "100" UnicodeString = "Silverlight" Fill = "Black" OriginX = "0" OriginY = "100"> </Glyphs> <!--Glyphs2--> <Glyphs FontUri = "http://localhost/ChineseFont/fonts/MSJH.TTF" FontRenderingEmSize = "100" UnicodeString = "正黑體" Fill = "Red" OriginX = "0" OriginY = "200" > </Glyphs> <!--Glyphs3--> <Glyphs FontUri = "http://localhost/ChineseFont/fonts/KAIU.TTF" FontRenderingEmSize = "100" UnicodeString = "楷書體" Fill = "Black" OriginX = "0" OriginY = "300"> </Glyphs> </Canvas> </Canvas>
0
相关文章