On 08/12/2012 14:06, Zaher Dirkey wrote:
From the first trying, Wow it works :D, but i need more tests.

Main question at current are the ligatures, with the long line.

1) Acceptable?

2) BEhaves as described: the editor treads the long-line, as the 2nd char in the ligature, (if you delete it, it will delete the correct half of the ligature)
(At least windows, with extra-char-spacing=1)




On Sat, Dec 8, 2012 at 3:35 PM, Zaher Dirkey <[email protected] <mailto:[email protected]>> wrote:

    Hi,
    Good feature for me, but my question (Off Topic), why you
    interested in this feature while there is no many Arabic/RTL
    Lazarus users?

    For me, I will try to test it, and i like to look at the code too.


    On Fri, Dec 7, 2012 at 12:53 AM, Martin <[email protected]
    <mailto:[email protected]>> wrote:

        A while ago, I started adding support for mixed LTR/RTL  text
        in SynEdit.

        The actual display of RTL text now works (that is, if you have
        some arabic chars in the text, they display RTL, and the caret
        moves accordingly / caret between RTL and LTR always means
        caret at LTR).
        uf8 LTR/RTL markers are not supported. This is absolute basics
        only.

        Unfortunately with RTL came other unicode features, that sofar
        no one had missed. Those are at the very least
        - combining codepoints
        - ligatures
        - maybe reordering of codepoints.
        - other?
        They are tasks of different extent. And I need to find out
        what is mandatory, and what optional. So I can then decide,
        what does fit into my schedule.

        The current state is:
        - combining: Only Arabic has been done (but they should be
        complete). So none Arabic RTL will not work.
        - ligatures: see below
        - reordering: not researched, hopefully optional.

        "work"
        means, that the text is stable (except ligatures, only with
        workaround), and does not expand/shrink, when selecting text,
        or moving the caret. Also that the caret will be at the
        correct pos. A newly inserted char will be where the caret
        was. Can be tested by hitting the "end" key, and see if the
        caret is at the end of visual text. If SynEdit thinks the text
        is shorter/longer than the actual painted display, then there
        is an issue.

        ligatures:
        The editor does not handle ligatures yet. So it calculates 2
        screen cells, when only one is needed. However a stable
        "workaround" exists (currently depends on config)

        On windows and windows only (others will be done, if that
        turns out to be any good). In Options / Editor / Display / set
        "Extra CHAR spacing" to 1
        This will slightly widen the script, ignore that, its temporary.
        Requires a proper monospaced font. (Deja vu mono)

        What it will do: It will tell windows, that the ligature is
        expected to cover 2 display cells.
        Display: Arabic text is a script, glyphs are connected by a
        continuous line. The ligature will be in one cell, the next
        cell will be empty, except for the connecting line.
        Editing: The caret can be at either cell. Each cell stands for
        one of the 2 chars in the ligature. So the 2nd char can be
        edited, if the caret is at the empty cell

        ------------------
        I need feedback from people who actually speak (or at least
        read and write) Arabic. I need to know, if the above situation
        is "useable".

        If so, then:
        - it can be fixed to work without the extra char spacing
        - on gtk, carbon, qt (well at least I hope)
        - combining can be added for other languages.

        If not, well I don't know yet.


    Best Regards
    Zaher Dirkey




--
I am using last revision of Lazarus, FPC 2.6 on Windows XP SP3

Best Regards
Zaher Dirkey



--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to