看过前人写的文章之后,于是尝试自己动手写一下。
- 参考文档一
- 参考文档二
1、首先是在库中生成将要嵌入的字体。(在库面板中右键,选择新建字型)
调好之后,生成一个swf文件。
2、再新建一个fla文件。贴入下面的测试代码。
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.text.Font;
import flash.text.TextFormat;
var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
loader.load(new URLRequest("Font1.swf"));
function onComplete(...args):void
{
//getDefinition(),从指定的应用程序域获取一个公共定义。 该定义可以是一个类、一个命名空间或一个函数的定义。
var FontClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("Fonts") as Class;
//registerFont()在全局字体列表中注册一个字体类。 参数指要添加到全局字体列表中的类。
Font.registerFont(FontClass);
var font:Font=new FontClass();
var t:TextField=new TextField();
t.embedFonts = true;
t.autoSize = TextFieldAutoSize.LEFT;
t.defaultTextFormat=new TextFormat(font.fontName,18,0x000000,true,true,true);
addChild(t);
t.text = "江山鸟飞绝";
}