Hello Guys 以下の関数を使用して、実行時に動的なフォント サイズをスケーリングしています。
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
テキストフィールドに外部コンテンツが入力されると、すべてのテキストがテキストフィールドに収まるようにフォントサイズが縮小されます。ここまでの作品。
私の最大の問題は、この関数がテキストフィールドの 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を使用しています
どうもありがとう。