Font in Flex2

SSDの事を考えすぎで頭ガッチガチになってきたので、仕事することにした。

IPAフォントが便利なので埋め込みで使ってましたが、今回は埋め込まないで行こうと思い直したので、JavaでいうGraphicsEnvironment#getAvailableFontFamilyNames()に相当するような便利メソッドがないかどうか調べたら、一発で見つかった。


http://livedocs.adobe.com/flex/2_jp/langref/flash/text/Font.html


flash.text.FontクラスのenumerateFonts()を使うと、使えるフォント名一覧が取れるようです。

trace("すべてのフォント");
var fontList:Array = Font.enumerateFonts(true);
for each(var font in fontList){
  trace(font.fontName);
}
trace("埋め込みフォントだけ");
var fontList:Array = Font.enumerateFonts(false);
for each(var font in fontList){
  trace(font.fontName);
}


結果(一部抜粋)

メイリオ
Microsoft Himalaya
Microsoft JhengHei
Microsoft YaHei
MingLiU
PMingLiU
MingLiU_HKSCS
MingLiU-ExtB
PMingLiU-ExtB
MingLiU_HKSCS-ExtB
Mongolian Baiti
MS ゴシック
MS Pゴシック
MS UI Gothic
MS 明朝
MS P明朝


この名前をCSSかfontStyle属性に入れると、そのフォントになります。
例えばメイリオだと、

 font-family:"メイリオ";

とか。


私は根っからのメイリアーですが、デフォルトでVistaにしか入ってないので、泣く泣くMS UI Gothicを指定することにしました。