Loading ...
Sorry, an error occurred while loading the content.

Re: [PATCH] make adding new letters to arabic.c easier

Expand Messages
  • Ali Gholami Rudi
    ... It is probably possible to access the characters Vim prints on the screen; I mean just after shaping (I have to look it up but of course you know better).
    Message 1 of 46 , Jun 1, 2009
    • 0 Attachment
      Bram Moolenaar <Bram@...> wrote:
      > Ali Gholami Rudi wrote:
      > > This patch replaces switch statements in arabic.c with a static array of
      > > struct achars. This makes adding new letters a lot easier and that
      > > usually involves only adding an entry to this array (I've already added
      > > Farsi letters).
      > >
      > > This is also a clean up patch and reduces more than 1k lines. After
      > > applying this patch arabic.h holds only a macro definition. So it is
      > > probably a good idea to remove arabic.h completely and move the trivial
      > > ARABIC_CHAR macro to another header.
      >
      > It's good to see some cleanup work in this area.
      >
      > I wonder how we check for any mistakes. Very few people use this code,
      > thus a mistake may go unnoticed for a long time.
      >
      > Perhaps you can write a test that passes before this change and also
      > after this change? The test could use some kind of table, so that we
      > can see all the combinations are used.

      It is probably possible to access the characters Vim prints on the
      screen; I mean just after shaping (I have to look it up but of course
      you know better). If so, it might be a good idea to use a sample
      Arabic/Farsi text file. The output after shaping the letters can be
      written to another file (as expected this file will contain Unicode
      presentation forms of letters among other chars). It can be kept as
      a reference to indicate the change in behaviour after changing
      arabic.c. Does that look sane?

      By the way, I'm very doubtful if anyone is using farsi.[hc] nowadays.
      After this change Vim will fully support Farsi using utf-8, so you might
      decide to remove it, too.

      Ali

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Ameretat Reith
      On Wed, 08 Oct 2014 08:11:34 +0330 ... For ZWNJ, I did a tiny modification telling `arabic_shape` in one of it s invocations, to separate letters based on
      Message 46 of 46 , Oct 12, 2014
      • 0 Attachment
        On Wed, 08 Oct 2014 08:11:34 +0330
        Ali Gholami Rudi <ali.gholami.rudi@...> wrote:

        > I tested it and it is working wonderfully. The only issue is
        > ZWNJ (unicode 0x200c) and ZWJ (unicode 0x200d); I wonder if
        > the letters before and after these characters can be shaped
        > properly...

        For ZWNJ, I did a tiny modification telling `arabic_shape` in one of
        it's invocations, to separate letters based on previously entered ZWNJ
        character. ZWJ could be treated similarly but I doubt with current
        provided letters which are limited to Arabic and Farsi, there could be a
        use case for ZWJ.

        You can apply `zwnj.0.patch` on a recent vim tarball or `zwnj.1.patch`
        on top of your patch.

        --
        --
        You received this message from the "vim_dev" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php

        ---
        You received this message because you are subscribed to the Google Groups "vim_dev" group.
        To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
        For more options, visit https://groups.google.com/d/optout.
      Your message has been successfully submitted and would be delivered to recipients shortly.