您的位置:首页 > 其它

用 Flash CS 5.5 发布 10.2 swf 的一个 bug

2011-08-15 22:35 190 查看
今天用 Flash CS 5.5 (IDE) 做关于字体的一个实验, 代码如下:

import flash.text.Font;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
import flash.text.TextFieldAutoSize;
import flash.display.StageAlign;
import flash.display.StageScaleMode;

stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

var fonts:Array = Font.enumerateFonts(true);
fonts.sortOn('fontName', Array.CASEINSENSITIVE);

var font:Font;
var offsetX:int = 0;
var offsetY:int = 0;

while (font=fonts.shift())
{
var t:TextField = new TextField();
var tf:TextFormat = new TextFormat(font.fontName,16);
t.autoSize = TextFieldAutoSize.LEFT;
t.defaultTextFormat = tf;
t.selectable = false;
t.text = font.fontName;
t.x = offsetX;
t.y = offsetY;
addChild(t);
offsetY +=  t.height;
if (offsetY > 600)
{
offsetX +=  150;
offsetY = 0;
}
trace([font.fontName, font.fontStyle, font.fontType].join());
}


目的是列出客户端系统中的所有字体, 但最初发布的时候遇到个问题, 就是所有中文字体都没有生效.

后改用 FlashDevelop (FD) 发布了一下, 没有问题, 发现差异是发布的版本号不同, FD 发布的是 10.1, IDE 发布的是 10.2, 于是将 IDE 发布版本号修改为 10.1 问题解决.

后来发现可能是 SDK 的问题, FD 用 3.5 和 4.1 发布任何版本都没问题, 但用 SDK 4.5.1 发布的就都不行, 怀疑 SDK 4.5.1 也有这 bug.

这应该是很古老的一个 bug, 不知为啥新版中又再现此问题... 期待 Adobe 尽早更新修复此 Bug
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: