[Lazarus] Arabic beta tester for SynEdit needed

Martin lazarus at mfriebe.de
Fri Dec 14 20:33:16 CET 2012


On 13/12/2012 14:39, Martin wrote:
>
> Ok, bad news, I did some more testing myself, and it turns out, that 
> WIndows allocates the extra space (song connection line) just anywhere 
> in the word, or at the end of it, but not always where the ligation is.
>
.....
> So what's next.
> The only way to support this, is to make SynEdit aware of the 
> ligatures. And that is a lot of work, so it will take more time. And I 
> don't yet know when I will schedule it....

Ok, I found a quick way to get a use-able behaviour.

*  it is currently WINDOWS ONLY
* It will NOT be enabled by default in the IDE (but if anyone needs it, 
you can add it for your own projects, or even the IDE)

- define WithSynExperimentalCharWidth  and it should work (need to 
recompile SynEdit package)
- define SynSystemWidthChars for log messages (should there be problems)

- Adds a small slowdown, but hardly noticeable
- not limited to Arabic, should do all languages, if windows does
- according to my tests it works for lines up to 32001 chars. After that 
the OS does not handle the line (SynEdit would need to split it)
   In this case SynEdit behaves (for that line) as if the define was not 
present.
- ligatures are handled as follows.
    There is  no middle caret
    Depending on the caret being before or after (and accordingly 
backspace or delete being used) the first or 2nd char is deleted
   # So it is 2 chars, but any caret move will just be translated into 
skipping the middle pos



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20121214/df6202e0/attachment-0003.html>


More information about the Lazarus mailing list