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ł :)