emacs-diffs
[Top][All Lists]
Advanced

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

master 2286fbceab 1/2: Add support for the Adlam script (bug#58111)


From: Eli Zaretskii
Subject: master 2286fbceab 1/2: Add support for the Adlam script (bug#58111)
Date: Wed, 28 Sep 2022 08:50:38 -0400 (EDT)

branch: master
commit 2286fbceaba49473e94011d2c37549f38304497a
Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
Commit: Eli Zaretskii <eliz@gnu.org>

    Add support for the Adlam script (bug#58111)
    
    * lisp/language/misc-lang.el ("Adlam"): New language environment.
    Add composition rules for Adlam. Add sample text and input method.
    * lisp/international/fontset.el (script-representative-chars):
    Support Adlam.
    * lisp/leim/quail/misc-lang.el ("adlam"): New input method.
    
    * etc/HELLO: Add Adlam greeting.
    * etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  9 ++--
 lisp/international/fontset.el |  2 +-
 lisp/language/misc-lang.el    | 22 ++++++++++
 lisp/leim/quail/misc-lang.el  | 97 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 126 insertions(+), 5 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index d73465318c..18c5ee5e54 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -24,6 +24,7 @@ Non-ASCII examples:
 
 LANGUAGE (NATIVE NAME) HELLO
 ---------------------- -----
+Adlam (𞤀𞤣𞤤𞤢𞤥)  𞤅𞤢𞤤𞤢𞥄𞤥
 Amharic (አማርኛ) ሠላም
 Arabic (العربيّة)      السّلام عليكم
 Armenian (հայերեն)     Բարև ձեզ
diff --git a/etc/NEWS b/etc/NEWS
index e70f9be546..8cb4de4d06 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1229,10 +1229,10 @@ to edit such sequences by allowing point to "enter" the 
sequence.
 *** Support for many old scripts and writing systems.
 Emacs now supports and has language-environments and input methods for
 several dozens of old scripts that were used in the past for various
-languages in South and South-East Asia.  For each such script Emacs
-now has font-selection and character composition rules, a language
-environment, and an input method.  The newly-added scripts and the
-corresponding language environments are:
+languages.  For each such script Emacs now has font-selection and
+character composition rules, a language environment, and an input
+method.  The newly-added scripts and the corresponding language
+environments are:
 
 Tai Tham script and the Northern Thai language environment
 Brahmi script and language environment
@@ -1259,6 +1259,7 @@ Grantha script and language environment
 Kharoshthi script and language environment
 Lepcha script and language environment
 Meetei Mayek script and language environment
+Adlam script and language environment
 
 ---
 *** The "Oriya" language environment was renamed to "Odia".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index ff2411eb86..3cd7765ef8 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -295,7 +295,7 @@
        (wancho #x1e2c0)
         (nag-mundari #x1E4D0 #x1E4EB #x1E4F0)
        (mende-kikakui #x1E810)
-       (adlam #x1E900)
+       (adlam #x1E900 #x1E943)
        (indic-siyaq-number #x1ec71)
        (ottoman-siyaq-number #x1ed01)
        (mahjong-tile #x1F000)
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index 3d5b68f84b..bd1edb9185 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -269,6 +269,28 @@ using the Kharoṣṭhī script.")))
                                   modifier "*")
                           1 'font-shape-gstring))))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Adlam
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(set-language-info-alist
+ "Adlam" '((charset unicode)
+           (coding-system utf-8)
+           (coding-priority utf-8)
+           (input-method . "adlam")
+           (sample-text . "Adlam (𞤀𞤣𞤤𞤢𞤥)       𞤅𞤢𞤤𞤢𞥄𞤥")
+           (documentation . "\
+Fulani language and its script Adlam are supported
+in this language environment.")))
+
+;; Adlam composition rules
+(set-char-table-range
+ composition-function-table
+ '(#x1E900 . #x1E95F)
+ (list (vector
+        "[\x1E900-\x1E95F]+"
+        0 'font-shape-gstring)))
+
 (provide 'misc-lang)
 
 ;;; misc-lang.el ends here
diff --git a/lisp/leim/quail/misc-lang.el b/lisp/leim/quail/misc-lang.el
index 0c4a0d4ce4..6bafa6b5fb 100644
--- a/lisp/leim/quail/misc-lang.el
+++ b/lisp/leim/quail/misc-lang.el
@@ -1180,5 +1180,102 @@
  (".||" ?𐩗)
  (".=" ?𐩘))
 
+(quail-define-package
+ "adlam" "Adlam" "𞤀" t "Adlam input method.
+
+ `\\=`' is used to switch levels instead of Alt-Gr.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("1"  ?𞥑)
+ ("`!" ?𞥞)
+ ("2"  ?𞥒)
+ ("3"  ?𞥓)
+ ("4"  ?𞥔)
+ ("5"  ?𞥕)
+ ("6"  ?𞥖)
+ ("7"  ?𞥗)
+ ("8"  ?𞥘)
+ ("9"  ?𞥙)
+ ("0"  ?𞥐)
+ ("q"  ?𞤹)
+ ("Q"  ?𞤗)
+ ("`q" ?𞥆)
+ ("w"  ?𞤱)
+ ("W"  ?𞤏)
+ ("`w" ?𞥈)
+ ("`W" ?𞥉)
+ ("e"  ?𞤫)
+ ("E"  ?𞤉)
+ ("`e" ?𞥅)
+ ("r"  ?𞤪)
+ ("R"  ?𞤈)
+ ("t"  ?𞤼)
+ ("T"  ?𞤚)
+ ("y"  ?𞤴)
+ ("Y"  ?𞤒)
+ ("`y" ?𞤰)
+ ("`Y" ?𞤎)
+ ("u"  ?𞤵)
+ ("U"  ?𞤓)
+ ("i"  ?𞤭)
+ ("I"  ?𞤋)
+ ("o"  ?𞤮)
+ ("O"  ?𞤌)
+ ("p"  ?𞤨)
+ ("P"  ?𞤆)
+ ("a"  ?𞤢)
+ ("A"  ?𞤀)
+ ("`a" ?𞥄)
+ ("s"  ?𞤧)
+ ("S"  ?𞤅)
+ ("`s" ?𞥃)
+ ("`S" ?𞤡)
+ ("d"  ?𞤣)
+ ("D"  ?𞤁)
+ ("`d" ?𞤯)
+ ("`D" ?𞤍)
+ ("f"  ?𞤬)
+ ("F"  ?𞤊)
+ ("g"  ?𞤺)
+ ("G"  ?𞤘)
+ ("`g" ?𞥀)
+ ("`G" ?𞤞)
+ ("h"  ?𞤸)
+ ("H"  ?𞤖)
+ ("`h" ?𞥇)
+ ("j"  ?𞤶)
+ ("J"  ?𞤔)
+ ("k"  ?𞤳)
+ ("K"  ?𞤑)
+ ("`k" ?𞤿)
+ ("`K" ?𞤝)
+ ("l"  ?𞤤)
+ ("L"  ?𞤂)
+ ("z"  ?𞥁)
+ ("Z"  ?𞤟)
+ ("`z" ?𞥂)
+ ("`Z" ?𞤠)
+ ("x"  ?𞤽)
+ ("X"  ?𞤛)
+ ("c"  ?𞤷)
+ ("C"  ?𞤕)
+ ("`c" #x200C) ; ZWNJ
+ ("v"  ?𞤾)
+ ("V"  ?𞤜)
+ ("`v" ?𞥊)
+ ("b"  ?𞤦)
+ ("B"  ?𞤄)
+ ("`b" ?𞤩)
+ ("`B" ?𞤇)
+ ("n"  ?𞤲)
+ ("N"  ?𞤐)
+ ("`n" ?𞤻)
+ ("`N" ?𞤙)
+ ("m"  ?𞤥)
+ ("M"  ?𞤃)
+ ("`m" ?𞥋)
+ ("`/" ?𞥟))
+
 (provide 'misc-lang)
 ;;; misc-lang.el ends here



reply via email to

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