Embedメタデータタグでシステムフォントを埋め込む

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を立ち上げたりしなくてもフォントを埋め込めるので便利です。ちなみに上記の例では英語フォントを埋め込んでいるので、日本語は表示できません。

よろしければコメントをどうぞ!

匿名希望のコメントはこちらへ

Comment Form

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

この記事はいかがでしたか?

ぜひ共有してみてください。あなたのフィードバックが、私のモチベーションにつながります。

×