Flex应用中如何利用source属性嵌入字体的例子

By Minidxer | April 2, 2008

接下来的例子中演示了Flex应用中如何利用[Embed] metadata的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:Script>
  9.         <![CDATA[
  10.             import mx.utils.ObjectUtil;
  11.  
  12.             [Embed(source="assets/Base 02.ttf",
  13.                     fontName="EmbeddedBase02",
  14.                     mimeType="application/x-font")]
  15.             private var EmbeddedBase02:Class;
  16.  
  17.             private function init():void {
  18.                 var c:Font = new EmbeddedBase02();
  19.                 ta.text = ObjectUtil.toString(c);
  20.             }
  21.         ]]>
  22.     </mx:Script>
  23.  
  24.     <mx:ApplicationControlBar dock="true">
  25.         <mx:Label id="lbl"
  26.                 text="The quick brown fox jumped over the lazy dog."
  27.                 fontFamily="EmbeddedBase02"
  28.                 fontSize="18" />
  29.     </mx:ApplicationControlBar>
  30.  
  31.     <mx:TextArea id="ta"
  32.             editable="false"
  33.             width="100%"
  34.             height="100%" />
  35.  
  36. </mx:Application>
如果你需要用到的字体是UNICODE的,那么可以用类似下面的代码:
  1. [Embed(source="assets/Base 02.ttf",
  2.         fontName="EmbeddedBase02",
  3.         mimeType="application/x-font",
  4.         unicodeRange="englishRange")]
  5. private var EmbeddedBase02:Class;

另外你还可以通过字体的名称来代替位置,用systemFont参数代替source参数来嵌入系统字体,参考代码如下:

  1. [Embed(systemFont="Tahoma",
  2.         fontName="EmbeddedTahomaItalic",
  3.         fontStyle="italic",
  4.         advancedAntiAliasing="true",
  5.         mimeType="application/x-font")]
  6. private var EmbeddedTahomaItalic:Class;
代码:Peter deHaan 翻译整理:minidxer

Topics: Flex | 1 Comment » | 146 views Tags: , , , , ,

Related Post

One comment | Add One

Leave a Comment

Name(*):

E-Mail(*) :

Website :

Comments :

Search Posts

赞助商链接

Archives