快速业务通道

在flash as3中使用嵌入字体embedFonts

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07

Flash一直对字体渲染支持不好,特别是中文,存在锯齿、模糊、失真等等问题。而且系统的字体不能旋转,不能设置alpha(作为bitmap处理除外)。因此在有些时候,就不得不考虑使用嵌入字体。 使用之前必须定义字体类,在library面板选择新建字体(new font),为新建的字体设置链接,制定Class的值,这个Class就要要注册的字体类。比如你为你新建字体的Class设置为Comic ,下面代码就外这种字体注册到全局字体库里面:Font.registerFont(Comic); 这样就可以在本文件或者所有加载这个文件的程序使用这种字体了。 在flash as3中,使用嵌入字体有两种方式,一种是通过TextFormat.font属性设置,另外一种通过StyleSheet设置样式,文本使用class来应用。 在使用字体之前,最好使用Font.enumerateFonts();得到的字体的fontName来用,因为有些字体名字跟看到的不一样,特别是只用粗体和斜体的时候。 使用这两种方法前,都要设置文本的embedFonts = true;,这样文本就会按照嵌入字体进行渲染。 效果: embedFonts 源文件: embedFonts.rar 具体使用的代码: //———————————————————————–
//使用嵌入字体
//Arial
//vara=Font.enumerateFonts();
//trace(a[0].fontName);
//
//Font.registerFont(Arial);
//a=Font.enumerateFonts();
//trace(a);
//trace(a[0].fontName);
//trace(a[1].fontName);
//把库里面的字体注册到全局字体库里面,如果在本文件内使用,可以不注册,但是如果作为字体库供其他文件调用,必须要注册到全局
//Font.registerFont(Birch);
//
varl:Loader=newLoader();
//加载字体库
l.load(newURLRequest(’fontlib.swf’));
l.contentLoaderInfo.addEventListener(’complete’,lc);
//
functionlc(e)
{
//获取嵌入的字体数组
vara=Font.enumerateFonts();
trace(a);
//嵌入字体的名字
trace(a[0].fontName);
trace(a[1].fontName);
//使用TextFormat.font设置字体
vartf:TextFormat=newTextFormat();
tf.font=a[0].fontName;
t.embedFonts=true;
t.text=‘asdasdasdas’;
t.setTextFormat(tf);
//
//
//使用StyleSheet设置字体
varCSS:StyleSheet=newStyleSheet();
css.setStyle(’.font’,{fontFamily:a[1].fontName});
//
t1.embedFonts=true;
t1.styleSheet=css;
t1.HTMLText=‘<pclass=”font”>asdasdasdas</p>’;
//
} 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号