AS3中Embed标签详解

/*
     * 没有设置,Flash会在源属性中根据导入资源文件的扩展名载入合适的类型
     * Flash不能通过XML文件的扩展名检测正确的MIME类型,嵌入XML数据时都要设置mimeType参数
       application/x-font 
       application/x-font-truetype 
       application/x-shockwave-flash 
       audio/mpeg 
       image/gif 
       image/jpeg 
       image/png 
       image/svg 
       image/svg-xml
       application/octet-streamQ   任意的二进制数据 
    
*/

    
     public  class  Main  extends  Sprite {
         // 元数据:[Embed]元数据标签仅仅支持类和成员变量
        [Embed(source="asset/Main.swf",symbol="mc")] // 绑定库元件名
         private  var  mc:Class;
        
        [Embed(source = "img/01.jpg")]
         private   var  img:Class;
        
        [Embed(source="asset/Item.xml",mimeType = "application/octet-stream")]
         private  var  _xml:Class;
        
         // 描述了嵌入元数据的MIME类型
        [Embed(source = "asset/font.ttf", fontName = "myfont",advancedAntiAliasing="true", mimeType="application/x-font")]
         private  var  theClass:Class;
        
         public  function  Main() {
            trace(new _xml())
            
             var  format:TextFormat = new TextFormat();
            format.size = 14;
            format.font = "myfont";
            
             var  txt:TextField = new TextField();
            txt.text = "方正粗活意简体";
            txt.embedFonts =  true ;
            txt.setTextFormat(format);
            this.addChild(txt);
        }
    }
 
 
在纯AS3项目中嵌入字体

[Embed(source="04b_08.ttf",fontName="04b_08",embedAsCFF="false",unicodeRange="U+0020,U+0041-005A")]
publicvar myFont:Class;
使用传统方式(就是上面图2中提到的“传统”)嵌入字体名为04b_08的TTF字体中的英文、数字和标点符号,包含大小写。

来看看这四个常用参数的作用吧:

  • source 指定要嵌入的字体文件路径。还可以用 systemFont指定一个系统中安装的字体。这样的话就可以不需要 source参数了。
  • fontName 这个实际上就是 fontFamily 的别名。
  • embedAsCFF 如果不提供这个参数,默认就是true;所以,如果系统你嵌入的字体用于TextField,一定要将其设置为false。
  • unicodeRange 要嵌入的文本的范围。默认范围大小写,数字,符号

嵌入字体范围:

  • 大写字符 U+0020,U+0041-U+005A
  • 小写字符 U+0020,U+0061-U+007A
  • 数字 U+0030-U+0039,U+002E
  • 标点符号 U+0020-U+002F,U+003A-U+0040,U+005B-U+0060,U+007B-U+007E
  • 基本拉丁字符 U+0020-U+002F, U+0030-U+0039, U+003A-U+0040, U+0041-U+005A, U+005B-U+0060, U+0061-U+007A, U+007B-U+007E
  • 中文字符   <lang>Chinese (All)</lang>
         U+3000-303F,U+3105-312C,U+31A0-31BF,U+4E00-9FAF,U+FF01-FF60,U+F900-FAFF,U+201C-201D,U+2018-2019,U+2014,U+2026,U+FFE5,U+00B7

中文范围等等,详细的可以找到你本机的 FlexSDK/frameworks/flash-unicode-table.xml 看看就明白了(中文chinese)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值