From fdc687cae42e0eac948bd0968dc083c32326b420 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: Sat, 7 May 2022 16:58:35 +0530 Subject: [PATCH 2/2] Improve Kaithi support in Emacs * lisp/language/indian.el Rephrase the Kaithi documentation to make it less awkward. Add zwj support to Kaithi. * lisp/international/fontset.el (script-representative-chars) Add more chars to Kaithi. (setup-default-fontset) Add Kaithi to the simple scripts. * etc/HELLO Replace spaces with tab in the Kaithi greeting. * etc/NEWS Add two spaces instead of one between sentences in the Kaithi announcement. --- etc/HELLO | 2 +- etc/NEWS | 2 +- lisp/international/fontset.el | 4 ++-- lisp/language/indian.el | 18 ++++++++++-------- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/etc/HELLO b/etc/HELLO index 351e2dc4cd..ac0cb823ea 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -60,7 +60,7 @@ Inuktitut (ᐃᓄᒃᑎᑐᑦ) ᐊᐃ Italian (italiano) Ciao / Buon giorno Javanese (ꦧꦱꦗꦮꦶ) console.log("ꦲꦭꦺꦴ"); -Kaithi (𑂍𑂶𑂟𑂲) 𑂩𑂰𑂧𑂩𑂰𑂧 +Kaithi (𑂍𑂶𑂟𑂲) 𑂩𑂰𑂧𑂩𑂰𑂧 Kannada (ಕನ್ನಡ) ನಮಸ್ಕಾರ Khmer (ភាសាខ្មែរ) ជំរាបសួរ Lakota (Lakȟotiyapi) Taŋyáŋ yahí! diff --git a/etc/NEWS b/etc/NEWS index 36a8329658..d8dc5c2f41 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -707,7 +707,7 @@ script that was used in ancient South Asia. A new input method, *** New language environment "Kaithi". This language environment supports Kaithi or Kayasthi, which was an important writing system of the past mainly used for administrative -purposes. A new input method, 'kaithi', is provided to type text in +purposes. A new input method, 'kaithi', is provided to type text in this script. diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el index 5bfa085b1b..66f5068cf7 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -232,7 +232,7 @@ font-encoding-charset-alist (elymaic #x10FE0) (old-uyghur #x10F70) (brahmi #x11013 #x11045 #x11052 #x11065) - (kaithi #x1108D) + (kaithi #x1108D #x110B0 #x110BD) (mahajani #x11150) (khojki #x11200) (khudawadi #x112B0) @@ -600,7 +600,6 @@ setup-default-fontset (sinhala ,(font-spec :registry "iso10646-1" :otf '(sinh nil (akhn)))) (malayalam ,(font-spec :registry "iso10646-1" :otf '(mlm2 nil (akhn))) ,(font-spec :registry "iso10646-1" :otf '(mlym nil (akhn)))) - (kaithi ,(font-spec :registry "iso10646-1" :otf '(kthi nil (rphf)))) (burmese ,(font-spec :registry "iso10646-1" :otf '(mym2 nil nil)) ,(font-spec :registry "iso10646-1" :otf '(mymr nil nil)) @@ -774,6 +773,7 @@ setup-default-fontset elymaic old-uyghur brahmi + kaithi makasar dives-akuru cuneiform diff --git a/lisp/language/indian.el b/lisp/language/indian.el index 82a392e856..830f3bf8f9 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el @@ -433,18 +433,20 @@ malayalam-composable-pattern 1 'font-shape-gstring)))) ;; Kaithi composition rules -(let ((consonant "[\x1108D-\x110AF]") - (nukta "\x110BA") - (vowel "[\x1108D-\x110C2]") +(let ((consonant "[\x1108D-\x110AF]") + (nukta "\x110BA") + (vowel "[\x1108D-\x110C2]") (anusvara-candrabindu "[\x11080\x11081]") - (virama "\x110B9") - (number-sign "\x110BD") - (number-sign-above "\x110CD") - (numerals "[\x966-\x96F]+")) + (virama "\x110B9") + (number-sign "\x110BD") + (number-sign-above "\x110CD") + (numerals "[\x966-\x96F]+") + (zwj "\x200D")) (set-char-table-range composition-function-table '(#x110B0 . #x110BA) (list (vector - (concat consonant nukta "?\\(?:" virama consonant nukta "?\\)*\\(?:" virama "\\|" vowel "*" nukta "?" anusvara-candrabindu "?\\)") + (concat consonant nukta "?\\(?:" virama zwj "?" consonant nukta "?\\)*\\(?:" + virama zwj "?\\|" vowel "*" nukta "?" anusvara-candrabindu "?\\)") 1 'font-shape-gstring))) (set-char-table-range composition-function-table '(#x110BD . #x110BD) -- 2.36.0