From 58a0c2e9c3df70079f0839a5c204b6ee29f2d087 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 17 Apr 2022 20:36:36 +0300 Subject: [PATCH] Improve the support for the Brahmi script * lisp/leim/quail/indian.el ("brahmi"): New input method. * lisp/language/indian.el ("Brahmi"): Add sample-text and input-method. (Bug#54914) * etc/NEWS: Mention the brahmi input method. * etc/HELLO: Add a Brahmi greeting. --- etc/HELLO | 4 +- etc/NEWS | 3 +- lisp/language/indian.el | 3 +- lisp/leim/quail/indian.el | 140 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 147 insertions(+), 3 deletions(-) diff --git a/etc/HELLO b/etc/HELLO index da9b388f363..dbbcc0493bf 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -27,9 +27,11 @@ Arabic (العربيّة) السّلام عليكم Armenian (հայերեն) Բարև ձեզ Belarusian (беларуская) Прывітанне Bengali (বাংলা) নমস্কার +Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻) 𑀦𑀫𑀲𑁆𑀢𑁂 + Braille ⠓⠑⠇⠇⠕ Burmese (မြန်မာ) မင်္ဂလာပါ -C printf ("Hello, world!\n"); +C printf (orange red"Hello, world!\n"); Cham (ꨌꩌ) ꨦꨤꩌ ꨦꨁꨰ Cherokee (ᏣᎳᎩ ᎦᏬᏂᎯᏍᏗ) ᎣᏏᏲ / ᏏᏲ Comanche /kəˈmæntʃiː/ Haa marʉ́awe diff --git a/etc/NEWS b/etc/NEWS index a59c9691b22..ec56839c064 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -622,7 +622,8 @@ This uses the Tai Tham script, whose support has been enhanced. *** New language environment "Brahmi". This language environment supports Brahmi, which is a historical -script that was used in ancient South Asia. +script that was used in ancient South Asia. A new input method, +'brahmi', is provided to type text in this script. * Changes in Specialized Modes and Packages in Emacs 29.1 diff --git a/lisp/language/indian.el b/lisp/language/indian.el index ef095ddc3b4..c3d59b6f770 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el @@ -130,7 +130,8 @@ South Indian language Malayalam is supported in this language environment.")) "Brahmi" '((charset unicode) (coding-system utf-8) (coding-priority utf-8) - ; (input-method . "brahmi") ; FIXME + (input-method . "brahmi") + (sample-text . "Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻) 𑀦𑀫𑀲𑁆𑀢𑁂") (documentation . "\ The ancient Brahmi script is supported in this language environment.")) '("Indian")) ; Should we have an "Old" category? diff --git a/lisp/leim/quail/indian.el b/lisp/leim/quail/indian.el index 6641aa6b2e7..f2d5f9bad4a 100644 --- a/lisp/leim/quail/indian.el +++ b/lisp/leim/quail/indian.el @@ -696,4 +696,144 @@ Full key sequences are listed below:") (quail-defrule "|" ?‌) (quail-defrule "||" ?​) +(quail-define-package + "brahmi" "Brahmi" "𑀲" t "Brahmi phonetic 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" ?𑁧) + ("`1" ?1) + ("`!" ?𑁒) + ("2" ?𑁨) + ("`2" ?2) + ("`@" ?𑁓) + ("3" ?𑁩) + ("`3" ?3) + ("`#" ?𑁔) + ("4" ?𑁪) + ("`4" ?4) + ("`$" ?𑁕) + ("5" ?𑁫) + ("`5" ?5) + ("`%" ?𑁖) + ("6" ?𑁬) + ("`6" ?6) + ("`^" ?𑁗) + ("7" ?𑁭) + ("`7" ?7) + ("`&" ?𑁘) + ("8" ?𑁮) + ("`8" ?8) + ("`*" ?𑁙) + ("9" ?𑁯) + ("`9" ?9) + ("`\(" ?𑁚) + ("0" ?𑁦) + ("`0" ?0) + ("`\)" ?𑁛) + ("`-" ?𑁜) + ("`_" ?𑁝) + ("`=" ?𑁞) + ("`+" ?𑁟) + ("`\\" ?𑁇) + ("`|" ?𑁈) + ("`" ?𑀝) + ("q" ?𑀝) + ("Q" ?𑀞) + ("`q" ?𑀃) + ("`Q" ?𑁠) + ("w" ?𑀟) + ("W" ?𑀠) + ("`w" ?𑀄) + ("`W" ?𑁡) + ("e" ?𑁂) + ("E" ?𑁃) + ("`e" ?𑀏) + ("`E" ?𑀐) + ("r" ?𑀭) + ("R" ?𑀾) + ("`r" ?𑀋) + ("`R" ?𑀶) + ("t" ?𑀢) + ("T" ?𑀣) + ("`t" ?𑁢) + ("y" ?𑀬) + ("Y" ?𑁣) + ("`y" ?𑁤) + ("`Y" ?𑁥) + ("u" ?𑀼) + ("U" ?𑀽) + ("`u" ?𑀉) + ("`U" ?𑀊) + ("i" ?𑀺) + ("I" ?𑀻) + ("`i" ?𑀇) + ("`I" ?𑀈) + ("o" ?𑁄) + ("O" ?𑁅) + ("`o" ?𑀑) + ("`O" ?𑀒) + ("p" ?𑀧) + ("P" ?𑀨) + ("`p" ?𑁳) + ("`P" ?𑁱) + ("`\[" ?𑁴) + ("`\{" ?𑁲) + ("a" ?𑀸) + ("A" ?𑀆) + ("`a" ?𑀅) + ("`A" ?𑀹) + ("s" ?𑀲) + ("S" ?𑀰) + ("`s" ?𑀱) + ("d" ?𑀤) + ("D" ?𑀥) + ("`d" ?𑀶) + ("f" ?𑁆) + ("F" ?𑀿) + ("`f" ?𑀌) + ("`F" ?𑁰) + ("g" ?𑀕) + ("G" ?𑀖) + ("h" ?𑀳) + ("H" ?𑀂) + ("j" ?𑀚) + ("J" ?𑀛) + ("k" ?𑀓) + ("K" ?𑀔) + ("l" ?𑀮) + ("L" ?𑀴) + ("`l" ?𑀵) + ("`L" ?𑁵) + ("z" ?𑁀) + ("Z" ?𑀍) + ("`z" ?𑁁) + ("`Z" ?𑀎) + ("x" ?𑁉) + ("X" ?𑁊) + ("`x" ?𑁋) + ("`X" ?𑁌) + ("c" ?𑀘) + ("C" ?𑀙) + ("`c" #x200C) ; ZWNJ + ("`C" #x200D) ; ZWJ + ("v" ?𑀯) + ("V" ?𑀷) + ("b" ?𑀩) + ("B" ?𑀪) + ("n" ?𑀦) + ("N" ?𑀡) + ("`n" ?𑀗) + ("`N" ?𑀜) + ("m" ?𑀫) + ("M" ?𑀁) + ("`m" ?𑀀) + ("<" ?𑁍) + ("`/" ?𑁿) + ) + + ;;; indian.el ends here -- 2.39.2