BLOG ENTRY

埋め込みフォントを単体の一括管理クラスで行う[as3]

helvetica_on_as

ActionScript3で使用する全フォントの埋め込みを単体の一括管理クラスで行う場合。

まず、使用するクラスのみで埋め込む場合はこんな感じ。

HelloWorldHelvetica.as
[sourcecode language=”actionscript3″]
package {
import flash.display.*;
import flash.text.*;

public class HelloWorldHelvetica extends Sprite {

[Embed(source = "C:/WINDOWS/Fonts/Helvetica LT 55 Roman.ttf", fontFamily = "MyHelvetica")]
private var myhelvetica:Class;

public function HelloWorldHelvetica() {
var t:TextField = new TextField();
t.embedFonts = true;
t.htmlText = ‘<font face="MyHelvetica">Hello World</font>’;
addChild(t);
}
}
}
[/sourcecode]

$mxmlc HelloWorldHelvetica.as

実作業時は、フォント埋め込みはどこかのファイルでまとめて行う場合が多い。
使用する全フォントの埋め込みを単体の一括管理クラスで行う場合(複数のクラスで同一の埋め込みフォントを使い回す場合)はこんな感じで。

FontEmbedder.as
[sourcecode language=”actionscript3″]
package {
public class FontEmbedder {
[Embed(source = "C:/WINDOWS/Fonts/Helvetica LT 55 Roman.ttf", fontFamily = "MyHelvetica")]
private var Helvetica:Class;
}
}
[/sourcecode]
HelloWorld.as
[sourcecode language=”actionscript3″]
package {
import flash.display.Sprite;
import flash.text.TextField;

public class HelloWorld extends Sprite {
FontEmbedder; //参照によって強制的にフォントとクラスがコンパイルされる

public function HelloWorld() {
var t:TextField = new TextField();
t.embedFonts = true;
t.htmlText = ‘<font face="MyHelvetica">Hello World</font>’;
addChild(t);
}
}
}
[/sourcecode]

$mxmlc HelloWorld.as

さらにクラスレベルでのフォント埋め込みだとこんな感じで。

MyHelvetica.as
[sourcecode language=”actionscript3″]
package {
import flash.display.Sprite;
import mx.core.FontAsset;

[Embed(source = "C:/WINDOWS/Fonts/Helvetica LT 55 Roman.ttf", fontFamily = "MyHelvetica")]
public class MyHelvetica extends FontAsset {
}
}
[/sourcecode]
MyHelloWorld.as
[sourcecode language=”actionscript3″]
package {
import flash.display.Sprite;
import flash.text.TextField;
public class MyHelloWorld extends Sprite {
MyHelvetica; //参照によって強制的にフォントとクラスがコンパイルされる

public function MyHelloWorld () {
var t:TextField = new TextField();
t.embedFonts = true;
t.htmlText = ‘<font face="MyHelvetica">My Hello World</font>’;
addChild(t);
}
}
}
[/sourcecode]

$mxmlc MyHelloWorld.as

一番多い使い方としては、font-familyをformatして指定する形だと思うのでこんな感じだと思われ。

SampleHelloWorld.as
[sourcecode language=”actionscript3″]
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;

public class SampleHelloWorld extends Sprite {
MyHelvetica; //参照によって強制的にフォントとクラスがコンパイルされる

public function SampleHelloWorld () {
var format:TextFormat = new TextFormat();
var t:TextField = new TextField();
format.font = ‘MyHelvetica’;
t.embedFonts = true;
t.defaultTextFormat = format;
t.text = ‘Hello World’;
addChild(t);
}
}
}
[/sourcecode]

$mxmlc SampleHelloWorld.as

終わり。

WRITE COMMENT


(required)


(required)


(required)

MENU

veltica creative of twitter