Flex中检测应用程序是否嵌入某种特定字体的例子

By Minidxer | April 1, 2008

在前面检测Flex应用程序中嵌入了哪种字体(fonts)的例子中我们了解了如何显示Flex应用中所有嵌入的字体的列表。

接下来的例子演示了如何利用Flex中StyleManager类的isFontFaceEmbedded()时间,检查嵌入的某种特定的字体。

让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white"
  6.         applicationComplete="init();">
  7.  
  8.     <mx:Style>
  9.         @font-face {
  10.             src: local("Arial");
  11.             fontFamily: ArialEmbedded;
  12.         }
  13.  
  14.         @font-face {
  15.             src: local("Verdana");
  16.             fontFamily: VerdanaEmbedded;
  17.             fontStyle: italic;
  18.         }
  19.     </mx:Style>
  20.  
  21.     <mx:Script>
  22.         <![CDATA[
  23.             import mx.utils.ObjectUtil;
  24.  
  25.             private function init():void {
  26.                 var isEmbedded:Boolean;
  27.  
  28.                 var tf:TextFormat = new TextFormat();
  29.                 tf.font = fontName.selectedLabel;
  30.                 tf.bold = isBold.selected;
  31.                 tf.italic = isItalic.selected;
  32.  
  33.                 isEmbedded = systemManager.isFontFaceEmbedded(tf);
  34.                 footer.label = isEmbedded.toString();
  35.             }
  36.         ]]>
  37.     </mx:Script>
  38.  
  39.     <mx:Form>
  40.         <mx:FormItem label="Font name:">
  41.             <mx:ComboBox id="fontName" change="init();">
  42.                 <mx:dataProvider>
  43.                     <mx:Array>
  44.                         <mx:String>Arial</mx:String>
  45.                         <mx:String>ArialEmbedded</mx:String>
  46.                         <mx:String>Verdana</mx:String>
  47.                         <mx:String>VerdanaEmbedded</mx:String>
  48.                     </mx:Array>
  49.                 </mx:dataProvider>
  50.             </mx:ComboBox>
  51.         </mx:FormItem>
  52.         <mx:FormItem label="Bold:">
  53.             <mx:CheckBox id="isBold"
  54.                     selected="false"
  55.                     change="init();" />
  56.         </mx:FormItem>
  57.         <mx:FormItem label="Italic:">
  58.             <mx:CheckBox id="isItalic"
  59.                     selected="false"
  60.                     change="init();" />
  61.         </mx:FormItem>
  62.         <mx:FormHeading id="footer" />
  63.     </mx:Form>
  64.  
  65. </mx:Application>
代码:Peter deHaan 翻译:minidxer

Topics: Flex | Tags: , , ,

Search Posts

Archives

Sponsored Ads