您的位置:首页 > 其它

关于TextField在各个浏览器中的字体显示问题解决。

2013-04-28 13:22 148 查看
几个月以前的事情了,用纯AS3开发的项目,使用TextFeild用来显示一些文字,当时我是想让他显示微软雅黑的字体,自然而然会使用TextFormat类来进行外观样式的设置,当时我是第一次是这样做的:

var __textInfo : TextField = new TextField();
var __textStyle : TextFormat = new TextFormat();
__textStyle.font="微软雅黑";
_textInfo.defaultTextFormat = __textStyle;
_textInfo.setTextFormat(__textStyle);
addChild(_textInfo);


这种写法在Chrome浏览器下可以实现,会显示微软雅黑的字体,不过偶然的一次我使用Firefox打开我做的应用程序发现了字体显示的是宋体,font设置无效,在进行N遍的调试下最终还是无果,心想这肯定是一个BUG,在Google上找了一下,终于找到了解决办法。大概是某些浏览器内核使用字体的名称不统一,就好比Chrome能够识别“微软雅黑”,火狐只能识别他的英文名“Microsoft YaHei”,于是我进行了一次改动。

var __textInfo : TextField = new TextField();
var __textStyle : TextFormat = new TextFormat();
__textStyle.font="Microsoft YaHei,微软雅黑";//修改点
_textInfo.defaultTextFormat = __textStyle;
_textInfo.setTextFormat(__textStyle);
addChild(_textInfo);


把字体的别名都写上去,这样无论是火狐或者Chrome的Flash插件都能够找到对应的字体了,一下是我收集的一些字体中文名和他的别名:

宋体SimSun
黑体SimHei
微软雅黑Microsoft YaHei
微软正黑体Microsoft JhengHei
新宋体NSimSun
新细明体PMingLiU
细明体MingLiU
标楷体DFKai-SB
仿宋FangSong
楷体KaiTi
仿宋_GB2312FangSong_GB2312
楷体_GB2312KaiTi_GB2312
更多的字体可到Google或百度上去查找。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