快速业务通道

Flash as3嵌入中文字体的方法

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-10
rFont(FontLibrary.BankGothicFont);
    var tf:TextField = new TextField();
    tf.defaultTextFormat = new TextFormat(”emBank Gothic”, 12, 0);
    tf.embedFonts = true;
    tf.rotation = 15; // to demonstrate the embed worked
    tf.text = “blah blah blahnblah blah blahnblah blah blah “;
    addChild(tf);
}

这个是老外的做法,试验过后发现英文是可以没有问题的,但是如果是比较大的中文ttf,在嵌入字体库文件类那处就会有问题,mxmlc编译的时候会报错

这样我们的做法是,在Flash cs3里来做字体共享库,同样在库里新建一个字体

 然后在主文件里加载,然后用反射的方法注册,再使用

var loader:Loader=new Loader;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
loader.load(new URLRequest(”shared.swf”));
function completeHandler(event:Event):void {
 var fontLibrary:Class=event.target.applicationDomain.getDefinition(”zhr_Font”) as Class;
 trace(fontLibrary);
 Font.registerFont(fontLibrary);
 test();
}

function test() {
 var _embeddedFonts:Array = new Array();
 _embeddedFonts = Font.enumerateFonts(false);
 trace(_embeddedFonts[0].fontName);
 //trace(_embeddedFonts.length);
 //var tx:TextField=new TextField();
 //tx.type=”input”;
 tx.embedFonts=true;
 //tx.defaultTextFormat=new TextFormat(”zhr_Font”,20,0xFF0000);
 var tf=new TextFormat(_embeddedFonts[0].fontName,20,0xFF0000);
 //tx.embedFonts = true; 
 //tx.antiAliasType = AntiAliasType.ADVANCED; 
 tx.text=”你好”;
 tx.setTextFormat(tf);
 addChild(tx);
}

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号