Flex应用中利用Embed metadata(redux)的systemFont属性嵌入字体(font)的例子

By Minidxer | April 2, 2008

在前面的Flex应用中如何利用source属性嵌入字体的例子中,我们了解了Flex应用中如何利用[Embed] metadata的source属性嵌入字体,接下来的例子演示了如何利用Embed metadata(redux)的systemFont属性嵌入字体。

让我们先来看一下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.  
  7.     <mx:Style>
  8.         .regularFontStyle {
  9.             fontFamily: regularFont;
  10.         }
  11.  
  12.         .italicFontStyle {
  13.             fontFamily: italicFont;
  14.             fontStyle: italic;
  15.         }
  16.     </mx:Style>
  17.  
  18.     <mx:Script>
  19.         <![CDATA[
  20.             import mx.controls.Alert;
  21.             import mx.utils.ObjectUtil;
  22.  
  23.             [Bindable]
  24.             [Embed("bulletWarning.png")]
  25.             private var bulletWarningIcon:Class;
  26.  
  27.             [Embed(systemFont="Tahoma",
  28.                     fontName="regularFont",
  29.                     mimeType="application/x-font")]
  30.             private var font1:Class;
  31.  
  32.             [Embed(systemFont="Tahoma",
  33.                     fontName="italicFont",
  34.                     fontStyle="italic",
  35.                     advancedAntiAliasing="true",
  36.                     mimeType="application/x-font")]
  37.             private var font2:Class;
  38.  
  39.             private function displayEmbeddedFont(name:String):void {
  40.                 var font:Object = systemManager.embeddedFontList[name];
  41.                 Alert.show(ObjectUtil.toString(font), name + ":");
  42.             }
  43.         ]]>
  44.     </mx:Script>
  45.  
  46.     <mx:Form>
  47.         <mx:FormItem label="regularFont:" direction="horizontal">
  48.             <mx:Label id="lbl1"
  49.                     text="The quick brown fox jumped over the lazy dog."
  50.                     styleName="regularFontStyle" />
  51.             <mx:Image source="{bulletWarningIcon}"
  52.                     click="displayEmbeddedFont('regularFont');" />
  53.         </mx:FormItem>
  54.         <mx:FormItem label="italicFont:" direction="horizontal">
  55.             <mx:Label id="lbl2"
  56.                     text="The quick brown fox jumped over the lazy dog."
  57.                     styleName="italicFontStyle" />
  58.             <mx:Image source="{bulletWarningIcon}"
  59.                     click="displayEmbeddedFont('italicFont');" />
  60.         </mx:FormItem>
  61.     </mx:Form>
  62.  
  63. </mx:Application>
代码:Peter deHaan 翻译整理:minidxer

Topics: Flex | Tags: , , , , , , ,

Search Posts

Archives

Sponsored Ads