bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#55370: [PATCH] Add support for the Syloti Nagri script


From: समीर सिंह Sameer Singh
Subject: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 19:12:09 +0530

Thank you for reviewing the patch.

I have noticed that when there is no nasal sign in the range of the set-char-table-range function, it is rendered correctly when alone with a consonant or an independent vowel.
But when it is added to the range, it is not displayed correctly, until and unless a composition rule is added for it.

Sometimes for scripts like Syloti Nagri, Sharada and Kaithi these signs are not in a contiguous range with virama and vowel signs (they are far away)
So when I add them to the range, Emacs starts to hang. (Maybe because the range is too big, or there are unnecessary symbols like consonants there)
This is why I had decided to not include them, because they were still rendering fine.

So should I leave them as it is, or make another set-char-table-range that includes only them?

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?

Here too since consonant vowel nasal was not rendering I added the rule, maybe I should remove the "?" after vowel.
(consonant nasal was rendering fine)

On Thu, May 12, 2022 at 12:40 PM Eli Zaretskii <eliz@gnu.org> wrote:
> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]