[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [emacs-bidi] Re: emacs-bidi - funtional/ready, now what ?



On Wed, Mar 05, 2003 at 10:45:46AM +0100, Alex Schroeder wrote:

> 
> At the time the problem was this:  The display engine moves through
> the buffer character by character and decides how to display it.  This
> is the current architecture, and the display engine is a very delicate
> piece of work, so this is not going to change unless somebody rewrites
> alot of code.
> 
> Therefore, we cannot use existing bidi algorithms, because these
> expect a string instead of a stream of characters.  Using a string,
> one could implement the Unicode or a similar reordering algorithm
> which returned a "visual order" string to display.  But this
> straightforward route is not acceptable if we want to integrate bidi
> at the display engine level.
> 
> We need a piece of code that hooks into the display engine and that
> can return the next character to display, given a position in a
> buffer.  (The important part here is that this will probably not be
> the character at that position when bidi reordering is in effect.)
> This will require looking ahead, looking behind, applying algorithms,
> and caching the result, so that when the display engine moves to the
> next position in the buffer and wants to know what character to
> display, less work is required.
> 
> Anyway, that's the basic problem description.
> 
> It seems that Eli has a stand-alone solution of this piece of code and
> needs to integrate it into the display engine.  That is hairy work.
> If you are interested, ask Eli -- last time he was very willing to
> send his code to parties interested in helping out.
> 

An incremental bidi algorithm is very interesting. I went through the
archives and could not find more information that shed more light on
such an algorithm. Did I miss it ?

Eli, perhaps you will be willing to share this algorithm.

I am researching possible solutions for a bidi aware terminal for
Windows (GPL) and such an algorithm may be very useful.

Regards,
Kamal Dalal