I guess if we could have something that lays out basic text properly (e.g. bold/italics do not mess everything) and a Paragraph>>composeAll: that works, it would be a huge plus.
The main issue IMV is that we keep on recreating Paragraphs and that whole logic should be revised. Phil 2013/2/15 Stephan Eggermont <step...@stack.nl>: > Sean wrote: > Denis Kudriashov wrote >>> Do you think that presenting any letter with real object (not just >>> character) is sufficient for modern computers? I think not. Of course such >>> model significantly simplified all logic around text layout stuff. But I >>> think it is too expensive. > > In a case study on designing a document editor in 'Design Patterns (1995)' , > there is a reference to a thesis from 1993 showing that using Flyweight > or sharing commonality makes it fast enough. I assume that was c++, but > 20 years of hardware improvements should be enough. > > Paul R Calder. Building User Interfaces with Lightweight Objects. > PhD Thesis, Stanford University, 1993 > >>I don't know how efficient it would be, but how much text do we really >>layout at once? If it makes the code simpler and more beautiful, then it >>would be my starting point. Doing otherwise is premature optimization. > > One book at a time. In multiple columns, with tables. But we don't need > to show more than one screenful at a time. > > I noticed the current strategy seems to be to make a very simple model > work, and add abstractions late. That means a lot of refactorings will be > needed. Cocoa fundamental abstractions are TextStorage, LayoutManager, > TextContainer and TextView. LayoutManager uses TypeSetter(s) to layout > glyphs in lines according to the dimensions of one or more text container > objects in one or more text views, directs the GlyphGenerator to translate > characters in the textstorage into glyphs... > > Stephan > >