博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[ActionScript 3.0] 使用Embed在类中嵌入字体
阅读量:5300 次
发布时间:2019-06-14

本文共 3852 字,大约阅读时间需要 12 分钟。

1 package 2 { 3     import flash.display.Sprite; 4     import flash.text.Font; 5     import flash.text.TextField; 6     import flash.text.TextFormat; 7      8     /** 9      * @author Frost.Yen10      * @E-mail 871979853@qq.com11      * @create 2015-6-26 下午3:23:3812      *13      */14     [SWF(width="800",height="600")]15     public class EmbedFonts extends Sprite16     {17         /**18          *  •source 指定要嵌入的字体文件路径。还可以用 systemFont指定一个系统中安装的字体。这样的话就可以不需要 source参数了。19             •fontName 这个实际上就是 fontFamily 的别名。20             •embedAsCFF 如果不提供这个参数,默认就是true。所以,如果系统你嵌入的字体用于TextField,一定要将其设置为false。21             •unicodeRange 要嵌入的文本的范围。见下表:22             23             嵌入字体范围:24             •大写字符 U+0020,U+0041-U+005A25             •小写字符 U+0020,U+0061-U+007A26             •数字 U+0030-U+0039,U+002E27             •标点符号 U+0020-U+002F,U+003A-U+0040,U+005B-U+0060,U+007B-U+007E28             •基本拉丁字符 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+007E29             •中文字符 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+00B730             31             详细的可以找到你本机的 FlexSDK/frameworks/flash-unicode-table.xml。还可以参考Setting character ranges。32          */        33         [Embed(source="fonts/msyh.ttf",fontName="YaHei_font",embedAsCFF="false",mimeType="application/x-font",unicodeRange="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,U+0020-U+002F,U+003A-U+0040,U+005B-U+0060,U+007B-U+007E,U+0030-U+0039,U+002E,U+0020,U+0061-U+007A,U+0020,U+0041-U+005A,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")] 34         private var _font:Class;35         public function EmbedFonts()36         {37             var fontArr:Array= Font.enumerateFonts(false);38             for each(var font:Font in fontArr)39             trace(font.fontName, font.fontType);40             //Font.registerFont(_font);//注册字体,如果在Embed字体的类中使用它,则不需要注册字体也可,上面的for each可以测试得知41             42             test();43         }44         private function test():void45         {46             var text:TextField = new TextField();47             text.width = 800;48             text.height = 600;49             text.selectable = false;50             text.wordWrap = true;51             52             var textFormat:TextFormat = new TextFormat();53             textFormat.font = "YaHei_font";54             textFormat.size = 24;55             textFormat.color = 0xff0000;56             text.appendText("0123456789\n");57             text.appendText("abcdefghijklmnopqrstuvwxyz\n");58             text.appendText("ABCDEFGHIJKLMNOPQRSTUVWXYZ\n");59             text.appendText("今天很困难,明天更困难,后天很美好。但是绝大多数人死在了明天晚上,如果你不努力的话。\n");60             text.appendText("水的清澈,並非因為它不含雜質,而是在於懂得沉澱;心的通透,不是因為沒有雜念,而是在於明白取捨。\n");61             text.appendText("/ * + - @!#$%^&*()~><‘;、(*^__^*)O(∩_∩)O嗯!<( ̄ˇ ̄)/[]~( ̄▽ ̄)~*\n");62             text.embedFonts = true;63             text.setTextFormat(textFormat);64             addChild(text);65             66             trace(toOxString("ˇ▽"));67         }68         /**69          * 返回16进制unicode码 70          * @param str 字符71          * @return 72          * 73          */        74         private function toOxString(str:String):String75         {76             var result:String="";77             var len:int=str.length;  78             for (var i:int=0; i < len; i++)  79             {  80                 result += "U+" + (str.charCodeAt(i)).toString(16);81                 if(i < len - 1)82                 {83                     result += ",";84                 }85             }86             return result;87         }88     }89 }

 

转载于:https://www.cnblogs.com/frost-yen/p/4602652.html

你可能感兴趣的文章
Node.js 入门:Express + Mongoose 基础使用
查看>>
plsql使用,为什么可以能看见其他用户的表
查看>>
一步步教你轻松学奇异值分解SVD降维算法
查看>>
使用pager进行分页
查看>>
UVA - 1592 Database
查看>>
Fine Uploader文件上传组件
查看>>
javascript中的传递参数
查看>>
objective-c overview(二)
查看>>
python查询mangodb
查看>>
consonant combination
查看>>
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
Swagger简单介绍
查看>>
Python数据分析入门案例
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
#ifndef #define #endif
查看>>
css背景样式
查看>>