Flex应用中如何利用source属性嵌入字体的例子
By Minidxer | April 2, 2008
接下来的例子中演示了Flex应用中如何利用[Embed] metadata的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:Script>
- <![CDATA[
- import mx.utils.ObjectUtil;
- [Embed(source="assets/Base 02.ttf",
- fontName="EmbeddedBase02",
- mimeType="application/x-font")]
- private var EmbeddedBase02:Class;
- private function init():void {
- var c:Font = new EmbeddedBase02();
- ta.text = ObjectUtil.toString(c);
- }
- ]]>
- </mx:Script>
- <mx:ApplicationControlBar dock="true">
- <mx:Label id="lbl"
- text="The quick brown fox jumped over the lazy dog."
- fontFamily="EmbeddedBase02"
- fontSize="18" />
- </mx:ApplicationControlBar>
- <mx:TextArea id="ta"
- editable="false"
- width="100%"
- height="100%" />
- </mx:Application>
如果你需要用到的字体是UNICODE的,那么可以用类似下面的代码:
- [Embed(source="assets/Base 02.ttf",
- fontName="EmbeddedBase02",
- mimeType="application/x-font",
- unicodeRange="englishRange")]
- private var EmbeddedBase02:Class;
另外你还可以通过字体的名称来代替位置,用systemFont参数代替source参数来嵌入系统字体,参考代码如下:
- [Embed(systemFont="Tahoma",
- fontName="EmbeddedTahomaItalic",
- fontStyle="italic",
- advancedAntiAliasing="true",
- mimeType="application/x-font")]
- private var EmbeddedTahomaItalic:Class;
代码:Peter deHaan 翻译整理:minidxer
Topics:
Flex |
Tags: Embed, Flex, fontFamily, fontName, mimeType, 字体
Trackbacks