在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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于在flash as3中使用嵌入字体embedFonts的所有评论