Thanks for your responses, they are useful in helping my thought process.
Well, the line may be parsed while rendering, which means you don't have to create area objects, roughly: StringTokenizer tok=new StringTokenizer(...); while( tok.hasMoreTokens ) { String word = tok.nextToken(); renderText(x,y,word); x+=width(word); x+=adjustedSpaceWidth; }
An interesting idea... but hasnt this already been done in more detail in TextLM.getNextBreakPoss? So why should the renderer have to do it again (although in less complexity)? I would rather have layout do this, otherwise this logic would have to live in every renderer.
There is a tradeoff between avoiding recomputing the word width and carrying it around for probably some significant time.
I dont understand this bit fully. Are you saying its inefficient to carry around data items such as dAdjust, TSAdjust, etc? I would definitely say it is better than re-computing them in the renderer.
Chris