18 Apr 2011 16:54
Re: Bidirectional editing in Emacs -- main design decisions
Eli Zaretskii <eliz <at> gnu.org>
2011-04-18 14:54:50 GMT
2011-04-18 14:54:50 GMT
> Date: Fri, 09 Oct 2009 23:18:00 +0200 > From: Eli Zaretskii <eliz <at> gnu.org> > Cc: > > While there's a lot of turf to be covered yet, I thought I'd publish > the main design decisions up to this point. I don't know if someone follows these design decisions, but in case people are interested, here's an update: > 6. Reordering of strings from `display' properties > ... > Another, perhaps more serious implication of this design decision > is that strings from `display' properties are reordered separately > from the surrounding buffer text. IOW, production of glyphs from > reordered buffer text is stopped when a `display' property is > found, the string that is the property's value is reordered and > displayed, and then the rest of text is reordered and its glyphs > produced. After careful thought, I changed my mind about this part. Whenever the redisplay iterator finds text that is covered by a `display' text property or by an overlay with a `display', `before-string', or `after-string' property, it will not stop reordering. Instead, it will treat the entire run of text covered by the text property or overlay as a single atomic entity, and will reorder it as if it were a single special character whose name in Unicode is OBJECT REPLACEMENT CHARACTER (u+FFFC). This character's bidirectional category (Other Neutral) and other properties are designed so that it can stand for display features such as embedded images, and in particular it is(Continue reading)
RSS Feed