WPF/E开发基础答疑(1)

很多朋友可能已经开始尝试使用WPF/E来在网络上制作一些动画,在其中可能遇到了一些问题。尤其是当前公开版本还是CTP,所以有一些东西在互联网中得不到解答,本人不才,准备通过本博客系列为大家进行答疑解惑。(由于WPF/E的正式名称即将公布,所以在正式名称公布后,本系列教程也会进行更新)

1. WPF/E是否可以支持嵌入式字体?

问题描述:在设计HTML网页的时候,我们会碰到很多类似的问题。一个网页中的字体在设计期非常好看,但当我们发布之后,却发现用户体验惨不忍睹,这其中最大的原因就是字体的不同。比如设计师使用Windows Vista来进行设计,使用了微软雅黑字体。而此种字体在早期Windows版本以及其它操作系统当中并不存在,浏览器会按照自己的方式来使用替代字体(或者CSS中指定的替代字体),从而导致用户体验非常差。如何解决这种问题呢?

解答:我们可以使用FontUri这种方式来嵌入字体,从而解决此种问题,根据当前版本的SDK文档中,我们可以看到,FontUri属性可以应用于Glyphs标签。

示例:  把字体从你的Windows/Fonts目录中拷出(或者从其它地方获得),拷贝到您的WPF/E相应的目录当中,然后在您的XAML语句中按照以下方式进行撰写:

  <Canvas x:Name=”GlyphDisplayCanvas” Canvas.Left=”0″ Canvas.Top=”0″ >

    <Glyphs x:Name=”GlyphDisplay” Fill=”Black” FontUri=”./simhei.ttf” FontRenderingEmSize=”48″ UnicodeString=”Hello, WPF/E?” />

</Canvas>

2. WPF/E如何支持中文显示?

问题描述:在前段时间我的文章留言中,有一位朋友询问如何支持中文。可能很多朋友已经注意到了,在TextBlock或者其它元素当中,如果输入中文,那么在最终显示效果当中,您可能会注意到,这些汉字全部显示为了一个规矩的方框,而不是我们想像中的汉字,那么如何解决此问题呢?

解答:的确在当前版本的WPF/E应用程序当中,很多元素其实不支持中文或者更准确地说,是双字节语言(比如韩文以及日文),但解决也比较简单,查看前面的问题解答,您或者已经得到了解答,即使用UnicodeString方式对其进行设置。当然,如果您查看SDK文档也会发现,这个UnicodeString也只能应用于Glyphs。

示例:同上面问题的解答一样,只需要把应用程序代码中的UnicodeString替换为中文即可,如下:

<Canvas x:Name=”GlyphDisplayCanvas” Canvas.Left=”0″ Canvas.Top=”0″ >

    <Glyphs x:Name=”GlyphDisplay” Fill=”Black” FontUri=”./simhei.ttf” FontRenderingEmSize=”48″ UnicodeString=”生日快乐,开心就好” />

</Canvas>

 

以上问题解答得益于公司同事Laurence Moroney(其太太是华人,前段时间刚访问过中国)

三十一岁祭

http://tkfiles.storage.msn.com/x1pCN9Z3cGsksZeqGr86hXm0gCfyHHpA8mmhLi1ojjvXKnwVeTjDbh4z_kD6DWl1mFYCNAuuY9ncXkfujsvMD0QLmkL3XPGZMJcj6rkLKDnjX8正所谓光阴似箭,不知不觉当中,我已经过了三十而立的年龄,进入了三十一岁。而恰好在生日这天,我将会参加由CSDN举办的“2007年度英雄会”,竟然在不知不觉当,我已经走入了“英雄”的行列,看着与我同列在名单中的那些名字,竟然有一丝自得。

从二十六岁第一次在博客中以祭文的方式来纪录我过往的岁月开始(二十六岁祭),原计划每两年一祭(二十八岁祭),但真到了三十岁生日那天,却无论如何不敢提笔,描述自己彷徨的心情。怎么就那么一晃儿的瞬间,我就已经步入了人到中年的”深渊”?而那么多的梦想却没有如计划那般,一一的实现?

回首二十六岁的毛头小伙子,在深夜的显示屏前总结过去,思考未来,想像三十岁、四十岁、五十岁后的自己。当然,无论那时候长了多么丰满的想像的翅膀,却也触及不到现在真实的自己。人生就是一道道的选择题,一旦你选择了踏出某一步,你可能不会再有后悔的机会。而今,我车也有了,房也买了,妻也娶了,幸福的小日子刚刚开始。而在我内心深处,感觉到更多的却是彷徨。如果那时候脚稍微往另外一个方向偏一下,现在的我,会是什么样?

在微软三年多的日子里面,我已经由很少坐飞机变成了满天飞,从没有进过酒店变成在各大城市的五星级酒店穿梭,从不喜爱旅行变成了强迫旅行者,从一个瘦瘦高高的毛头小伙子变成了有一个肥大啤酒肚的中年男人。看看我两张照片的对比,就知道MS的工作不容易呀!这两张照片是我的一个同事从网上找出来的,看到第一个照片,他感觉异常惊诧,根本想像不出来那是我,而我的回复是:“Of course, 我也曾经很瘦的”

不想了,已经到了三十一岁了,该定型的也基本定型了。二十六岁的我,期待的是爱情,二十八岁的我,满怀激情。而三十岁的我,完成了当年的理想,正在努力寻找下一个方向。进入微软,我已经实现了人生的第一个梦想,而现在我必须为自己创造下一个梦想,以便让我继续满怀激情,去拼,去努力!

三十二岁,我来了!!!

 

BTW: 或者在26岁那年,我创造了互联网上的一种新文体,偶而在网络上进行一下搜索,愕然发现,很多年轻人都有了逢生日写祭文的习惯,同道中人也!有兴趣的话,可以从以下搜索引擎中查找一下是否有你所写的祭文。 🙂

Baidu: 20岁祭 21岁祭 22岁祭 23岁祭 24岁祭 25岁祭

Google: 26岁祭 27岁祭 28岁祭 29岁祭 30岁祭 31岁祭