GNU bug report logs -
#55370
[PATCH] Add support for the Syloti Nagri script
Previous Next
Full log
Message #11 received at 55370 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
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 <at> gnu.org> wrote:
> > From: समीर सिंह Sameer Singh
> > <lumarzeli30 <at> 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?
>
[Message part 2 (text/html, inline)]
This bug report was last modified 3 years and 8 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.