From 965c5e0231c859eaa78f372c538a5478f6bd0ad1 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 23 Apr 2023 17:04:56 +0300 Subject: [PATCH] Fix rendering of Traditional Mongolian script * lisp/international/characters.el: Set punctuation syntax for Po characters from the Mongolian block * lisp/international/fontset.el (setup-default-fontset): Add fontset setting for Traditional Mongolic. * lisp/language/misc-lang.el (composition-function-table): Add rules for Traditional Mongolic. (Bug#63028) --- lisp/international/characters.el | 10 ++++++++++ lisp/international/fontset.el | 2 ++ lisp/language/misc-lang.el | 14 ++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/lisp/international/characters.el b/lisp/international/characters.el index 518436bd961..9aea5e27063 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el @@ -695,6 +695,16 @@ with L, LRE, or LRO Unicode bidi character type.") (set-case-syntax c "_" tbl) (setq c (1+ c))) + ;; Traditional Mongolian + (setq c #x1800) + (while (<= c #x180A) + (set-case-syntax c "." tbl) + (setq c (1+ c))) + (setq c #x11660) + (while (<= c #x1166C) + (set-case-syntax c "." tbl) + (setq c (1+ c))) + ;; Coptic ;; There's no Coptic category. However, Coptic letters that are ;; part of the Greek block above get the Greek category, and those diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el index eb1c7f53d36..84790adf7c1 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -648,6 +648,8 @@ (nil . "MuleArabic-1") (nil . "MuleArabic-2") (nil . "ISO8859-6")) + (mongolian ,(font-spec :registry "iso10646-1" + :otf '(mong nil (init medi fina)))) (hebrew ,(font-spec :registry "iso10646-1" :script 'hebrew) (nil . "ISO8859-8")) diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el index fe283e8769c..5a7867f14e8 100644 --- a/lisp/language/misc-lang.el +++ b/lisp/language/misc-lang.el @@ -339,6 +339,20 @@ Coptic language using the Coptic script is supported in this language environment.")) '("Misc")) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Traditional Mongolian +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(set-char-table-range + composition-function-table + '(#x1820 . #x18AF) + (list (vector "[\u200C\u200D][\u1820-\u18AF][\u200C\u200D]?" + 1 'font-shape-gstring) + (vector "[\u1820-\u18AF][\u200C\u200D]" 0 'font-shape-gstring) + (vector "[\u1820-\u18AF\u202F\u180B-\u180F\u1807]+" + 0 'font-shape-gstring))) + + (provide 'misc-lang) ;;; misc-lang.el ends here -- 2.39.5