22 Nov 02:30
Re: state of BIDI within stable GNU emacs (UTF8) nikud
Martin Duerst <duerst <at> it.aoyama.ac.jp>
2005-11-22 01:30:06 GMT
2005-11-22 01:30:06 GMT
At 13:53 05/11/21, Eli Zaretskii wrote: >I once wrote here the reason: Pango, like fribidi, is a batch-mode >reordering library: you hand it a buffer with text and it returns it >reordered for display. > >By contrast, Emacs needs a reordering function that could be called >repeatedly, and will on every call return the next character in the >visual order. This is because the Emacs display engine walks the >buffer one character at a time and decides how to display it based on >data structures built by the application. It looks to me like you could just use fribidi or so, with an additional layer that caches the batch-mode results and returns them one-by-one. You'd want to cache quite a bit of stuff even in a character walking implementation, I guess, although there are probably some shortcuts you can make (haven't thought about that yet in detail). >I wrote such a sequential version of bidi reordering, and it was >integrated into redisplay on a special branch of Emacs CVS. But no >one had time to debug it and expand it, unfortunately. Can you give a definitive pointer (ideally URI) to that branch? Thanks! Regards, Martin.
> Just for the sake of clarity and hygiene. In general, if I'm reading a
> chunk of code, I'd rather not be distracted by code that really should
> be in a distinct test harness. Plus, would your bidi code not be of use
> to anybody outside of emacs? Looks to me like it might be a useful
RSS Feed