Flex/AS3 embed font
Immer wieder habe ich die Situation, dass ich in Flex eine bestimmte Schriftart einbetten möchte. Gute und einfache Lösungen sind recht schwer zu finden, obwohl immerwieder viele danach suchen.
Hier meine kleine Lösungshilfe:
Als erstes bettet man die Schriftart am besten mit eingeschränktem Zeichensatz ein, sonst verschwendet man ziemlich viel Speicher (Beispiel für swf Größenunterschied: 224kB oder 33 kB). Diese unicodeRange bezieht sich auf Buchstaben, Zahlen und einige gebräuchliche Sonderzeichen.
[code lang="as3"]
[Embed(systemFont="Helvetica", fontName="Helvetica",
mimeType="application/x-font",
unicodeRange="U+0040-U+00FF,U+0030-U+0039,U+003A-U+0040")]
private var FontHelvetica : Class;
[...]
public function registerFont():void {
Font.registerFont(FontHelvetica);
}
[/code]
Später im code setzt man dann einfach nur noch das Textformat:
[code lang="as3"]
var format : TextFormat = new TextFormat();
format.font = "Helvetica";
format.color = 0xFF00FF;
format.size = 10;
format.bold = true;
textfield.defaultTextFormat = format;
[/code]
Viel Spaß beim Weiterentwickeln.