2011-06-30 33 views
2

你好,大家好我使用下面的函數來擴展在運行時動態字體大小這樣的:AS3縮放文本運轉,導致衝突框文本HTML格式

function scaleTextToFitInTextField(txt : TextField):void{ 
var f:TextFormat = txt.getTextFormat(); 
f.size = (txt.width > txt.height) ? txt.width : txt.height; 
txt.setTextFormat(f); 

while (txt.textWidth > txt.width - 4 || txt.textHeight > txt.height - 6){    
    f.size = int(f.size) - 1; 
    txt.setTextFormat(f); 
} 
} 

scaleTextToFitInTextField(tf); 
// tf is a dynamic multiline textfield on stage with dimension 150x150 

的想法是,當文本框填充與外部內容,它會減小字體大小以適應所有文本到texfield中。迄今爲止這項工作。

我現在最大的問題是這個函數會干擾textfield的html格式。例如;我加載外部HTML:

<font size="-2">this text is way</font><br><font size="+5">TOO BIG</font><br>to fit in this box, but I'll give it a try! 

隨着應用到文本框的規模功能,HTML格式(尺寸變化)不工作,但如果我去除水垢的功能,它的作用。

理想情況下,我希望能夠縮放字體,如果文字太多以至於不適合並且能夠應用html格式。

有人請幫忙。我正在使用CS5

非常感謝。

<![CDATA[<font size="-2">this text is way</font><br><font size="+5">TOO BIG</font><br>to fit in this box, but I'll give it a try!]]> 

否則,你可以嘗試在雪碧的包裝TextField和縮放雪碧代替:

回答