Subject: Re: Improve composition rules for Gumrukhi

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

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 09669d027d59e9434b31ae6bf7cceaf1f518937f 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/leim/quail/indian.el: Improve documentation for punjabi-itrans
and punjabi-inscript.

* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Chess Symbols.
---
 lisp/international/fontset.el | 6 ++++--
 lisp/language/indian.el       | 9 +++++----
 lisp/leim/quail/indian.el     | 4 ++--
 3 files changed, 11 insertions(+), 8 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
diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el
index 431d8369c1..0594ae7beb 100644
--- a/lisp/leim/quail/indian.el
+++ b/lisp/leim/quail/indian.el
@@ -82,7 +82,7 @@ "\\''"
     (quail-define-package "punjabi-itrans" "Punjabi" "PnjIT" t "Punjabi ITRANS"))
 (quail-define-indian-trans-package
  indian-pnj-itrans-v5-hash "punjabi-itrans" "Punjabi" "PnjIT"
- "Punjabi transliteration by ITRANS method.")
+ "Punjabi (Gurmukhi) transliteration by ITRANS method.")
 
 (if nil
     (quail-define-package "gujarati-itrans" "Gujarati" "GjrIT" t "Gujarati ITRANS"))
@@ -631,7 +631,7 @@ inscript-tml-keytable
 (quail-define-inscript-package
  indian-pnj-base-table inscript-dev-keytable
  "punjabi-inscript" "Punjabi" "PnjIS"
- "Punjabi keyboard Inscript.")
+ "Punjabi (Gurmukhi) keyboard Inscript.")
 
 (if nil
     (quail-define-package "gujarati-inscript" "Gujarati" "GjrIS" t "Gujarati keyboard Inscript"))
-- 
2.37.3