Hello fellow flexcoders.
I'm stuck at a critical point while developing my application.
Here's the context :

A user can add and style text to a postcard (being a Canvas).
The text can then be modified and rotated.
The rotation is handled by a library performing well on pictures.

The text is a UITextField object, the style is a TextFormat Object.
Both are handled in a global container (extending the Canvas class).

The fonts are embedded in a font library.

On creation, it seems that the font is not loaded (the text is still shown with 
the usual boring police). Therefore , the font is not embedded and rotation 
makes the text disappear.

I'm not sure what my problem exactly is, and this is why I'm calling for your 
help & knowledge.

bellow is the definition of the font library :

[Bindable]
public final class FontsLibrary
{
//      public static var fontLib : Array = new Array(); doesn't work
                
        /**
         * The verdana font from the assets library
         */
        [Embed(source="../assets/fonts/verdana.TTF" , fontName="verdana" , 
mimeType='application/x-font-truetype')]
        public static var verdana:Class;
                
        //assigning font to static attribute
//      public static var verdana : FontAsset = new LCVerdana ();
//      fontLib.push (verdana) ;

.....




Bellow is the constructor of my text element

public function LCTextElementField( AText : String = "" , AColor : int = -1 , 
ASize : int = -1)
{
        super();
        
        var afont : Font = new FontsLibrary.RAVIE();
                
        this.elementText = new UITextField();   
        textFormat = new TextFormat();

        if (AColor != -1)
        { this.textFormat.color = AColor ; }
        
        if (ASize != -1)
        { this.textFormat.size = ASize ; }
        else
        { this.textFormat.size = 30 ; }
                
        this.textFormat.font = afont.fontName; 
                        
        this.elementText.defaultTextFormat = textFormat ;
                        
        this.elementText.embedFonts = true;
        this.elementText.autoSize = TextFieldAutoSize.LEFT; 
        this.elementText.antiAliasType = AntiAliasType.ADVANCED ;
                        
        if (AText == "" )
        { this.elementText.text = "Lorem ipsum dolor sit amet"; }
        else
        { this.elementText.text = AText ; }

this.addChild(this.elementText);                                
}

As you can see the code is pretty basic. At the moment, I set the police to 
RAVIE, so I can notice rapidly if the changes have been set.

Any help, advice, anything would be of great use. I'm running short on ideas.

Reply via email to