emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 965c5e0231c: Fix rendering of Traditional Mongolian script


From: Eli Zaretskii
Subject: emacs-29 965c5e0231c: Fix rendering of Traditional Mongolian script
Date: Sun, 23 Apr 2023 10:05:37 -0400 (EDT)

branch: emacs-29
commit 965c5e0231c859eaa78f372c538a5478f6bd0ad1
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]