GNU bug report logs - #55370
[PATCH] Add support for the Syloti Nagri script

Previous Next

Package: emacs;

Reported by: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>

Date: Wed, 11 May 2022 15:03:02 UTC

Severity: normal

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55370 in the body.
You can then email your comments to 55370 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Wed, 11 May 2022 15:03:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 11 May 2022 15:03:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] Add support for the Syloti Nagri script
Date: Wed, 11 May 2022 20:31:28 +0530
[Message part 1 (text/plain, inline)]
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.

Please review the patch.
[Message part 2 (text/html, inline)]
[0001-Add-support-for-the-Syloti-Nagri-script.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 07:11:02 GMT) Full text and rfc822 format available.

Message #8 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 10:10:19 +0300
> 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?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 13:43:01 GMT) Full text and rfc822 format available.

Message #11 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 19:12:09 +0530
[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)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 14:02:02 GMT) Full text and rfc822 format available.

Message #14 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 17:01:04 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Thu, 12 May 2022 19:12:09 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> 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.

Example of text that doesn't render correctly?

> 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?

I cannot say, because I don't think I understand the issue.  In
particular, Emacs should never hang due to this stuff.

So my suggestion is to debug this and figure out why it hangs.  Maybe
begin by posting the composition rules that you tried originally, and
let's take it from there.

>  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) 

I don't think I understand this part, either.  Please elaborate.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 15:08:02 GMT) Full text and rfc822 format available.

Message #17 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 20:36:49 +0530
[Message part 1 (text/plain, inline)]
>
> Example of text that doesn't render correctly?
>

For example in tirhuta, when I do this:

