- 2009年3月26日 14:56
- ActionScript 3.0
Flashで埋め込んだフォントを、生成したTextFieldに指定したいけど、フォント名わかんねーよ、、なんでFlashで指定する名前とTextFormat.fontで指定する名前が一緒じゃないんだ!ばか!と、ツンデレちゃうFlasherの方もいるんじゃないでしょうか(自分もそうでした)
そんなときはこのコード。
var fonts:Array = Font.enumerateFonts(false)
Fontクラスの静的メソッドenumerateFonts()を使えば、埋め込まれているフォントの一覧を配列で取得することができます。配列に内包される要素はFontクラスで、インスタンスプロパティfontNameから参照することができます。第一引数enumerateDeviceFonts:Booleanをfalseにすれば、埋め込まれているフォントのみ取得、trueならば、デバイスフォントと埋め込みフォント、つまり使用できるフォント全てを取得することができます。便利ですね。フォントど忘れしたってときは、お試し下さい。
ちなみに、fontNameはreadOnly(読み取り専用)なので、変更できません。
配列の走査にはforEachが便利↓
Font.enumerateFonts(true).forEach(function(item,arr,index){trace(item.fontName)})



