Warum kann ich nicht anzeigen, eingebettete fonts in AS3?

Ich gegangen durch alle Themen zum Einbetten von fonts in AS3, die ich finden konnte,ein zweiter versucht, alle Lösungen. Ich bin wahrscheinlich etwas fehlt, klar, aber verstehe ich nicht, was ich Tue, also bitte führe mich in die richtige Richtung. Viele Antworten beinhalten, Flash Builder oder einem anderen Werkzeug, aber ich benutze FlashDevelop. Keine Ahnung ob das zählt.

Habe ich diese Zeile in meiner Main.als:

[Embed(source = "assets/SKA_75_marul_CE_extended.ttf", 
fontName = "SKA_75_marul_CE_extended", 
fontWeight = "bold", 
advancedAntiAliasing = "true", 
mimeType = "application/x-font")] 
public static var SKA_75_marul_CE_extended:String;

Und diese besteht in dem Konstruktor eine erweiterte Sprite-Zeiger genannt.als:

var format:TextFormat = new TextFormat();
format.font = "SKA_75_marul_CE_extended";
format.color = 0xFFCCCC;
format.size = 20;           

var label:TextField = new TextField();
label.defaultTextFormat = format;
label.text = "test";
label.embedFonts = true;
label.antiAliasType = AntiAliasType.ADVANCED;

//label.setTextFormat(format);    --> I tried this too, didn't work...
label.defaultTextFormat = format;
label.x += img.width + 50;
this.addChild(label);

Die einzige Möglichkeit, die ich gefunden habe, um es zu zeigen alles ist, wenn ich schalten Sie embedFonts. Ich habe versucht, die Einbettung von C:/windows/fonts/arial.ttf ohne Erfolg.

Es scheint, dass die Einbettung von Schriftarten ist eine dunkle Kunst wie keine andere, und ich muss zugeben, dass nach 1 Stunde zu kämpfen. Bitte schicken Sie Hilfe.

UPDATE:

Hier ist der funktionierende code, stellt sich heraus, es war aufgrund der mit der richtigen Reihenfolge von Operationen...:

[Embed(source="assets/SKA_75_marul_CE_extended.ttf", 
                fontName = "myFont", 
                mimeType = "application/x-font", 
                fontWeight="normal", 
                fontStyle="normal", 
                unicodeRange="U+0020-U+007E", 
                advancedAntiAliasing="true", 
                embedAsCFF="false")]
        private var myEmbeddedFont:Class;

            var tf:TextFormat = new TextFormat( "myFont", 20,0xffffff );

            var t:TextField     = new TextField;
            t.embedFonts        = true; //very important to set
            t.defaultTextFormat = tf;
            t.text              = text;
            t.x += img.width + 50;
            t.width = 700;
            this.addChild( t );
  • Danke für deine Antwort. "Die richtige Reihenfolge der Operationen" stellte sich heraus, der Schlüssel zu sein
InformationsquelleAutor joon | 2012-04-11
Schreibe einen Kommentar