Не надо создавать несколько сообщений подряд, надо исправить последнее в теме.
Что-то код слишком громоздкий. Мой вариант:

Код:
function getSize (txt:TextField):Object {
var bmp:BitmapData = new BitmapData (Math.ceil (txt._width), Math.ceil (txt._height), true, 0x00);
var bmpW:BitmapData = new BitmapData (1, bmp.height, true, 0x00);
var bmpH:BitmapData = new BitmapData (bmp.width, 1, true, 0x00);
bmp.draw (txt);
var offsetW:Number = 0;
var offsetH:Number = 0;
var i:Number = bmp.width;
while (i > 0 && !bmp.hitTest (new Point (0, 0), 1, bmpW, new Point (i, 0), 0)) {
i--;
}
offsetW = i;
i = 0;
while (i < bmp.width && !bmp.hitTest (new Point (0, 0), 1, bmpW, new Point (i, 0), 0)) {
i++;
}
offsetW -= i - 2;
////
i = bmp.height;
while (i > 0 && !bmp.hitTest (new Point (0, 0), 1, bmpH, new Point (0, i), 0)) {
i--;
}
offsetH = i;
i = 0;
while (i < bmp.height && !bmp.hitTest (new Point (0, 0), 1, bmpH, new Point (0, i), 0)) {
i++;
}
offsetH -= i - 2;
return {w:offsetW, h:offsetH};
}
var o:Object = getSize (txt);
trace (o.w + " " + o.h);