all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: "समीर सिंह Sameer Singh" <lumarzeli30@gmail.com>
Cc: 55370@debbugs.gnu.org
Subject: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 10:10:19 +0300	[thread overview]
Message-ID: <83wnerp6p0.fsf@gnu.org> (raw)
In-Reply-To: <CAOR1sLyxUj9WfhCX+8kWJhPqGsULanU7ynQLhAuts4TA=3WY8Q@mail.gmail.com> (lumarzeli30@gmail.com)

> From: समीर सिंह Sameer Singh
>  <lumarzeli30@gmail.com>
> Date: Wed, 11 May 2022 20:31:28 +0530
> 
> This time I have added support for the Syloti Nagri script.
> I also had to separate the consonant conjunct syllables and the non consonant conjunct syllables
> composition rules this time around, because if they were together, Emacs would hang whenever I put a
> cursor on a Syloti Nagri word or tried to edit it.

Thanks.

There's something strange in the composition rules:

> +;; Syloti Nagri composition rules
> +(let ((consonant            "[\xA807-\xA80A\xA80C-\xA822]")
> +      (independent-vowel    "[\xA800\xA801\xA803-\xA805]")
> +      (vowel                "[\xA802\xA823-\xA827]")
> +      (nasal                "[\xA80B]")
> +      (virama               "[\xA806\xA82C]"))
> +  (set-char-table-range composition-function-table
> +                        '(#xA806 . #xA806)
> +                        (list (vector
> +                               ;; Consonant conjunct based syllables
> +                               (concat consonant "\\(?:" virama consonant "\\)+"
> +                                       vowel "?" nasal "?")
> +                               1 'font-shape-gstring)
> +                              (vector
> +                               ;; Nasal vowels
> +                               (concat independent-vowel nasal "?")
> +                               1 'font-shape-gstring)))

This set of ruled is triggered by U+A806, and should match a regexp
starting from one character before U+A806.  However, the second rule,
i.e.

> +                               ;; Nasal vowels
> +                               (concat independent-vowel nasal "?")
> +                               1 'font-shape-gstring)))

has 'nasal' ("[\xA80B]") as its second character, and 'nasal' will
never match U+A806.  So this rule will never match, right?

> +  (set-char-table-range composition-function-table
> +                        '(#xA823 . #xA827)
> +                        (list (vector
> +                               ;; Non Consonant conjunct based syllables
> +                               (concat consonant vowel "?" nasal "?")
> +                               1 'font-shape-gstring))))

Similarly here: this rule will never match if 'vowel' isn't present,
because the second character of the matching sequence _must_ be a
vowel, since that is what triggers the composition rule in the first
place.  Am I missing something?

I see similar issues with the composition rules we installed for other
old Indian scripts; could you please review them with the above
comments in mind and see which ones need to be amended?





  reply	other threads:[~2022-05-12  7:10 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-11 15:01 bug#55370: [PATCH] Add support for the Syloti Nagri script समीर सिंह Sameer Singh
2022-05-12  7:10 ` Eli Zaretskii [this message]
2022-05-12 13:42   ` समीर सिंह Sameer Singh
2022-05-12 14:01     ` Eli Zaretskii
2022-05-12 15:06       ` समीर सिंह Sameer Singh
2022-05-12 16:29         ` Eli Zaretskii
2022-05-12 16:50           ` समीर सिंह Sameer Singh
2022-05-12 17:04             ` Eli Zaretskii
2022-05-12 17:10               ` समीर सिंह Sameer Singh
2022-05-12 17:25                 ` Eli Zaretskii
2022-05-12 17:28                   ` समीर सिंह Sameer Singh
2022-05-14 23:47                     ` समीर सिंह Sameer Singh
2022-05-15  6:16                       ` Eli Zaretskii
2022-05-15 13:40                         ` समीर सिंह Sameer Singh
2022-05-15 14:23                           ` Eli Zaretskii
2022-05-15 14:41                             ` समीर सिंह Sameer Singh
2022-05-15 15:19                               ` Eli Zaretskii
2022-05-15 15:25                                 ` समीर सिंह Sameer Singh
2022-05-15 15:40                                   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83wnerp6p0.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=55370@debbugs.gnu.org \
    --cc=lumarzeli30@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.