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