This procedure doesn't work for me (CS4, OS X). I get an empty TextField. But I found a way to make it work. Instead of this: [ Embed ... ] private static var EMBEDDED_FONT:String; I do this: [ Embed... ] private static var EMBEDDED_FONT:Class; (Note: Class instead of string) Then, assuming that statement is in a class called Assets, when I want to use that font in another class, I do this: import flash.text.TextField; import flash.text.TextFormat; import flash.text.Font; //<-- note this import ... var t : TextField = new TextField(); var f : TextFormat = new TextFormat(); var font : Font = new Assets.EMBEDDED_FONT(); f.font = font.fontName; //<-- note this difference t.embedFonts = true; t.text = "test"; t.setTextFormat( f );