private function createPages(text:String, format:String, width:int, height:int):Array
{
var lines:Array = [];
var flow:TextFlow = TextConverter.importToFlow(text, format);
var factory:TextFlowTextLineFactory = new TextFlowTextLineFactory();
factory.compositionBounds = new Rectangle(0, 0, width, 10000);
factory.createTextLines(lines.push, flow);
var pages:Array = [];
var page:UIComponent;
var dy:int = 0;
for (var i:int = 0; i < lines.length; i++) {
var line:TextLine = lines[i] as TextLine;
if (dy+line.y+line.descent > height) {
page = null;
dy = -(line.y-line.ascent);
}
if (page == null) {
page = new UIComponent();
page.y = dy;
pages.push(page);
}
page.addChild(line);
}
return pages;
}
转: http://www.bachie.us/?p=221