- 2009年6月20日 05:26
- Technology
- Comments: 0
- TrackBacks: 0
- Edit
Flex SDKを使ってActionScriptだけでSWFを作成するとき、Embedメタデータタグでシステムフォント(Arial、Verdanaのように最初からインストールされているフォント)を埋め込むことができます。
Verdanaを埋め込み、テキストを表示するとこんな感じです。
システムフォントを埋め込んだSWF
ソースコード
/** * システムフォントの埋め込み * @author OKI Yoshiya (ceroan) */ package { import flash.display.Sprite; import flash.events.Event; import flash.text.*; public class Main extends Sprite { [Embed(systemFont = "Verdana", fontName = "fVerdana", mimeType = "application/x-font")] private var myFont:Class; public function Main() { var t:TextField = new TextField(); t.autoSize = TextFieldAutoSize.LEFT; t.embedFonts = true; var tf:TextFormat = new TextFormat(); tf.font = "fVerdana"; tf.size = 24; t.defaultTextFormat = tf; t.text = "This SWF embed Verdana."; addChild(t); } } }
- EmbedメタデータタグのsystemFont属性でシステムフォント名、fontName属性でActionScript内で利用するフォント名(自分の好きな名前を付ける。systemFontと同じはダメ)、mimeType属性にapplication/x-fontを指定する。
- Embedメタデータタグの直後に指定するClass名(myFont)は何でもOK。
- TextField.embedFontsはtrueにする。
- TextFormat.fontなどに、fontName属性で指定したフォント名を設定する。
いちいちフォントを埋め込んだSWFを作ったり、Flashを立ち上げたりしなくてもフォントを埋め込めるので便利です。ちなみに上記の例では英語フォントを埋め込んでいるので、日本語は表示できません。
よろしければコメントをどうぞ!
匿名希望のコメントはこちらへ
Trackbacks:0
- TrackBack URL for this entry
- https://448.jp/cgi-bin/mt/bnq48cke.cgi/1368
- Listed below are links to weblogs that reference
- Embedメタデータタグでシステムフォントを埋め込む from 448.jp blog