在Silverlight中新增了对OpenType字体属性的支持,它主要通过Typography类的相关属性来控制。下面我们来看看它增加了哪些属性。
注意:必须使用系统的OpenType字体才行,所以FontFamily="Gabriola"。
一、连笔字
在"ft"之间相连起来,如下图绿色框内所示主要通过 Typography.Standardligatures的True或者False来决定是否连笔:
然后我们看代码如下:
<TextBlock FontFamily="Gabriola" FontSize="100" HorizontalAlignment="Center" margin="33,304,142,114" Text="NewsftepSet-" Typography.Standardligatures="False" WIDth="525" /> <TextBlock FontFamily="Gabriola" FontSize="100" HorizontalAlignment="Center" margin="33,406,12" Text="NewsftepSet-" Typography.Standardligatures="True" WIDth="525" />
二、分数字
将1/5、4/13等分数按照数学上的分数字来显示,通过设置Typography.Fraction属性为normal、Slashed、Stacked来控制。
其代码如下:
<TextBlock Text="5/152 normal" HorizontalAlignment="Center" FontFamily="Gabriola" FontSize="50" Height="100" Typography.Fraction="normal" margin="487,313,12,187" /> <TextBlock Text="5/152 Slashed" HorizontalAlignment="Center" FontFamily="Gabriola" FontSize="50" Height="100" Typography.Fraction="Slashed" margin="487,373,31,0" VerticalAlignment="top" /> <TextBlock Text="5/152 Stacked" HorizontalAlignment="Center" FontFamily="Gabriola" FontSize="50" Height="100" Typography.Fraction="Stacked" margin="487,419,9,81" />
三、上下标字
比如化学里的三氧化二铁等,通过设置Typography.Variants属性为Subscript、Superscript来实现上下标。如下图:
其具体代码如下:
<TextBlock FontFamily="Gabriola" FontSize="50" Height="100" HorizontalAlignment="Center" margin="487,488,117,12" > <Run Text="Fe" Typography.Variants="normal" /> <Run Text="2" Typography.Variants="Subscript" /> <Run Text="O" Typography.Variants="normal" /> <Run Text="3" Typography.Variants="Superscript" /> </TextBlock>
四、手写字
在生活中我们需要一些比较漂亮的手写字,在Silverlight 5 RC版本中准备了7种样式的手写字,通过设置Typography.StyListicSet*的True、False来实现,其中*号是从1到7的整数 字来代替,8以上的数字设置是无效的。如下图:
其代码如下所示:
<TextBlock Text="NewsftepSet-" HorizontalAlignment="Center" FontSize="50" Height="100" FontFamily="Gabriola" margin="20,484,488" /> <TextBlock Text="NewsftepSet1" HorizontalAlignment="Center" FontSize="50" FontFamily="Gabriola" Typography.StyListicSet1="True" Height="100" margin="245,255,488" /> <TextBlock FontFamily="Gabriola" FontSize="50" Height="100" HorizontalAlignment="Center" margin="471,28,488" Text="NewsftepSet2" Typography.StyListicSet2="True" /> <TextBlock FontFamily="Gabriola" FontSize="50" Height="100" HorizontalAlignment="Center" margin="20,118,478,382" Text="NewsftepSet3" Typography.StyListicSet3="True" /> <TextBlock FontFamily="Gabriola" FontSize="50" Height="100" HorizontalAlignment="Center" margin="246,246,382" Text="NewsftepSet4" Typography.StyListicSet4="True" /> <TextBlock FontFamily="Gabriola" FontSize="50" Height="100" HorizontalAlignment="Center" margin="471,25,382" Text="NewsftepSet5" Typography.StyListicSet5="True" /> <TextBlock FontFamily="Gabriola" FontSize="50" HorizontalAlignment="Center" WIDth="221" margin="20,224,459,253" Text="NewsftepSet6" Typography.StyListicSet6="True" /> <TextBlock FontFamily="Gabriola" FontSize="50" HorizontalAlignment="Center" WIDth="218" margin="247,235,253" Text="NewsftepSet7" Typography.StyListicSet7="True" />
如需源码请点击 SL5OpenType.zip 下载,谢谢支持~
总结以上是内存溢出为你收集整理的Silverlight 5 RC新特性探索系列:15.Silverlight 5 RC 对OpenType字体属性的支持全部内容,希望文章能够帮你解决Silverlight 5 RC新特性探索系列:15.Silverlight 5 RC 对OpenType字体属性的支持所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)