Osadzanie fontów w aplikacji actionscript 3

ActionScript 3 pozwala na osadzanie (embedding) fontów bezpośrednio w aplikacji. Co by się zbytnio nie rozwodzić oto działające rozwiązanie:

public class Epeiron2 extends Sprite {
[Embed(source="c:/windows/fonts/AstalametPure.ttf", fontFamily="AstalametPure")]
 
private var fontTemp:String;
 
var format:TextFormat = new TextFormat();
format.font='AstalametPure';
 
textField1:TextField=new TextField();
textField1.defaultTextFormat=format;
}

Zauważcie, że w wersji beta metatag Embded był umieszczany poza klasą, w sekcji package. Obecnie jednak należy go umieszczać tak jak na przykładzie powyżej.

Linia:

private var fontTemp:String;

może budzić zdziwienie ale jest konieczna właśnie w tym miejscu – ponieważ osadzony plik jest przypisywany do najbliższej zmiennej.

Można także zabudować font, nie podając ścieżki do niego, ale jego nazwę. Oczywiście taka nazwa musi być zarejestrowana w systemie:

[Embed(systemFont="Astalamet Pure", fontFamily="AstalametPure")]

O banialukach w stylu “osadzanie fontów powoduje zwiększenie objętości pliku swf” nie będę pisał :)