[AS3]as3调用字体as3嵌入外部字体的教程示例

首先在新建个fla命名为font.fla, Ctrl+L 调出库面板.
右键点击库面板的空白处,新建字体.... 调出 字体元件属性 窗口.
选择要嵌入的字体, 并选择为ActionScript 导出. 填入自己的类名.


 确定并Ctrl+Enter 导出 font.swf
OK,字体库已经准备就绪了,下面是应用篇 
下面是应用篇的为文档类.
提示:
Font.registerFont(MyFont); 注册全局字体
new TextFormat(myFont.fontName); 应用字体
txt.embedFonts = true; 设置嵌入字体

以上3条必须同时用到才OK的.

package 
{ 
    import flash.display.Loader; 
    import flash.display.Sprite; 
    import flash.events.Event; 
    import flash.events.ProgressEvent; 
    import flash.net.URLRequest; 
    import flash.system.LoaderContext; 
    import flash.text.Font; 
    import flash.text.TextField; 
    import flash.text.TextFormat; 
    import flash.utils.getDefinitionByName; 
  
    /** 
     * lite3@qq.com 
     * www.lite3.cn 
     * @author lite3 
     */ 
    [SWF(width=600, height=50)] 
    public class EmbedFontDemo extends Sprite 
    { 
        private var txt:TextField; 
        private var fontLoader:Loader; 
        public function EmbedFontDemo():void 
        { 
            txt = new TextField(); 
            txt.x = 50; 
            txt.y = 10; 
            txt.width = 500; 
            txt.height = 30; 
            txt.border = true; 
            txt.textColor = 0x0099FF; 
            addChild(txt); 
  
            fontLoader = new Loader(); 
            fontLoader.load(new URLRequest("http://www.CuPlayer.com/assets/swf/embedFontDemo/font.swf"), new LoaderContext(false, loaderInfo.applicationDomain)); 
            fontLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); 
            fontLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); 
        } 
  
        private function progressHandler(e:ProgressEvent):void 
        { 
            var ratio:int = e.bytesLoaded / e.bytesTotal * 100; 
            txt.text = "loading...  " + ratio + "%"; 
        } 
  
        private function completeHandler(e:Event):void 
        { 
            fontLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); 
            fontLoader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler); 
            trace("font coomplete!"); 
            var MyFont:Class = getDefinitionByName("cn.lite3.font.Font_hyqytj") as Class; 
  
            // CuPlayer.com注册全局字体 
            Font.registerFont(MyFont); 
            var myFont:Font = new MyFont() as Font; 
            // CuPlayer.com应用字体 
            var format:TextFormat = new TextFormat(myFont.fontName, 25, null, true); 
            txt.defaultTextFormat = format; 
            // CuPlayer.com嵌入字体 
            txt.embedFonts = true; 
            txt.text = "lite3 欢迎大家访问我的博客www.CuPlayer.com"; 
        } 
    } 
} 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值