扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:奚江华 来源:msdn中国 2007年11月20日
关键字:
图 5 Glyphs 下载之完整型档
范例二 使用 Glyphs 显示部分嵌入字型档 ODTTF(部分嵌入字型档下载)
本范例将示范 Glyphs 如何使用部分嵌入字型档 ODTTF 来显示中文字型,步骤说明如下:
Step 1:製作部分嵌入字型档 ODTTF
首先製作名称为“3F1838BE-604B-601D-DA75-B576DE686443.odttf”的只含部分嵌入字型的档案,主要是希望缩小字型档的体积大小,让 Glyphs 可以迅速下载读取,在这请各位直接使用 ODTTF 当做练习,先不急着知道怎么製作。
Step 2:在 Glyphs 指定使用 ODTTF 字型档
请在 Glyphs 物件的 FontUri 属性指定 ODTTF 字型档所在的完整
GlyphsTTF.xaml
以下是引用片段: <Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Canvas > <Glyphs Fill="Blue" UnicodeString="春花秋月何時了," FontUri="http://localhost/ChineseFont/Fonts/3F1838BE-604B-601D- DA75-B576DE686443.odttf" FontRenderingEmSize="30" Canvas.Top="0"/> <Glyphs Fill="Blue" UnicodeString="往事知多少," FontUri="http://localhost/ChineseFont/Fonts/3F1838BE-604B-601D- DA75-B576DE686443.odttf" FontRenderingEmSize="30" Canvas.Top="40"/> <Glyphs Fill="Red" UnicodeString="小樓昨夜又東風," FontUri="http://localhost/ChineseFont/Fonts/649C70ED-5A7E-7277- 6038-1A0DBB6BDF08.odttf" FontRenderingEmSize="30" Canvas.Top="80"/> <Glyphs Fill="Red" UnicodeString="故國不堪回首月明中" FontUri="http://localhost/ChineseFont/Fonts/649C70ED-5A7E-7277- 6038-1A0DBB6BDF08.odttf" FontRenderingEmSize="30" Canvas.Top="120"/> </Canvas> </Canvas> |
完成后请执行 GlyphsODTTF.html 程式,执行结果如下图。
图 6 Glyphs 显示部分字型档
TextBlock
Silverlight 1.0 的 TextBlock 物件,基本上只能直接显示
使用 Downloader 物件下载中文字型。
在 TextBlock 的 setFontSource 方法设定字型档来源,以及字型档名称。
如此便可让 TextBlock 可以正常显示中文字,让我们来看以下的范例。
范例三 以 Downloader 下载完整 TTF 字型供 TextBlock 使用
本范例将示范如何透过 Downloader 物件从 Web 伺服器下载所需的完整 TTF 字型到使用者
Step 1:准备 TTF 中文字型
在此准备一个标楷体的中
Step 2:建立 XAML 程式主体
请参考 TextBlockDownloaderTTF.xaml 的程式主体,以下为 XAML 程式码:
TextBlockDownloaderTTF.xaml
以下是引用片段: <Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Loaded="handleLoad"> <!-- 進度列指示器 --> <Canvas x:Name="ProgressIndicator" Canvas.Left="10" Canvas.Top="10" Canvas.ZIndex="1"> <Rectangle x:Name="progressRectangle" Canvas.Left="10" Height="10" Width="0" Fill="Maroon" /> <Rectangle Canvas.Top ="-1" Canvas.Left="9" Height="12" Width="202" StrokeThickness="1" Stroke="Black" /> <TextBlock x:Name="progressText" Canvas.Top ="-4" Canvas.Left="230" Text="0%" FontSize="12" /> </Canvas> <Canvas Name="myCanvas" Background="LightBlue" Width="600" Height="400" Canvas.Top="0" Canvas.ZIndex="0" > <TextBlock Name="myTextBlock" TextWrapping="Wrap" Width="300" FontSize="30" Canvas.Top="80" Canvas.Left="100" > 千山鳥飛絕 萬徑人蹤滅 孤舟簑笠翁 獨釣寒江雪 </TextBlock> </Canvas> </Canvas> |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。