So, if I use flash.text.TextField, I must use embedded fonts. But after some more experimentation, I have found two other solutions.
1) use rotationZ. The following works, where 'this' is a sprite with a child flash.text.TextField
TweenLite.to(this, 1, {rotationZ:"-=90"});
The problem with this solution is that I cannot figure out how to transformOrigin in AS3.
2) use TextFlowLayout. This works with rotation as follows:
var _point:Point = new Point(320, 460); TweenMax.to(this, 1, {transformAroundPoint:{point:_point, rotation:"-=90"}});
A TextFlowLayout can be constructed as follows, but there are simpler ways to do this using text converters.
var textFlow:TextFlow = new TextFlow(); var para:ParagraphElement = new ParagraphElement(); var span:SpanElement = new SpanElement(); span.text = text; para.addChild(span); textFlow.addChild(para); var sprite:Sprite = new Sprite(); sprite.x = _padding; sprite.y = _padding; var controller:ContainerController = new ContainerController(sprite, _allowedTextWidth, NaN); textFlow.flowComposer.addController(controller); textFlow.flowComposer.updateAllControllers(); addChild(controller.container); _width = _padding * 2 + sprite.width; _height = _padding * 2 + sprite.height;