Flex中检测应用程序是否嵌入某种特定字体的例子
By Minidxer | April 1, 2008
在前面检测Flex应用程序中嵌入了哪种字体(fonts)的例子中我们了解了如何显示Flex应用中所有嵌入的字体的列表。
接下来的例子演示了如何利用Flex中StyleManager类的isFontFaceEmbedded()时间,检查嵌入的某种特定的字体。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- applicationComplete="init();">
- <mx:Style>
- @font-face {
- src: local("Arial");
- fontFamily: ArialEmbedded;
- }
- @font-face {
- src: local("Verdana");
- fontFamily: VerdanaEmbedded;
- fontStyle: italic;
- }
- </mx:Style>
- <mx:Script>
- <![CDATA[
- import mx.utils.ObjectUtil;
- private function init():void {
- var isEmbedded:Boolean;
- var tf:TextFormat = new TextFormat();
- tf.font = fontName.selectedLabel;
- tf.bold = isBold.selected;
- tf.italic = isItalic.selected;
- isEmbedded = systemManager.isFontFaceEmbedded(tf);
- footer.label = isEmbedded.toString();
- }
- ]]>
- </mx:Script>
- <mx:Form>
- <mx:FormItem label="Font name:">
- <mx:ComboBox id="fontName" change="init();">
- <mx:dataProvider>
- <mx:Array>
- <mx:String>Arial</mx:String>
- <mx:String>ArialEmbedded</mx:String>
- <mx:String>Verdana</mx:String>
- <mx:String>VerdanaEmbedded</mx:String>
- </mx:Array>
- </mx:dataProvider>
- </mx:ComboBox>
- </mx:FormItem>
- <mx:FormItem label="Bold:">
- <mx:CheckBox id="isBold"
- selected="false"
- change="init();" />
- </mx:FormItem>
- <mx:FormItem label="Italic:">
- <mx:CheckBox id="isItalic"
- selected="false"
- change="init();" />
- </mx:FormItem>
- <mx:FormHeading id="footer" />
- </mx:Form>
- </mx:Application>
代码:Peter deHaan 翻译:minidxer
Topics:
Flex |
Tags: Flex, isFontFaceEmbedded, SystemManager, 字体