【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 TKCB 于 2020-4-18 23:02 编辑
转载:博客园
作者:Winco
网址:https://www.cnblogs.com/atong/archive/2013/02/05/2892640.html
1、建立FontLibrary.fla文件,在其文档类FontLibrary.as中写如下代码:
[Actionscript3] 纯文本查看 复制代码 package {
import flash.text.Font;
public class FontLibrary extends Sprite {
[Embed(systemFont="华文中宋", fontName="MyFont", unicodeRange="U+8f93,U+5165,U+6587,U+5b57", mimeType="application/x-font")]
static public var MyClass : Class;
public function FontLibrary() {
Font.registerFont(MyClass);
}
}
}
如果不是嵌入系统字体,而是嵌入外部路径的字体,则按照如下写:
[Actionscript3] 纯文本查看 复制代码 package {
import flash.text.Font;
public class FontLibrary extends Sprite {
[Embed(source="pages/simhei.ttf", fontName="MyFont", unicodeRange="U+8f93,U+5165,U+6587,U+5b57", mimeType="application/x-font")]
static public var MyClass : Class;
public function FontLibrary() {
Font.registerFont(MyClass);
}
}
}
执行编译生成FontLibrary.swf
2、调用嵌入的字体文件,在主程序中写如下代码:
[Actionscript3] 纯文本查看 复制代码 package{
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.text.TextFormat;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class Main extends MovieClip{
private var fontLoader:Loader;
private var txtFmt:TextFormat;
private var txtFld:TextField;
public function Main(){
fontLoader = new Loader();
fontLoader.load(new URLRequest("FontLibrary.swf"));
fontLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
}
private function completeHandler(e:Event):void{
txtFmt=new TextFormat("MyFont",68,0x000000);
txtFld=new TextField();
txtFld.autoSize=TextFieldAutoSize.LEFT;
txtFld.embedFonts=true;
txtFld.text="显示中文";
txtFld.setTextFormat(txtFmt);
addChild(txtFld);
}
}
}
可以去这个网页自动生成类代码 http://kevincao.com/app/font/
TKCB还有一个关于外部加载SWF的小练习:http://www.11ria.com/forum.php?mod=viewthread&tid=2541
|