检测客户端是否包含特定字体
来源:互联网 发布:淘宝哪家二手手机好 编辑:程序博客网 时间:2024/05/06 05:54
AS3文本处理:检测客户端是否包含特定字体
日常项目当中我们经常会使用一些比较特殊的字体来显示文本,比如微软雅黑等等;
但如果客户端没有相应的字体,我们必须用另一种常见的字体,并更改相应样式如:字号,行高...等等来替代,以达到相对完美的展示效果。
var txtFormat:TextFormat;
var txtField:TextField =new TextField();
if ("有微软雅黑字体")
{
txtFormat = newTextFormat("微软雅黑", 11, 0x333333);
txtFormat.leading = 3;
}else
{
txtFormat = newTextFormat("宋体,Arial", 12,0x333333);
//微软雅黑的行高,比宋体高,此处要增加一定的行高来保证行间距。
txtFormat.leading = 6;
}
txtField.defaultTextFormat = txtFormat;
txtField.text = "我爱北京天安门\n天安门上太阳升";
那么我们怎么才能判断客户端是否有我们需要的字体呢?
查官方文档也没用相应的API,但是Font类有这么一个方法:enumerateFonts();
该方法的作用是:来获取包括所有设备字体(如果参数设置为true)和嵌入字体的列表;
于是想出了一个笨办法:可以通过它来得到当前客户端设备的字体列表,遍历并比对这个列表中每个字体的fontName,上代码:
privatefunction checkFontFamily(fontName:String):Boolean
{
var localFonts:Array = Font.enumerateFonts(true);
var f:Font;
var fName:String;
var hasFont:Boolean =false;
for (var i:int = 0, len:int = localFonts.length; i < len; i++)
{
f = localFonts[i] as Font;
fName = f.fontName;
if (fName == fontName)
{
hasFont = true;
return hasFont;
}
}
return hasFont;
}
- 检测客户端是否包含特定字体
- Python Cookbook 第二版 汉化版 [Recipe 1.8] 检测字符串是否包含特定的字符集合
- 判断字典是否包含特定Key值
- 检测客户端javascript是否禁用
- 检测unicode字符中是否包含汉字
- Win32检测指定目录是否包含文件
- 检测可执行文件中是否包含某函数
- 检测昵称中是否包含特殊字符
- 如何检测library是否包含bitcodwe
- iOS 检测字符串中是否包含表情符号
- 检测字符串中是否包含汉字
- Delphi检测字符串中是否包含汉字
- JQ检测字符串是否包含指定元素
- oracle 字符串分割 及是否包含特定字符串 验证
- 测试文件是否包含特定的文本内容sh脚本
- linux--判断是否有--包含特定字符串的文件名
- Jquery判断元素下是否包含特定元素
- C++中判断String是否包含某些特定字符
- 乌鸦5 RV05 装机和吐槽
- 书摘:疯狂的程序员
- Application与Module通信
- scrollTop clientTop offsetTop scrollHeight clientHeight clientWidth的区别及用法
- 让ubuntu下的QtCreator直接支持中文输入
- 检测客户端是否包含特定字体
- 手机九宫锁的组合问题
- Remove Duplicates from Sorted List
- HttpService与后台
- 使用javaBean封装数据
- Formal Report Format
- 饼状图与柱状图的使用
- 15个使用频率极高的基础算法题(附完整代码)
- github学习笔记