<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 08/12/2012 14:06, Zaher Dirkey
      wrote:<br>
    </div>
    <blockquote
cite="mid:CABKDQHxp5FUT98WXe0W2m5ETFcOje9u=R7kek0xoO0dh4o9Bkw@mail.gmail.com"
      type="cite">
      <div dir="ltr"><font face="tahoma,sans-serif">From the first
          trying, Wow it works :D, but i need more tests.<br>
        </font></div>
    </blockquote>
    <br>
    Main question at current are the ligatures, with the long line.<br>
    <br>
    1) Acceptable?<br>
    <br>
    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)<br>
    (At least windows, with extra-char-spacing=1)<br>
    <br>
    <br>
    <blockquote
cite="mid:CABKDQHxp5FUT98WXe0W2m5ETFcOje9u=R7kek0xoO0dh4o9Bkw@mail.gmail.com"
      type="cite">
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On Sat, Dec 8, 2012 at 3:35 PM, Zaher
          Dirkey <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:parmaja@gmail.com" target="_blank">parmaja@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr"><font face="tahoma,sans-serif">Hi, <br>
                Good feature for me, but my question (Off Topic), why
                you interested in this feature while there is no many
                Arabic/RTL Lazarus users?<br>
                <br>
                For me, I will try to test it, and i like to look at the
                code too.<br>
              </font>
              <div class="gmail_extra">
                <div>
                  <div class="h5"><br>
                    <br>
                    <div class="gmail_quote">On Fri, Dec 7, 2012 at
                      12:53 AM, Martin <span dir="ltr"><<a
                          moz-do-not-send="true"
                          href="mailto:lazarus@mfriebe.de"
                          target="_blank">lazarus@mfriebe.de</a>></span>
                      wrote:<br>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">A while ago, I started
                        adding support for mixed LTR/RTL  text in
                        SynEdit.<br>
                        <br>
                        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).<br>
                        uf8 LTR/RTL markers are not supported. This is
                        absolute basics only.<br>
                        <br>
                        Unfortunately with RTL came other unicode
                        features, that sofar no one had missed. Those
                        are at the very least<br>
                        - combining codepoints<br>
                        - ligatures<br>
                        - maybe reordering of codepoints.<br>
                        - other?<br>
                        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.<br>
                        <br>
                        The current state is:<br>
                        - combining: Only Arabic has been done (but they
                        should be complete). So none Arabic RTL will not
                        work.<br>
                        - ligatures: see below<br>
                        - reordering: not researched, hopefully
                        optional.<br>
                        <br>
                        "work"<br>
                        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.<br>
                        <br>
                        ligatures:<br>
                        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)<br>
                        <br>
                        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<br>
                        This will slightly widen the script, ignore
                        that, its temporary.<br>
                        Requires a proper monospaced font. (Deja vu
                        mono)<br>
                        <br>
                        What it will do: It will tell windows, that the
                        ligature is expected to cover 2 display cells.<br>
                        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.<br>
                        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<br>
                        <br>
                        ------------------<br>
                        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".<br>
                        <br>
                        If so, then:<br>
                        - it can be fixed to work without the extra char
                        spacing<br>
                        - on gtk, carbon, qt (well at least I hope)<br>
                        - combining can be added for other languages.<br>
                        <br>
                        If not, well I don't know yet.<br>
                        <br>
                      </blockquote>
                    </div>
                    <br>
                  </div>
                </div>
                <div dir="ltr"><span style="font-family:courier
                    new,monospace">Best Regards<span class="HOEnZb"><font
                        color="#888888"><br>
                        Zaher Dirkey</font></span></span></div>
                <br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        <div dir="ltr"><span style="font-family:courier new,monospace">I
            am using last revision of Lazarus, FPC 2.6 on Windows XP SP3<br>
            <br>
            Best Regards<br>
            Zaher Dirkey</span></div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">--
_______________________________________________
Lazarus mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>