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

使用FlashCS5.5 IDE进行字体显示实验时,发现所有中文字体无法正常显示。通过调整发布版本至10.1解决了该问题。疑似SDK4.5.1存在Bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值