Abdelrazak Younes wrote:
Dov Feldstern wrote:
Jean-Marc Lasgouttes wrote:
"Dov" == Dov Feldstern <[EMAIL PROTECTED]> writes:


Dov> Hmm, I just came across this yesterday when trying to figure out
Dov> what was going on with bug 3011, and wondered about it. I'm not
Dov> sure if this is what you mean or not, but it might be relevant...

Dov> http://www.lyx.org/trac/browser/lyx-devel/trunk/src/Paragraph.cpp?rev=18599#L446

Yes, what I mean is that in this case we would have to recreate the
structure instead of update it. I do not know how costly it is but
Abdel is confident that it is not a problem.

JMarc


Why do we need that structure at all? Given that our char_type is 32-bits, and we don't use all 32, we could do something like the following: the insets themselves could be stored in a hash table, without storing their positions in that structure. At each position in the paragraph where an inset appears, instead of just the META_INSET character, we store an actual key into the hash table. (From the comment on META_INSET I understand that we don't use any values above 0x20001 --- which means that we have more than enough room for keys to as many insets as we'd like in a single paragraph...).

We have to make sure that these are not proper Unicode symbols.


Yeah, I don't know. I'm just basing this on the comment above. But I can't imagine that there are anywhere near 32-bits worth of unicode symbols...

Then, there's no need of keeping the insets structure in sync with the paragraph itself after every insertion...

This is a very interesting suggestion Dov, I look forward to helping you in the implementation ;-)

That would be great, Abdel! After 1.5.0 (or 1.5.1, depending on how much RTL stuff is still left...)

Abdel.


Dov

Reply via email to