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.
_______________________________________________
emacs-bidi mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-bidi