どの環境でも使えることが保証されている「汎用デバイスフォント名」
ActionScriptで、TextのFormatを指定する際に fontNameに何を指定して良いのかが分かりづらかったので調べた結果メモです。
まず、fontNameにはデバイスフォント名もしくは埋め込んだフォント名を入力する必要があります。デバイスフォント名とは、例えば「MS Pゴシック」や「MS 明朝」など*1になります。しかし、デバイスフォント名として「MS Pゴシック」を使うとWindows環境では問題なく表示されますが、LinuxやMacではそのフォントがないため表示できません。
対応策としては、OSを判定してデバイスフォント名を切り替える、埋め込みフォントを使う、などと別に、ActionScriptとしての以下の汎用デバイスフォント名が定義されているのでそれを使う事ができます。汎用デバイスフォント名を指定すれば、各環境毎に似たフォントが使われることになり、開発者としても面倒がなくて楽ができます。
汎用デバイスフォント名の一覧
fontname | 特徴 |
---|---|
_sans | Helvetica または Arial に類似 |
_serif | Times Roman に類似 |
_typewriter | Courier に類似 |
_ゴシック | Osaka または MS UI Gothic に類似 |
_明朝 | 細明朝、MS P 明朝に類似 |
_等幅 | Osaka 等幅または MS ゴシックに類似 |
デフォルトのfontNameは「_serif」です。
via http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/text/engine/FontDescription.html#fontName
*1:実際のフォント名の取得方法は、wonderfl build flash online | 面白法人カヤック で確認できます。