Subject: bug#58098: Improve composition rules for Gumrukhi

From: समीर सिंह Sameer Singh <[email-masked]>
Date: Tue, 27 Sep 2022 01:30:31 +0530

Looks like I was wrong about adding "Gurmukhi" to the doc-strings in the
input method, they do not show up and will also not improve
searchability even if they were there, so here is the revised patch without
it.

On Tue, Sep 27, 2022 at 12:17 AM समीर सिंह Sameer Singh <
[email-masked]> wrote:

>
>
> On Tue, Sep 27, 2022 at 12:13 AM समीर सिंह Sameer Singh <
> [email-masked]> wrote:
>
>> Hi
>> In this patch I have added support for Gurmukhi Addak, Yakash, Udaat etc
>> to improve its composition rules.
>> I have also added the word "Gurmukhi" to the doc-string of punjabi-itrans
>> and punjabi-inscript so that they could be more easily found.
>>
>> Finally I have also added support for chess symbols.
>>
>> Please review the patch, it will be attached in the next mail.
>> Thanks.
>>
>
From a5344e6b827f8db4b4db10f3dacf5587dc199525 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=20=E0=A4=B8=E0=A4=BF?=
 =?UTF-8?q?=E0=A4=82=E0=A4=B9=20Sameer=20Singh?= <[email-masked]>
Date: Tue, 27 Sep 2022 00:03:23 +0530
Subject: [PATCH] Improve Gurmukhi composition rules (Bug#58098)

* lisp/language/indian.el: Improve composition rules for Gurmukhi.

* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Chess Symbols.
---
 lisp/international/fontset.el | 6 ++++--
 lisp/language/indian.el       | 9 +++++----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 99c7848704..23ef17488d 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -300,7 +300,8 @@ font-encoding-charset-alist
 	(ottoman-siyaq-number #x1ed01)
 	(mahjong-tile #x1F000)
 	(domino-tile #x1F030)
-        (emoji #x1F300 #x1F600)))
+        (emoji #x1F300 #x1F600)
+        (chess-symbol #x1FA00 #x1FA67)))
 
 (defvar otf-script-alist)
 
@@ -836,7 +837,8 @@ setup-default-fontset
                     tai-tham
 		    mahjong-tile
 		    domino-tile
-                    emoji))
+                    emoji
+                    chess-symbol))
     (set-fontset-font "fontset-default"
 		      script (font-spec :registry "iso10646-1" :script script)
 		      nil 'append))
diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 407173827f..81b7cbd99b 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -340,23 +340,24 @@ bengali-composable-pattern
 
 (defconst gurmukhi-composable-pattern
   (let ((table
-	 '(("a" . "[\u0A01\u0A02\u0A70]") ; SIGN ADAK BINDI .. BINDI, TIPPI
+	 '(("a" . "[\u0A01\u0A02\u0A70\u0A71\u0A75]") ; SIGN ADAK BINDI .. BINDI, TIPPI, ADDAK, YAKASH
 	   ("A" . "\u0A03")		; SIGN VISARGA
-	   ("V" . "[\u0A05-\u0A14]")	; independent vowel
+	   ("V" . "[\u0A05-\u0A14\u0A72\u0A73]")	; independent vowel
 	   ("C" . "[\u0A15-\u0A39\u0A59-\u0A5E]")	; consonant
 	   ("Y" . "[\u0A2F\u0A30\u0A35\u0A39]") ; YA, RA, VA, HA
 	   ("n" . "\u0A3C")		; NUKTA
 	   ("v" . "[\u0A3E-\u0A4C]")	; vowel sign
 	   ("H" . "\u0A4D")		; VIRAMA
+           ("s" . "\u0A51")		; stress sign
 	   ("N" . "\u200C")		; ZWNJ
 	   ("J" . "\u200D")		; ZWJ
 	   ("X" . "[\u0A00-\u0A7F]"))))	; all coverage
     (indian-compose-regexp
      (concat
       ;; consonant-based syllables, or
-      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?a?A?\\)\\|"
+      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?a?s?v?A?\\)\\|"
       ;; syllables with an independent vowel, or
-      "Vn?\\(?:J?HY\\)?v*n?a?A?\\|"
+      "Vn?\\(?:J?HY\\)?v*n?a?s?A?\\|"
       ;; special consonant form, or
       "JHY\\|"
       ;; any other singleton characters
-- 
2.37.3