From b1960eaeae25aa198c5ce62bd3bd9b479a3a2abc 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, 31 May 2022 19:37:34 +0530 Subject: [PATCH] Add support for the Hanifi Rohingya script * lisp/language/misc-lang.el ("Hanifi Rohingya"): New language environment. Add composition rules for Hanifi Rohingya. Add sample text and input method. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support Hanifi Rohingya. * lisp/leim/quail/misc-lang.el ("hanifi-rohingya"): New input method. * etc/HELLO: Add a Hanifi Rohingya greeting. * etc/NEWS: Announce the new language environment. --- etc/HELLO | 1 + etc/NEWS | 1 + lisp/international/fontset.el | 3 +- lisp/language/misc-lang.el | 22 ++++++++ lisp/leim/quail/misc-lang.el | 101 ++++++++++++++++++++++++++++++++++ 5 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 lisp/leim/quail/misc-lang.el diff --git a/etc/HELLO b/etc/HELLO index f63f65ff7d..4148183949 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -60,6 +60,7 @@ Greek (ελληνικά) Γειά σας Greek, ancient (ἑλληνική) Οὖλέ τε καὶ μέγα χαῖρε Gujarati (ગુજરાતી) નમસ્તે Gurmukhi (ਗੁਰਮੁਖੀ) ਸਤ ਸ੍ਰੀ ਅਕਾਲ +Hanifi Rohingya (𐴌𐴟𐴇𐴥𐴝𐴚𐴒𐴙𐴝 𐴇𐴝𐴕𐴞𐴉𐴞 𐴓𐴠𐴑𐴤𐴝) 𐴀𐴝𐴏𐴓𐴝𐴀𐴡𐴤𐴛𐴝𐴓𐴝𐴙𐴑𐴟𐴔 Hanunoo (ᜱᜨᜳᜨᜳᜢ) ᜫᜬᜧ᜴ ᜣᜭᜯᜥ᜴ ᜰᜲᜭᜥ᜴ Hebrew (עִבְרִית) שָׁלוֹם Hindi (हिन्दी) प्रणाम / पाय लागू diff --git a/etc/NEWS b/etc/NEWS index 166e991c49..1ae80755e3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -840,6 +840,7 @@ corresponding language environments are: **** Rejang script and language environment **** Makasar script and language environment **** Lontara script and language environment +**** Hanifi Rohingya 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 425e9dcb41..2c54c86ab7 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -237,7 +237,7 @@ font-encoding-charset-alist (lydian #x10920) (kharoshthi #x10A00) (manichaean #x10AC0) - (hanifi-rohingya #x10D00) + (hanifi-rohingya #x10D00 #x10D24 #x10D39) (yezidi #x10E80) (old-sogdian #x10F00) (sogdian #x10F30) @@ -791,6 +791,7 @@ setup-default-fontset cypriot-syllabary phoenician lydian + hanifi-rohingya yezidi kharoshthi manichaean diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el index c8a4821abf..46429a4380 100644 --- a/lisp/language/misc-lang.el +++ b/lisp/language/misc-lang.el @@ -212,6 +212,28 @@ egyptian-shape-grouping (list (vector "[\U00013000-\U0001342E]+" 0 #'font-shape-gstring)))) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Hanifi Rohingya +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(set-language-info-alist + "Hanifi Rohingya" '((charset unicode) + (coding-system utf-8) + (coding-priority utf-8) + (input-method . "hanifi-rohingya") + (sample-text . "Hanifi Rohingya (𐴌𐴟𐴇𐴥𐴝𐴚𐴒𐴙𐴝 𐴇𐴝𐴕𐴞𐴉𐴞 𐴓𐴠𐴑𐴤𐴝) 𐴀𐴝𐴏𐴓𐴝𐴀𐴡𐴤𐴛𐴝𐴓𐴝𐴙𐴑𐴟𐴔") + (documentation . "\ +Rohingya language and its script Hanifi Rohingya are supported +in this language environment."))) + +;; Hanifi Rohingya composition rules +(set-char-table-range + composition-function-table + '(#x10D1D . #x10D27) + (list (vector + "[\x10D00-\x10D27]+" + 1 '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 new file mode 100644 index 0000000000..bdb86ab528 --- /dev/null +++ b/lisp/leim/quail/misc-lang.el @@ -0,0 +1,101 @@ +;;; misc-lang.el --- Quail package for inputting Miscellaneous characters -*- lexical-binding: t; -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. + +;; Author: समीर सिंह Sameer Singh +;; Keywords: multilingual, input method, i18n, Miscellaneous + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Input methods for Miscellaneous languages. + +;;; Code: + +(require 'quail) + +(quail-define-package + "hanifi-rohingya" "Hanifi Rohingya" "𐴌𐴟" t "Hanifi Rohingya 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" ?𐴄) + ("w" ?𐴋) + ("W" ?𐴍) + ("e" ?𐴠) + ("E" ?𐴤) + ("r" ?𐴌) + ("R" ?𐴥) + ("t" ?𐴃) + ("T" ?𐴦) + ("y" ?𐴘) + ("Y" ?𐴙) + ("u" ?𐴟) + ("U" ?𐴧) + ("i" ?𐴞) + ("o" ?𐴡) + ("p" ?𐴂) + ("a" ?𐴀) + ("A" ?𐴝) + ("s" ?𐴏) + ("S" ?𐴐) + ("d" ?𐴊) + ("f" ?𐴉) + ("F" ?𐴢) + ("g" ?𐴒) + ("h" ?𐴇) + ("j" ?𐴅) + ("k" ?𐴑) + ("K" ?𐴈) + ("l" ?𐴓) + ("z" ?𐴎) + ("c" ?𐴆) + ("C" #x200C) ; ZWNJ + ("v" ?𐴖) + ("V" ?𐴗) + ("`v" ?𐴜) + ("b" ?𐴁) + ("n" ?𐴕) + ("N" ?𐴚) + ("`n" ?𐴛) + ("`N" ?𐴣) + ("m" ?𐴔)) + +(provide 'misc-lang) +;;; misc-lang.el ends here -- 2.36.1