Add support for the Hanifi Rohingya script (bug#55745)

* 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.
This commit is contained in:
समीर सिंह Sameer Singh 2022-05-31 19:37:34 +05:30 committed by Eli Zaretskii
parent 21dba5b364
commit c95827c698
5 changed files with 127 additions and 1 deletions

View file

@ -60,6 +60,7 @@ Greek (ελληνικά) Γειά σας
Greek, ancient (ἑλληνική) Οὖλέ τε καὶ μέγα χαῖρε
Gujarati (ગુજરાતી) નમસ્તે
Gurmukhi (ਗੁਰਮੁਖੀ) ਸਤ ਸ੍ਰੀ ਅਕਾਲ
Hanifi Rohingya (𐴌𐴟𐴇𐴥𐴝𐴚𐴒𐴙𐴝 𐴇𐴝𐴕𐴞𐴉𐴞 𐴓𐴠𐴑𐴤𐴝) 𐴀𐴝𐴏𐴓𐴝𐴀𐴡𐴤𐴛𐴝𐴓𐴝𐴙𐴑𐴟𐴔
Hanunoo (ᜱᜨᜳᜨᜳᜢ) ᜫᜬᜧ᜴ ᜣᜭᜯᜥ᜴ ᜰᜲᜭᜥ᜴
Hebrew (עִבְרִית) שָׁלוֹם
Hindi (हिन्दी) प्रणाम / पाय लागू

View file

@ -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".

View file

@ -237,7 +237,7 @@
(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 @@
cypriot-syllabary
phoenician
lydian
hanifi-rohingya
yezidi
kharoshthi
manichaean

View file

@ -212,6 +212,28 @@ thin (i.e. 1-dot width) space."
(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

View file

@ -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 <lumarzeli30@gmail.com>
;; 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 <https://www.gnu.org/licenses/>.
;;; 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