[url]http://blog.minidx.com/2008/04/02/674.html[/url]
接下来的例子中演示了Flex应用中如何利用[Embed] metadata的source属性嵌入字体。
下面是完整代码:
如果你需要用到的字体是UNICODE的,那么可以用类似下面的代码:
另外你还可以通过字体的名称来代替位置,用systemFont参数代替source参数来嵌入系统字体,参考代码如下:
代码:Peter deHaan 翻译整理:minidxer
接下来的例子中演示了Flex应用中如何利用[Embed] metadata的source属性嵌入字体。
下面是完整代码:
<?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