- 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
