Auto Resize Dynamic Text Font as3

10,882

give this a try if you're still looking: (this assumes your TextField is set to "multiline" and is only 1 line high when it inits)

var smallLimit:int = 10;
var format:TextFormat = new TextFormat();

tf.text = "THIS IS WAY TOO LONG";

var testSize:int = 200;
while( testSize > smallLimit ){

    updateFormat( testSize );
    //trace( tf.numLines  );

    if( tf.numLines > 1 ){
        testSize--;
    }else{
        testSize = smallLimit;
    }
}

function updateFormat(size:int):void{
    format.size = size;
    tf.setTextFormat( format );
}
Share:
10,882
echez
Author by

echez

Updated on June 04, 2022

Comments

  • echez
    echez almost 2 years

    I have dynamic text field that must be a fixed width and height.

    The actual text that will populate the dynamic text field is a variable.

    What I would like to do is to reduce the font size if the text does not completely display within the text field's dimensions.

    Any ideas on how I can accurately perform this?

    Also, I am using AS 3.