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