See http://wiki.mozilla.org/Gecko:LineBreakerAPI for a suggestion. The currently interface is unworkable because it doesn't take account of complex context; it can't handle Thai reasonably, for example, but really it couldn't do UAX#14 well either. When we have complex line breaking to do, the current interface is also inefficient because it can only return at most one linebreak opportunity per call and it would be difficult to keep state from one call to the next.
I'm actually thinking seriously of adding this interface to nsILineBreaker with an implementation based on the current linebreaker code and then rolling this into the textframe patch. It fits well with the new textrun construction code, which is already basically paragraph-at-a-time, and we can store the computed linebreak opportunities into the textrun, which means some changes to the textrun API (mostly, simplification). Might as well do this now, I think. Rob _______________________________________________ dev-tech-layout mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-layout

