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

Re: PuTTy CAN shape now

--- ahmad khalifa <ahmadkhalifa at hotmail dot com> wrote:
> since noone seemed to be helping me much, i took the liberty of taking VIM's 
> arabic shaping
> code, and stuck it into PuTTY... the authors as the code says are Nadim 
> Shaikli and Isam Bayazidi..
> if the authors have any problem with that, i'll remove the code (now, i know 
> how shaping is done)
> and probably rewrite it again...

I have no problem with you (or anyone else) using the code - but I highly
recommend you replace it with M.Sameer's code since it is a much better
piece of code and is much more logical, etc.  The vim code was our first
attempt at what needed to be done and lots was learned since then.

> i have a few points though to the authors...
> - Combinations = Ligatures = Lam Alef ... ???

In certain instances you need to combine two characters into a single
visual character.  The LAA, for instance, is made up of Lam + Alef.

> - there is a problem with a_LAM when its not isolated, either way it doesnt 
> get translated to
>   Form-B, i think the second parameter of the function A_firstc_laa() is the 
> problem...
>   i think i call it with a wrong value... Can u tell me whats the composing 
> char..?? or maybe you
>   can explain arabic_shape() 's params...?

Again, unless you are adamant about vim's code, I recommend using M.Sameer's

> anyway, i read on the mailing list archives that the author of friBidi 
> wouldnt let us use it, so i
> wrote a function that just flips any 0x0600 chars in place....

Not sure what you mean here.  Fribidi does the Bidirectionality (and does
NOT shape yet - the next release (end of March) will ISA).

> only a few small things are left to deal with...
> - char spacing is messed up... does any1 know anything about that...?

You might want to produce some screenshots to get a better feel for what
you mean.

> - a problem with Lam... doesnt get translated to Form-B and stays 0x0644...

If its isolated that's OK - as long as things "look" ok then we are fine.
Keep in mind that all of this is strictly for visual inspection only.

> - cursor position doesnt change when i use the arrows... is it a PuTTy 
> thing..??

Not sure - try it without your patch and with and see if you can pin-point
a difference in reaction.

> - when typing the same char repeatedly, it doesnt shape... when i force a 
> redraw (ex. minimise and maximise) it shapes..

I'm guessing you will need to force a redraw on each character to flush
out its visual buffer (that's what I needed to do in VIM, but maybe PuTTY
has a better way to do things).

> - someone to test it...

Sure, please upload a binary somewhere and I'd be more than happy to help
out with some testing as _should_ others ;-)

> - do we contact PuTTy's author now or do we test it first...?

We should make sure the shaping is fully in our control (ie. we have disabled
it) and we need to supply him with a patch (more later on how to do this)
then we'll talk to him again.

> - do we get a CVS account, and commit this stuff..??

Yup, send an email (to M.Elzubeir, CC me please) with your encrypted password


using the username that you received when you registered.

> - do we get to change the ToDo list...?? :)))

Once all is done we will.  Come to think of it the wiki needs to include
your name and Musab's :-)

> - the code is a bit messy and needs to be cleaned up...

Clean away then.

> - do we need to add #define and #ifdef to the code, or do we leave arabic 
> turned on all the time (ask PuTTy's author)

We need to add a button (I'm guessing) so the user enables it or not (for
Bidi at least).  I think the shaping should be light weight enough to where
it would not make a difference since all non-arabic characters will fall

> btw, im new here and dont know who to contact about CVS, and the ToDo...

All such questions should go to 'contact -at- Arabeyes.org'; for CVS
help though read-up on the CVS-howto,



 - Nadim

Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.