Zitat von Hans-Peter Diettrich <[email protected]>: > Martin Friebe schrieb: > > > Then how to you handle double width chars? This si one of the problems I > > still have to address. > > Even in a proportional font, some chars (Chinese, and other) have twice > > the width of a normal char. They will 2 positions in the grid. > > Actually it is the same issue as tabs. > > Are these characters inside the Unicode BMP?
AFAIK: yes. All chinese characters are in some fonts double wide characters. >[...] > That's why keep both the characters and their text attributes in the > line buffer, passed to the painter. I started with separate regions, > describing the begin and length of tokens, selection etc., but it turned > out that the handling of overlapping regions is accomplished easier by a > direct mapping of the text attributes to every single character. The > text attributes then can be used to e.g. determine, whether the mouse is > over a (character in a) hyperlink. What means 'text attributes to every single character'? How much memory is needed for a 10mb text? >[...] > One such case is the docking manager, where I still don't see a chance > to implement an different manager separately from Controls.pp. The > anchor docking sample in fact lacks the drag-dock functionality, because > the implementation would require access to and modification of the > existing code base, hidden in the implementation section of Controls.pp. > An extraction of the hidden classes leads to circular unit references > all over, protected methods are inaccessible from other classes etc. The anchor docking lacks d&d because my plan is: first finish the restore layout and get manual things stable. Then implement d&d. But at the moment I have other priorities than docking. If the d&d properties/methods are not sufficient in the LCL then they can be extended. >[...] Mattias _______________________________________________ Lazarus mailing list [email protected] http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
