Matt Barr
Matt Barr

Reputation: 484

Actionscript 3.0 Embed Font - Text Not Appearing

I am creating dynamic TextFields in actionscript 3.0. Like many others, my text disappears when I set .embedFonts = true;

ArialSlim is embedded and exported for actionscript. I have successfully tested with trace(Font.enumerateFonts());

Interestingly enough, when I comment out the embed line (as shown below), the font works properly.

Alternatively, .setTextFormat(); also works properly without the .embedFonts line.

So my questions is, why? Will I run into any issues in this case?

var divArray = new Array();
var x_Lbl_Array:Array = new Array();

var entries:int = 10;

var labelFormat:TextFormat = new TextFormat();
var arial:Font = new ArialSlim();    

labelFormat.font = arial.fontName;
labelFormat.size = 10;

var xVar:int = 0;

for(var loop:int = 0; loop < entries; loop++){
    x_Lbl_Array[loop] = new TextField();

    //x_Lbl_Array[loop].embedFonts = true;
    x_Lbl_Array[loop].antiAliasType = AntiAliasType.NORMAL;
    x_Lbl_Array[loop].defaultTextFormat = labelFormat;

    x_Lbl_Array[loop].x = xVar;
    x_Lbl_Array[loop].y = 165;
    x_Lbl_Array[loop].text = "test";

    mc.addChild(x_Lbl_Array[loop]);
    xVar++;
}

Edit: I just ran this code from frame 1 with .embedFonts = true; and it worked...

Maybe I should mention that I'm having trouble running this code in a method inside an instantiated actionscript class. The class is located in an external .as file. Does this help answer my question?

Upvotes: 3

Views: 2684

Answers (2)

Matt Barr
Matt Barr

Reputation: 484

It turns out that I at some point clicked "TLF (DF4)" in the outline format options for my embedded font. When I corrected this, and chose "Classic (DF3)," it fixed my problem.

I guess what I find to be really weird is that the font was showing properly without .embedFonts being set to true

Thank you, Daniel. I appreciate the help.

Upvotes: 1

Daniel
Daniel

Reputation: 35684

I tried your code and it worked for me (with the embedded font)

check if you have all the characters included. You can either set the character range, or create a textfield that has all the characters.

Upvotes: 1

Related Questions