From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Newsgroups: gmane.emacs.bugs Subject: bug#55370: [PATCH] Add support for the Syloti Nagri script Date: Sun, 15 May 2022 19:10:50 +0530 Message-ID: References: <83wnerp6p0.fsf@gnu.org> <83bkw2q28v.fsf@gnu.org> <837d6qpvdo.fsf@gnu.org> <831qwyptr7.fsf@gnu.org> <83sfpeoe81.fsf@gnu.org> <83zgjjjp79.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000c3d9a805df0d104c" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30231"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 55370@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun May 15 15:42:12 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nqEVg-0007h7-3m for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 15 May 2022 15:42:12 +0200 Original-Received: from localhost ([::1]:42964 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqEVe-0005e2-Nu for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 15 May 2022 09:42:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58172) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqEVV-0005bV-Vx for bug-gnu-emacs@gnu.org; Sun, 15 May 2022 09:42:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54895) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nqEVV-0002pk-ND for bug-gnu-emacs@gnu.org; Sun, 15 May 2022 09:42:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nqEVV-0002oQ-Kx for bug-gnu-emacs@gnu.org; Sun, 15 May 2022 09:42:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 May 2022 13:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55370 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 55370-submit@debbugs.gnu.org id=B55370.165262209910780 (code B ref 55370); Sun, 15 May 2022 13:42:01 +0000 Original-Received: (at 55370) by debbugs.gnu.org; 15 May 2022 13:41:39 +0000 Original-Received: from localhost ([127.0.0.1]:48792 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nqEV9-0002no-Gt for submit@debbugs.gnu.org; Sun, 15 May 2022 09:41:39 -0400 Original-Received: from mail-qk1-f179.google.com ([209.85.222.179]:33757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nqEV8-0002nb-1y for 55370@debbugs.gnu.org; Sun, 15 May 2022 09:41:38 -0400 Original-Received: by mail-qk1-f179.google.com with SMTP id bs17so10664877qkb.0 for <55370@debbugs.gnu.org>; Sun, 15 May 2022 06:41:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HRuBGSPneBbGDRpOZH5XoYAoGdHsdLK5hukzt2irmvo=; b=B9Qx1T6CLoJ1HFFq9SrhLMYXDguc4pduEcEbEKF0aDBJ0KPeNwIAVOCjZ21BZGNXZz RMMAvavfF3GK3lvKz446hY38o7tICXIwlPZO8KQpxYCAqUZuztV31Z7iO93Mo5et9JT5 jgyeVy7HmNviyxfIqwBZy8XpM4ZnosUr/2AyvsC/ntPmPR250bWfTxDC36KidXCBg0AZ pkziEka9snmsMV9+amWPEsIwMr4T5FhX2/viMAjZ7eBw53tz3+LdW822tvZDGhbY5Orc pE5W85Lu7aqdjPYvLR+aKyzAc7mkchRJYLSDysesx4y0Dytvw4dkQxbIcnG78aQ6oON2 Z3+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HRuBGSPneBbGDRpOZH5XoYAoGdHsdLK5hukzt2irmvo=; b=bFqL0by6w9Yg1jsZLJXmHtj/93Ne+oHwzIbCVyLhG0AuvZGEj7xP7FxefjmdgH7Co+ oByRsfALsdju9eGKa3WN/VjW6/2ymCn7z2/QJa8dHWzToJ0MZjrJa0VvSuvF40H40RGH AyzFn8QbiFPhOAQcFZlpIogWz1S1OclxXz4PJYzivCsaz7WLCip6DPaQW5DNg9mgihYC x2/AkIm6/vRonvujAQFudHAstt4kaHBa2p6P6ydsckeF+FgaTqDV8U9EdLOjICl5gfOg VdiSoFt9GLpiiYsv4stFNzrPUupJ8mtxz1ON56FhUkHLC6cuOyv0zrNpGKO4SyYnFlcl 0EoQ== X-Gm-Message-State: AOAM532w0MCqNmTG0rwRCv/q0a7WccBcN3IEAhlPc4s1hy6QKXjUgdcx 92eQqTHeFWoFpapTPkyJy/F/rRMpKHWJkF30wFA= X-Google-Smtp-Source: ABdhPJwTLuXQninkeuU4Bq8580BB+h2nUvdJvSZ38EA0qRoqjVoUF9fjUx4maWzgH3dQUNwqBYx1u5QQAqZ6QJ2ixWk= X-Received: by 2002:a05:620a:4708:b0:6a0:42da:a46f with SMTP id bs8-20020a05620a470800b006a042daa46fmr9438861qkb.469.1652622092371; Sun, 15 May 2022 06:41:32 -0700 (PDT) In-Reply-To: <83zgjjjp79.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:232312 Archived-At: --000000000000c3d9a805df0d104c Content-Type: multipart/alternative; boundary="000000000000c3d9a605df0d104a" --000000000000c3d9a605df0d104a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 wrote: > > From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82= =E0=A4=B9 Sameer Singh > > Date: Sun, 15 May 2022 05:17:07 +0530 > > Cc: 55370@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 =3D" 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. > --000000000000c3d9a605df0d104a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I am sorry but I do not see the problem on my end.
Here they look composed as intended.
I have attached a sc= reenshot, please check whether it matches your output.

<= div class=3D"gmail_quote">
On Sun, May= 15, 2022 at 11:46 AM Eli Zaretskii <eli= z@gnu.org> wrote:
> From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4= =BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@gmail.com>
> Date: Sun, 15 May 2022 05:17:07 +0530
> Cc: 55370@d= ebbugs.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 "?" v= owel "?")
>
> 2. I have also written composition rules for independent vowels with n= ukta, virama, vowel signs etc, so that
> Emacs does not hang when they are typed together.
>
> Please review the patch.

Thanks.=C2=A0 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.=C2=A0 That doesn't feel right to me, but= I don't
read this script.=C2=A0 Just go through the greeting with C-f and type
"C-u C-x =3D" at every cursor position: you will see some of the<= br> characters are shown as "combining", but they don't compose w= ith
surrounding characters.

I didn't look at the other scripts you added, but maybe they, too,
have similar problems.
--000000000000c3d9a605df0d104a-- --000000000000c3d9a805df0d104c Content-Type: image/png; name="syloti-nagri.png" Content-Disposition: attachment; filename="syloti-nagri.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l37cg6530 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 XP14SmsAAAAASUVORK5CYII= --000000000000c3d9a805df0d104c--