From 970bef602e014d0aa4442de975b8fca51c2029ea 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, 10 Feb 2026 04:45:03 +0530 Subject: [PATCH] Improve composition rules for Devanagari script * lisp/language/indian.el (devanagari-composable-pattern): Account for contextual positioning of punctuation signs when preceded by a character. (Bug#80368) Improve the Devanagari composition rules to account for contextual positioning of punctuation signs when preceded by a character. --- lisp/language/indian.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/language/indian.el b/lisp/language/indian.el index 59076faea69..d0373086fe4 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el @@ -308,6 +308,7 @@ environment.")) ("H" . "\u094D") ; HALANT ("s" . "[\u0951\u0952]") ; stress sign ("t" . "[\u0953\u0954]") ; accent + ("D" . "[\u0964\u0965]") ; punctuation sign ("1" . "\u0967") ; numeral 1 ("3" . "\u0969") ; numeral 3 ("N" . "\u200C") ; ZWNJ @@ -316,15 +317,15 @@ environment.")) (indian-compose-regexp (concat ;; syllables with an independent vowel, or - "\\(?:RH\\)?Vn?\\(?:J?HR\\)?v*n?a?s?t?A?\\|" + "\\(?:RH\\)?Vn?\\(?:J?HR\\)?v*n?a?s?t?A?D?\\|" ;; consonant-based syllables, or - "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?a?s?t?A?\\)\\|" + "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?D?\\|v*n?a?s?t?A?D?\\)\\|" ;; special consonant form, or - "JHR\\|" + "JHRD?\\|" ;; vedic accents with numerals, or "1ss?\\|3ss\\|s3ss\\|" ;; any other singleton characters - "X") + "XD?") table)) "Regexp matching a composable sequence of Devanagari characters.")