;; Tirhuta composition rules
(let ((consonant            "[\x1148F-\x114AF]")
      (nukta                "\x114C3")
      (independent-vowel    "[\x11481-\x1148E]")
      (vowel                "[\x114B0-\x114BE]")
      (nasal                "[\x114BF\x114C0]")
      (virama               "\x114C2"))
  (set-char-table-range composition-function-table
                        '(#x114B0 . #x114BE)
                        (list (vector
                               ;; Consonant based syllables
                               (concat consonant nukta "?\\(?:" virama
consonant nukta "?\\)*\\(?:"
                                       virama "\\|" vowel "*" nukta "?"
nasal "?\\)")
                               1 'font-shape-gstring))))

Notice here, the nasal sign is not included in the range.
And then I type: 𑒅𑓀 𑒆𑒿
It is rendered correctly

But when I do:

;; Tirhuta composition rules
(let ((consonant            "[\x1148F-\x114AF]")
      (nukta                "\x114C3")
      (independent-vowel    "[\x11481-\x1148E]")
      (vowel                "[\x114B0-\x114BE]")
      (nasal                "[\x114BF\x114C0]")
      (virama               "\x114C2"))
  (set-char-table-range composition-function-table
                        '(#x114B0 . #x114C0)
                        (list (vector
                               ;; Consonant based syllables
                               (concat consonant nukta "?\\(?:" virama
consonant nukta "?\\)*\\(?:"
                                       virama "\\|" vowel "*" nukta "?"
nasal "?\\)")
                               1 'font-shape-gstring))))
The range now has the nasal signs.
And then type the above characters: 𑒅𑓀 𑒆𑒿
They are not rendered correctly

But when I include their composition rules:

;; Tirhuta composition rules
(let ((consonant            "[\x1148F-\x114AF]")
      (nukta                "\x114C3")
      (independent-vowel    "[\x11481-\x1148E]")
      (vowel                "[\x114B0-\x114BE]")
      (nasal                "[\x114BF\x114C0]")
      (virama               "\x114C2"))
  (set-char-table-range composition-function-table
                        '(#x114B0 . #x114C0)
                        (list (vector
                               ;; Consonant based syllables
                               (concat consonant nukta "?\\(?:" virama
consonant nukta "?\\)*\\(?:"
                                       virama "\\|" vowel "*" nukta "?"
nasal "?\\)")
                               1 'font-shape-gstring)
                              (vector
                               ;; Nasal vowels
                               (concat independent-vowel nasal "?")
                               1 'font-shape-gstring))))

They are now once more rendered correctly.

So my suggestion is to debug this and figure out why it hangs.  Maybe
> begin by posting the composition rules that you tried originally, and
> let's take it from there.
>

I think I found the problem, this was due to the independent vowel and
nasal rule, I will fix it later.

I don't think I understand this part, either.  Please elaborate.
>

You had said that since the range only contains vowel signs, (consonant +
nasal) rule does not apply, only (consonant + vowel + nasal) will.
I then said that (consonant + nasal) renders fine without a rule, but
(consonant + vowel + nasal) does not, therefore I had to add a rule for
that.

On Thu, May 12, 2022 at 7:31 PM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Thu, 12 May 2022 19:12:09 +0530
> > Cc: 55370 <at> debbugs.gnu.org
> >
> > 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.
>
> Example of text that doesn't render correctly?
>
> > 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?
>
> I cannot say, because I don't think I understand the issue.  In
> particular, Emacs should never hang due to this stuff.
>
> So my suggestion is to debug this and figure out why it hangs.  Maybe
> begin by posting the composition rules that you tried originally, and
> let's take it from there.
>
> >  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)
>
> I don't think I understand this part, either.  Please elaborate.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 16:30:03 GMT) Full text and rfc822 format available.

Message #20 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 19:29:23 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Thu, 12 May 2022 20:36:49 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> For example in tirhuta, when I do this:
> 
> ;; Tirhuta composition rules
> (let ((consonant            "[\x1148F-\x114AF]")
>       (nukta                "\x114C3")
>       (independent-vowel    "[\x11481-\x1148E]")
>       (vowel                "[\x114B0-\x114BE]")
>       (nasal                "[\x114BF\x114C0]")
>       (virama               "\x114C2"))
>   (set-char-table-range composition-function-table
>                         '(#x114B0 . #x114BE)
>                         (list (vector
>                                ;; Consonant based syllables
>                                (concat consonant nukta "?\\(?:" virama
> consonant nukta "?\\)*\\(?:"
>                                        virama "\\|" vowel "*" nukta "?"
> nasal "?\\)")
>                                1 'font-shape-gstring))))
> 
> Notice here, the nasal sign is not included in the range.
> And then I type: 𑒅𑓀 𑒆𑒿
> It is rendered correctly

It is rendered correctly because your rule isn't used.

The rule

                        '(#x114B0 . #x114BE)
                        (list (vector
                               ;; Consonant based syllables
                               (concat consonant nukta "?\\(?:"
			               virama consonant nukta "?\\)* \\(?:"
                                       virama "\\|" vowel "*" nukta "?"
                                       nasal "?\\)")
                               1 'font-shape-gstring))))

says this:

  . find a character C between #x114B0 and #x114BE
  . see if the characters starting one character before C match the
    above regexp
  . if they match, compose them

But your text doesn't include any characters in the range
[\x114B0-\x114BE], so the above rule will never match anything, and
will not cause any composition.

You see the characters composed because the second character in each
par, #x114C0 and #x114BF, is a combining accent, and for those we have
a catch-all rule in composite.el:

  (when unicode-category-table
    (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
		 [nil 0 compose-gstring-for-graphic])))
      (map-char-table
       #'(lambda (key val)
	   (if (memq val '(Mn Mc Me))
	       (set-char-table-range composition-function-table key elt)))
       unicode-category-table))


> But when I do:
> 
> ;; Tirhuta composition rules
> (let ((consonant            "[\x1148F-\x114AF]")
>       (nukta                "\x114C3")
>       (independent-vowel    "[\x11481-\x1148E]")
>       (vowel                "[\x114B0-\x114BE]")
>       (nasal                "[\x114BF\x114C0]")
>       (virama               "\x114C2"))
>   (set-char-table-range composition-function-table
>                         '(#x114B0 . #x114C0)
>                         (list (vector
>                                ;; Consonant based syllables
>                                (concat consonant nukta "?\\(?:" virama
> consonant nukta "?\\)*\\(?:"
>                                        virama "\\|" vowel "*" nukta "?"
> nasal "?\\)")
>                                1 'font-shape-gstring))))
> The range now has the nasal signs.
> And then type the above characters: 𑒅𑓀 𑒆𑒿
> They are not rendered correctly

In this case, the characters that trigger examination of the
composition rules, #x114C0 and #x114BF, _are_ in the range
'(#x114B0 . #x114C0).  However, the preceding characters, #x11484 and
#x11486, are independent-vowel's, and there are no independent-vowel
in the regexp.  So again, the rules will never match.  Except that now
you also replaced the default rule we have for the combining accents,
so what worked before no longer does.

> But when I include their composition rules:
> 
> ;; Tirhuta composition rules
> (let ((consonant            "[\x1148F-\x114AF]")
>       (nukta                "\x114C3")
>       (independent-vowel    "[\x11481-\x1148E]")
>       (vowel                "[\x114B0-\x114BE]")
>       (nasal                "[\x114BF\x114C0]")
>       (virama               "\x114C2"))
>   (set-char-table-range composition-function-table
>                         '(#x114B0 . #x114C0)
>                         (list (vector
>                                ;; Consonant based syllables
>                                (concat consonant nukta "?\\(?:" virama
> consonant nukta "?\\)*\\(?:"
>                                        virama "\\|" vowel "*" nukta "?"
> nasal "?\\)")
>                                1 'font-shape-gstring)
>                               (vector
>                                ;; Nasal vowels
>                                (concat independent-vowel nasal "?")
>                                1 'font-shape-gstring))))
> 
> They are now once more rendered correctly.

As expected, see above: now you do have a regexp that can match, it's
this one:

    (concat independent-vowel nasal "?")

I hope you now understand how to fix the rules.  If not, please ask
more questions and show more examples.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 16:52:01 GMT) Full text and rfc822 format available.

Message #23 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 22:20:15 +0530
[Message part 1 (text/plain, inline)]
Ah! I think I understand now.
Since Emacs had pre defined rules for these characters, they were rendering
fine without my input, but when I had included them in range,
a new rule had to be defined for them, because the previous ones were
overwritten.

For example, this is correct now isn't it?

;; 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
                        '(#xA802 . #xA82C)
                        (list (vector
                               ;; Consonant conjunct based syllables
                               (concat consonant "\\(?:" virama consonant
"\\)+"
                                       vowel "?" nasal "?")
                               1 'font-shape-gstring)
                              (vector
                               ;; Vowels based syllables
                               (concat independent-vowel consonant "?"
virama "?"
                                       vowel "?" nasal "?")
                               1 'font-shape-gstring))))

Here I have included the nasal sign, virama and vowel sign in the range.
I have also added a rule for independent vowels with consonants, virama,
vowel signs and nasal signs so that emacs does not hang, when they appear
together.

On Thu, May 12, 2022 at 9:59 PM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Thu, 12 May 2022 20:36:49 +0530
> > Cc: 55370 <at> debbugs.gnu.org
> >
> > For example in tirhuta, when I do this:
> >
> > ;; Tirhuta composition rules
> > (let ((consonant            "[\x1148F-\x114AF]")
> >       (nukta                "\x114C3")
> >       (independent-vowel    "[\x11481-\x1148E]")
> >       (vowel                "[\x114B0-\x114BE]")
> >       (nasal                "[\x114BF\x114C0]")
> >       (virama               "\x114C2"))
> >   (set-char-table-range composition-function-table
> >                         '(#x114B0 . #x114BE)
> >                         (list (vector
> >                                ;; Consonant based syllables
> >                                (concat consonant nukta "?\\(?:" virama
> > consonant nukta "?\\)*\\(?:"
> >                                        virama "\\|" vowel "*" nukta "?"
> > nasal "?\\)")
> >                                1 'font-shape-gstring))))
> >
> > Notice here, the nasal sign is not included in the range.
> > And then I type: 𑒅𑓀 𑒆𑒿
> > It is rendered correctly
>
> It is rendered correctly because your rule isn't used.
>
> The rule
>
>                         '(#x114B0 . #x114BE)
>                         (list (vector
>                                ;; Consonant based syllables
>                                (concat consonant nukta "?\\(?:"
>                                        virama consonant nukta "?\\)* \\(?:"
>                                        virama "\\|" vowel "*" nukta "?"
>                                        nasal "?\\)")
>                                1 'font-shape-gstring))))
>
> says this:
>
>   . find a character C between #x114B0 and #x114BE
>   . see if the characters starting one character before C match the
>     above regexp
>   . if they match, compose them
>
> But your text doesn't include any characters in the range
> [\x114B0-\x114BE], so the above rule will never match anything, and
> will not cause any composition.
>
> You see the characters composed because the second character in each
> par, #x114C0 and #x114BF, is a combining accent, and for those we have
> a catch-all rule in composite.el:
>
>   (when unicode-category-table
>     (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
>                  [nil 0 compose-gstring-for-graphic])))
>       (map-char-table
>        #'(lambda (key val)
>            (if (memq val '(Mn Mc Me))
>                (set-char-table-range composition-function-table key elt)))
>        unicode-category-table))
>
>
> > But when I do:
> >
> > ;; Tirhuta composition rules
> > (let ((consonant            "[\x1148F-\x114AF]")
> >       (nukta                "\x114C3")
> >       (independent-vowel    "[\x11481-\x1148E]")
> >       (vowel                "[\x114B0-\x114BE]")
> >       (nasal                "[\x114BF\x114C0]")
> >       (virama               "\x114C2"))
> >   (set-char-table-range composition-function-table
> >                         '(#x114B0 . #x114C0)
> >                         (list (vector
> >                                ;; Consonant based syllables
> >                                (concat consonant nukta "?\\(?:" virama
> > consonant nukta "?\\)*\\(?:"
> >                                        virama "\\|" vowel "*" nukta "?"
> > nasal "?\\)")
> >                                1 'font-shape-gstring))))
> > The range now has the nasal signs.
> > And then type the above characters: 𑒅𑓀 𑒆𑒿
> > They are not rendered correctly
>
> In this case, the characters that trigger examination of the
> composition rules, #x114C0 and #x114BF, _are_ in the range
> '(#x114B0 . #x114C0).  However, the preceding characters, #x11484 and
> #x11486, are independent-vowel's, and there are no independent-vowel
> in the regexp.  So again, the rules will never match.  Except that now
> you also replaced the default rule we have for the combining accents,
> so what worked before no longer does.
>
> > But when I include their composition rules:
> >
> > ;; Tirhuta composition rules
> > (let ((consonant            "[\x1148F-\x114AF]")
> >       (nukta                "\x114C3")
> >       (independent-vowel    "[\x11481-\x1148E]")
> >       (vowel                "[\x114B0-\x114BE]")
> >       (nasal                "[\x114BF\x114C0]")
> >       (virama               "\x114C2"))
> >   (set-char-table-range composition-function-table
> >                         '(#x114B0 . #x114C0)
> >                         (list (vector
> >                                ;; Consonant based syllables
> >                                (concat consonant nukta "?\\(?:" virama
> > consonant nukta "?\\)*\\(?:"
> >                                        virama "\\|" vowel "*" nukta "?"
> > nasal "?\\)")
> >                                1 'font-shape-gstring)
> >                               (vector
> >                                ;; Nasal vowels
> >                                (concat independent-vowel nasal "?")
> >                                1 'font-shape-gstring))))
> >
> > They are now once more rendered correctly.
>
> As expected, see above: now you do have a regexp that can match, it's
> this one:
>
>     (concat independent-vowel nasal "?")
>
> I hope you now understand how to fix the rules.  If not, please ask
> more questions and show more examples.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 17:05:01 GMT) Full text and rfc822 format available.

Message #26 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 20:04:28 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Thu, 12 May 2022 22:20:15 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> For example, this is correct now isn't it?

I don't know if it's correct, but I can say that now the regexps are
consistent with the character-range of the rule.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 17:11:01 GMT) Full text and rfc822 format available.

Message #29 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 22:40:02 +0530
[Message part 1 (text/plain, inline)]
Yes it was not correct, this seems more appropriate.

;; 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
                        '(#xA802 . #xA82C)
                        (list (vector
                               ;; Consonant conjunct based syllables
                               (concat independent-vowel "?" consonant
"\\(?:" virama consonant "\\)+"
                                       vowel "?" nasal "?")
                               1 'font-shape-gstring))))

btw this range does not cause emacs to slow down, right?
also should I send separate patches for the syloti nagri, and the fix for
previous scripts, or combine them into one?

On Thu, May 12, 2022 at 10:34 PM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Thu, 12 May 2022 22:20:15 +0530
> > Cc: 55370 <at> debbugs.gnu.org
> >
> > For example, this is correct now isn't it?
>
> I don't know if it's correct, but I can say that now the regexps are
> consistent with the character-range of the rule.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 17:26:02 GMT) Full text and rfc822 format available.

Message #32 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 20:25:18 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Thu, 12 May 2022 22:40:02 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> Yes it was not correct, this seems more appropriate.
> 
> ;; 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
>                         '(#xA802 . #xA82C)
>                         (list (vector
>                                ;; Consonant conjunct based syllables
>                                (concat independent-vowel "?" consonant "\\(?:" virama consonant "\\)+"
>                                        vowel "?" nasal "?")
>                                1 'font-shape-gstring))))
> 
> btw this range does not cause emacs to slow down, right?

It might, because the range is very large, and so any character in the
range #xA802..#xA82C will cause Emacs to try to match the regexp.

So if there's a way of having the rules on fewer characters, that
would be better, even if there will be more rules.

> also should I send separate patches for the syloti nagri, and the fix for previous scripts, or combine them into
> one?

You can combine them into a single patch, just make sure the log
message mentions all the changes.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Thu, 12 May 2022 17:30:02 GMT) Full text and rfc822 format available.

Message #35 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Thu, 12 May 2022 22:58:43 +0530
[Message part 1 (text/plain, inline)]
Ok I will do that, thanks!

On Thu, May 12, 2022 at 10:55 PM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Thu, 12 May 2022 22:40:02 +0530
> > Cc: 55370 <at> debbugs.gnu.org
> >
> > Yes it was not correct, this seems more appropriate.
> >
> > ;; 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
> >                         '(#xA802 . #xA82C)
> >                         (list (vector
> >                                ;; Consonant conjunct based syllables
> >                                (concat independent-vowel "?" consonant
> "\\(?:" virama consonant "\\)+"
> >                                        vowel "?" nasal "?")
> >                                1 'font-shape-gstring))))
> >
> > btw this range does not cause emacs to slow down, right?
>
> It might, because the range is very large, and so any character in the
> range #xA802..#xA82C will cause Emacs to try to match the regexp.
>
> So if there's a way of having the rules on fewer characters, that
> would be better, even if there will be more rules.
>
> > also should I send separate patches for the syloti nagri, and the fix
> for previous scripts, or combine them into
> > one?
>
> You can combine them into a single patch, just make sure the log
> message mentions all the changes.
>
> Thanks.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Sat, 14 May 2022 23:48:02 GMT) Full text and rfc822 format available.

Message #38 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 05:17:07 +0530
[Message part 1 (text/plain, inline)]
I have updated the patch.

1. Wherever the nasal signs are not in range, I have not included them in a
composition rule if they appear alone with a character and left them up to
composite.el.
For eg in Kaithi

- ;; Nasal vowels
- (concat independent-vowel nasal "?")
+ ;; Vowel based syllables
+ (concat independent-vowel nukta "?" virama "?" vowel "?")

2. I have also written composition rules for independent vowels with nukta,
virama, vowel signs etc, so that Emacs does not hang when they are typed
together.

Please review the patch.

On Thu, May 12, 2022 at 10:58 PM समीर सिंह Sameer Singh <
lumarzeli30 <at> gmail.com> wrote:

> Ok I will do that, thanks!
>
> On Thu, May 12, 2022 at 10:55 PM Eli Zaretskii <eliz <at> gnu.org> wrote:
>
>> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
>> > Date: Thu, 12 May 2022 22:40:02 +0530
>> > Cc: 55370 <at> debbugs.gnu.org
>> >
>> > Yes it was not correct, this seems more appropriate.
>> >
>> > ;; 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
>> >                         '(#xA802 . #xA82C)
>> >                         (list (vector
>> >                                ;; Consonant conjunct based syllables
>> >                                (concat independent-vowel "?" consonant
>> "\\(?:" virama consonant "\\)+"
>> >                                        vowel "?" nasal "?")
>> >                                1 'font-shape-gstring))))
>> >
>> > btw this range does not cause emacs to slow down, right?
>>
>> It might, because the range is very large, and so any character in the
>> range #xA802..#xA82C will cause Emacs to try to match the regexp.
>>
>> So if there's a way of having the rules on fewer characters, that
>> would be better, even if there will be more rules.
>>
>> > also should I send separate patches for the syloti nagri, and the fix
>> for previous scripts, or combine them into
>> > one?
>>
>> You can combine them into a single patch, just make sure the log
>> message mentions all the changes.
>>
>> Thanks.
>>
>
[Message part 2 (text/html, inline)]
[0001-Add-support-for-the-Syloti-Nagri-script.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Sun, 15 May 2022 06:17:02 GMT) Full text and rfc822 format available.

Message #41 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 09:16:10 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Sun, 15 May 2022 05:17:07 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> I have updated the patch.
> 
> 1. Wherever the nasal signs are not in range, I have not included them in a composition rule if they appear
> alone with a character and left them up to composite.el.
> For eg in Kaithi
> 
> - ;; Nasal vowels
> - (concat independent-vowel nasal "?")
> + ;; Vowel based syllables
> + (concat independent-vowel nukta "?" virama "?" vowel "?")
> 
> 2. I have also written composition rules for independent vowels with nukta, virama, vowel signs etc, so that
> Emacs does not hang when they are typed together.
> 
> Please review the patch.

Thanks.  I installed this, but please review the composition rules,
because in the Syloti Nagri greeting some characters whose Unicode
general-category property is Mn, which means they are combining
characters, don't compose.  That doesn't feel right to me, but I don't
read this script.  Just go through the greeting with C-f and type
"C-u C-x =" at every cursor position: you will see some of the
characters are shown as "combining", but they don't compose with
surrounding characters.

I didn't look at the other scripts you added, but maybe they, too,
have similar problems.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Sun, 15 May 2022 13:42:01 GMT) Full text and rfc822 format available.

Message #44 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 19:10:50 +0530
[Message part 1 (text/plain, inline)]
I am sorry but I do not see the problem on my end.
Here they look composed as intended.
I have attached a screenshot, please check whether it matches your output.

On Sun, May 15, 2022 at 11:46 AM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Sun, 15 May 2022 05:17:07 +0530
> > Cc: 55370 <at> debbugs.gnu.org
> >
> > I have updated the patch.
> >
> > 1. Wherever the nasal signs are not in range, I have not included them
> in a composition rule if they appear
> > alone with a character and left them up to composite.el.
> > For eg in Kaithi
> >
> > - ;; Nasal vowels
> > - (concat independent-vowel nasal "?")
> > + ;; Vowel based syllables
> > + (concat independent-vowel nukta "?" virama "?" vowel "?")
> >
> > 2. I have also written composition rules for independent vowels with
> nukta, virama, vowel signs etc, so that
> > Emacs does not hang when they are typed together.
> >
> > Please review the patch.
>
> Thanks.  I installed this, but please review the composition rules,
> because in the Syloti Nagri greeting some characters whose Unicode
> general-category property is Mn, which means they are combining
> characters, don't compose.  That doesn't feel right to me, but I don't
> read this script.  Just go through the greeting with C-f and type
> "C-u C-x =" at every cursor position: you will see some of the
> characters are shown as "combining", but they don't compose with
> surrounding characters.
>
> I didn't look at the other scripts you added, but maybe they, too,
> have similar problems.
>
[Message part 2 (text/html, inline)]
[syloti-nagri.png (image/png, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Sun, 15 May 2022 14:24:01 GMT) Full text and rfc822 format available.

Message #47 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 17:23:33 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Sun, 15 May 2022 19:10:50 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> I am sorry but I do not see the problem on my end.
> Here they look composed as intended.
> I have attached a screenshot, please check whether it matches your output.

I mean characters at buffer positions 2685 and 2692.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Sun, 15 May 2022 14:43:02 GMT) Full text and rfc822 format available.

Message #50 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 20:11:28 +0530
[Message part 1 (text/plain, inline)]
They look alright to me.
1. ꠝꠥ (\xA81D\xA825) (buffer positions 2684 and 2685)
C-u C-x = shows
position: 2684 of 3952 (68%), column: 48
            character: ꠝ (displayed as ꠝ) (codepoint 43037, #o124035,
#xa81d)
              charset: unicode (Unicode (ISO10646))
code point in charset: 0xA81D
               script: syloti-nagri
               syntax: w which means: word
             category: .:Base, L:Strong L2R
             to input: type "C-x 8 RET a81d" or "C-x 8 RET SYLOTI NAGRI
LETTER MO"
          buffer code: #xEA #xA0 #x9D
            file code: #xEA #xA0 #x9D (encoded by coding system utf-8-unix)
              display: composed to form "ꠝꠥ" (see below)

Composed with the following character(s) "ꠥ" using this font:
  ftcrhb:-GOOG-Noto Sans Syloti
Nagri-regular-normal-normal-*-40-*-*-*-*-0-iso10646-1
by these glyphs:
  [0 1 43037 46 26 -1 27 28 1 nil]
  [0 1 43045 54 0 -16 1 1 11 nil]
with these character(s):
  ꠥ (#xa825) SYLOTI NAGRI VOWEL SIGN U

Character code properties: customize what to show
  name: SYLOTI NAGRI LETTER MO
  general-category: Lo (Letter, Other)
  decomposition: (43037) ('ꠝ')

2. ꠇꠥ (\xA807\xA825) (buffer positions 2691 and 2692)
C-u C-x = shows
position: 2691 of 3952 (68%), column: 54
            character: ꠇ (displayed as ꠇ) (codepoint 43015, #o124007,
#xa807)
              charset: unicode (Unicode (ISO10646))
code point in charset: 0xA807
               script: syloti-nagri
               syntax: w which means: word
             category: .:Base, L:Strong L2R
             to input: type "C-x 8 RET a807" or "C-x 8 RET SYLOTI NAGRI
LETTER KO"
          buffer code: #xEA #xA0 #x87
            file code: #xEA #xA0 #x87 (encoded by coding system utf-8-unix)
              display: composed to form "ꠇꠥ" (see below)

Composed with the following character(s) "ꠥ" using this font:
  ftcrhb:-GOOG-Noto Sans Syloti
Nagri-regular-normal-normal-*-40-*-*-*-*-0-iso10646-1
by these glyphs:
  [0 1 43015 24 36 -1 37 28 1 nil]
  [0 1 43045 54 0 -16 1 1 11 nil]
with these character(s):
  ꠥ (#xa825) SYLOTI NAGRI VOWEL SIGN U

These outputs seem to show that they are composed properly.

Do they appear the same as the attached screenshots in your end?

On Sun, May 15, 2022 at 7:53 PM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Sun, 15 May 2022 19:10:50 +0530
> > Cc: 55370 <at> debbugs.gnu.org
> >
> > I am sorry but I do not see the problem on my end.
> > Here they look composed as intended.
> > I have attached a screenshot, please check whether it matches your
> output.
>
> I mean characters at buffer positions 2685 and 2692.
>
[Message part 2 (text/html, inline)]
[2684-2685.png (image/png, attachment)]
[2691-2692.png (image/png, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Sun, 15 May 2022 15:20:01 GMT) Full text and rfc822 format available.

Message #53 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 18:19:34 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Sun, 15 May 2022 20:11:28 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> They look alright to me.
> 1. ꠝꠥ (\xA81D\xA825) (buffer positions 2684 and 2685)
> C-u C-x = shows
> position: 2684 of 3952 (68%), column: 48
>             character: ꠝ (displayed as ꠝ) (codepoint 43037, #o124035, #xa81d)
>               charset: unicode (Unicode (ISO10646))
> code point in charset: 0xA81D
>                script: syloti-nagri
>                syntax: w which means: word
>              category: .:Base, L:Strong L2R
>              to input: type "C-x 8 RET a81d" or "C-x 8 RET SYLOTI NAGRI LETTER MO"
>           buffer code: #xEA #xA0 #x9D
>             file code: #xEA #xA0 #x9D (encoded by coding system utf-8-unix)
>               display: composed to form "ꠝꠥ" (see below)
> 
> Composed with the following character(s) "ꠥ" using this font:
>   ftcrhb:-GOOG-Noto Sans Syloti Nagri-regular-normal-normal-*-40-*-*-*-*-0-iso10646-1
> by these glyphs:
>   [0 1 43037 46 26 -1 27 28 1 nil]
>   [0 1 43045 54 0 -16 1 1 11 nil]
> with these character(s):
>   ꠥ (#xa825) SYLOTI NAGRI VOWEL SIGN U

It was because of the font I had installed, which I guess didn't
support some ligatures.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#55370; Package emacs. (Sun, 15 May 2022 15:26:02 GMT) Full text and rfc822 format available.

Message #56 received at 55370 <at> debbugs.gnu.org (full text, mbox):

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55370 <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 20:55:17 +0530
[Message part 1 (text/plain, inline)]
Ah. Okay
Then I think you can close the bug report.

रवि, 15 मई 2022, 8:49 pm को Eli Zaretskii <eliz <at> gnu.org> ने लिखा:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Sun, 15 May 2022 20:11:28 +0530
> > Cc: 55370 <at> debbugs.gnu.org
> >
> > They look alright to me.
> > 1. ꠝꠥ (\xA81D\xA825) (buffer positions 2684 and 2685)
> > C-u C-x = shows
> > position: 2684 of 3952 (68%), column: 48
> >             character: ꠝ (displayed as ꠝ) (codepoint 43037, #o124035,
> #xa81d)
> >               charset: unicode (Unicode (ISO10646))
> > code point in charset: 0xA81D
> >                script: syloti-nagri
> >                syntax: w which means: word
> >              category: .:Base, L:Strong L2R
> >              to input: type "C-x 8 RET a81d" or "C-x 8 RET SYLOTI NAGRI
> LETTER MO"
> >           buffer code: #xEA #xA0 #x9D
> >             file code: #xEA #xA0 #x9D (encoded by coding system
> utf-8-unix)
> >               display: composed to form "ꠝꠥ" (see below)
> >
> > Composed with the following character(s) "ꠥ" using this font:
> >   ftcrhb:-GOOG-Noto Sans Syloti
> Nagri-regular-normal-normal-*-40-*-*-*-*-0-iso10646-1
> > by these glyphs:
> >   [0 1 43037 46 26 -1 27 28 1 nil]
> >   [0 1 43045 54 0 -16 1 1 11 nil]
> > with these character(s):
> >   ꠥ (#xa825) SYLOTI NAGRI VOWEL SIGN U
>
> It was because of the font I had installed, which I guess didn't
> support some ligatures.
>
> Thanks.
>
[Message part 2 (text/html, inline)]

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sun, 15 May 2022 15:41:02 GMT) Full text and rfc822 format available.

Notification sent to समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>:
bug acknowledged by developer. (Sun, 15 May 2022 15:41:02 GMT) Full text and rfc822 format available.

Message #61 received at 55370-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
Cc: 55370-done <at> debbugs.gnu.org
Subject: Re: bug#55370: [PATCH] Add support for the Syloti Nagri script
Date: Sun, 15 May 2022 18:40:10 +0300
> From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> Date: Sun, 15 May 2022 20:55:17 +0530
> Cc: 55370 <at> debbugs.gnu.org
> 
> Ah. Okay
> Then I think you can close the bug report.

Done.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 13 Jun 2022 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 318 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.