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

Re: [putty]Re: PuTTY Bidi - final points



Nadim Shaikli <shaikli at yahoo dot com> wrote:
>>>> Yes.  PuTTY doesn't currently support Unicode combining characters.
>>> 
>>> Ouch !!  I would guess we can simply ask for that "wishlist" item to
>>> be elevated from a medium priority to maximum (unless someone is
>>> willing to shed some light on what is needed to make it happen).
>> 
>> You can ask, but I can't guarantee any of us can make it happen soon.
> 
> Ahmad (do please CC the putty mailing-list on your replies) has noted
> that he is willing to look into this given some much needed guidance.

This is a _very_ complicated piece of work, I'm afraid. It basically
requires the whole of the terminal code to be redesigned:

 - the structure used to store the current screen data needs to be
   much bigger, so that additional per-character information such as
   combining characters can be stored.

 - there needs to be a _compressed_ form, to be used for storing
   scrollback; lines get compressed when they're transferred from
   the main screen tree into the scrollback tree, and are
   decompressed on demand when the user actually scrolls back. This
   way the total memory usage of PuTTY doesn't increase by a
   constant factor as a result of the change, and may actually drop.

I doubt that anyone except me has the depth of knowledge of the
terminal.c code to make a really good job of this change, and I'm
afraid it isn't currently very high up my priority list, so we may
have hit a serious impasse here.

(Just so this is perfectly clear: all of the above is still true no
matter whether we limit ourselves to 2 combining characters per cell
or not.)

>> I think ICU's licence is probably OK , but you will need to get an OK
>> from Simon for that (and whether we're happy to embed that in PuTTY).
>> The licence looks like MIT:
>> 
>> http://oss.software.ibm.com/cvs/icu/~checkout~/icu/license.html
> 
> Can we remove the "probably" from the above statement :-)  If ICU is
> deemed acceptable we can start stripping down its code to simply
> extract the Bidi functions, but again we need the proper OK to go
> ahead.  Simon, can you please comment.

That's a very strange licence! The wording is MIT-like, but the `no
promotion' clause at the end looks more like BSD.

I'm unconvinced about this, I'm afraid. That promotion clause looks
horribly like a GPL incompatibility to me, and one reason I like the
MIT licence is that it's fully GPL-compatible.

Cheers,
Simon
-- 
Simon Tatham         "A defensive weapon is one with my finger on the
<anakin at pobox dot com>    trigger. An offensive weapon is one with yours."