mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
Add support for the Balinese script (bug#55648)
* lisp/language/indonesian.el ("Balinese"): New language environment. Add composition rules for Balinese. Add sample text and input method. * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Support Balinese. * lisp/leim/quail/indonesian.el ("balinese"): New input method. * lisp/loadup.el: Preload lisp/language/indonesian.el. * etc/HELLO: Add a Balinese greeting. * etc/NEWS: Announce the new language environment and its input method.
This commit is contained in:
parent
e05acb07d3
commit
4677ff4361
@ -27,6 +27,7 @@ LANGUAGE (NATIVE NAME) HELLO
|
||||
Amharic (አማርኛ) ሠላም
|
||||
Arabic (العربيّة) السّلام عليكم
|
||||
Armenian (հայերեն) Բարև ձեզ
|
||||
Balinese (ᬅᬓ᭄ᬱᬭᬩᬮᬶ) ᬒᬁᬲ᭄ᬯᬲ᭄ᬢ᭄ᬬᬲ᭄ᬢᬸ
|
||||
Belarusian (беларуская) Прывітанне
|
||||
Bengali (বাংলা) নমস্কার
|
||||
Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻) 𑀦𑀫𑀲𑁆𑀢𑁂
|
||||
|
1
etc/NEWS
1
etc/NEWS
@ -823,6 +823,7 @@ corresponding language environments are:
|
||||
**** Buhid script and language environment
|
||||
**** Tagbanwa script and language environment
|
||||
**** Limbu script and language environment
|
||||
**** Balinese script and language environment
|
||||
|
||||
---
|
||||
*** The "Oriya" language environment was renamed to "Odia".
|
||||
|
@ -189,6 +189,7 @@
|
||||
(khmer #x1780)
|
||||
(mongolian #x1826)
|
||||
(limbu #x1901 #x1920 #x1936)
|
||||
(balinese #x1B13 #x1B35 #x1B5E)
|
||||
(tai-le #x1950)
|
||||
(tai-lue #x1980)
|
||||
(tai-tham #x1A20 #x1A55 #x1A61 #x1A80)
|
||||
@ -758,6 +759,7 @@
|
||||
buhid
|
||||
tagbanwa
|
||||
limbu
|
||||
balinese
|
||||
symbol
|
||||
braille
|
||||
yi
|
||||
|
64
lisp/language/indonesian.el
Normal file
64
lisp/language/indonesian.el
Normal file
@ -0,0 +1,64 @@
|
||||
;;; indonesian.el --- Indonesian languages support -*- coding: utf-8; lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2022 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
|
||||
;; Keywords: multilingual, input method, i18n, Indonesia
|
||||
|
||||
;; 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:
|
||||
|
||||
;; This file contains definitions of Indonesia language environments, and
|
||||
;; setups for displaying the scripts used there.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(set-language-info-alist
|
||||
"Balinese" '((charset unicode)
|
||||
(coding-system utf-8)
|
||||
(coding-priority utf-8)
|
||||
(input-method . "balinese")
|
||||
(sample-text . "Balinese (ᬅᬓ᭄ᬱᬭᬩᬮᬶ) ᬒᬁᬲ᭄ᬯᬲ᭄ᬢ᭄ᬬᬲ᭄ᬢᬸ")
|
||||
(documentation . "\
|
||||
Balinese language and its script are supported in this language environment.")))
|
||||
|
||||
|
||||
;; Balinese composition rules
|
||||
(let ((consonant "[\x1B13-\x1B33\x1B45-\x1B4B]")
|
||||
(independent-vowel "[\x1B05-\x1B12]")
|
||||
(rerekan "\x1B34")
|
||||
(vowel "[\x1B35-\x1B43]")
|
||||
(modifier-above "[\x1B00-\x1B04]")
|
||||
(adeg-adeg "\x1B44")
|
||||
(musical-symbol "[\x1B6B-\x1B73]"))
|
||||
(set-char-table-range composition-function-table
|
||||
'(#x1B34 . #x1B44)
|
||||
(list (vector
|
||||
;; Consonant based syllables
|
||||
(concat consonant rerekan "?" "\\(?:" adeg-adeg consonant
|
||||
rerekan "?\\)*\\(?:" adeg-adeg "\\|" vowel "*" rerekan
|
||||
"?" modifier-above "?" musical-symbol "?\\)")
|
||||
1 'font-shape-gstring)
|
||||
(vector
|
||||
;; Vowels based syllables
|
||||
(concat independent-vowel rerekan "?" adeg-adeg "?"
|
||||
vowel "?" modifier-above "?" musical-symbol "?")
|
||||
1 'font-shape-gstring))))
|
||||
|
||||
|
||||
(provide 'indonesian)
|
||||
;;; indonesian.el ends here
|
177
lisp/leim/quail/indonesian.el
Normal file
177
lisp/leim/quail/indonesian.el
Normal file
@ -0,0 +1,177 @@
|
||||
;;; indonesian.el --- Quail package for inputting Indonesian characters -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2022 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
|
||||
;; Keywords: multilingual, input method, i18n, Indonesia
|
||||
|
||||
;; 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 Indonesian languages.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'quail)
|
||||
|
||||
;; This input method supports languages like Buginese, Balinese, Sundanese and
|
||||
;; Javanese.
|
||||
|
||||
(quail-define-package
|
||||
"balinese" "Balinese" "ᬅ" t "Balinese 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" ?᭜)
|
||||
("`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" ?᭡)
|
||||
("`S" ?᭢)
|
||||
("d" ?ᬤ)
|
||||
("D" ?ᬥ)
|
||||
("`d" ?᭣)
|
||||
("`D" ?᭤)
|
||||
("f" ?᭄)
|
||||
("F" ?ᬻ)
|
||||
("`f" ?ᬌ)
|
||||
("`F" ?᭶)
|
||||
("g" ?ᬕ)
|
||||
("G" ?ᬖ)
|
||||
("`g" ?᭥)
|
||||
("`G" ?᭦)
|
||||
("h" ?ᬳ)
|
||||
("H" ?ᬄ)
|
||||
("`h" ?᭧)
|
||||
("`H" ?᭨)
|
||||
("j" ?ᬚ)
|
||||
("J" ?ᬛ)
|
||||
("`j" ?ᭌ)
|
||||
("`J" ?᭩)
|
||||
("k" ?ᬓ)
|
||||
("K" ?ᬔ)
|
||||
("`k" ?ᭅ)
|
||||
("`K" ?ᭆ)
|
||||
("l" ?ᬮ)
|
||||
("L" ?ᬼ)
|
||||
("`l" ?ᬍ)
|
||||
("`L" ?᭪)
|
||||
("z" ?ᭊ)
|
||||
("Z" ?ᬽ)
|
||||
("`z" ?ᬎ)
|
||||
("`Z" ?᭷)
|
||||
("x" ?ᬱ)
|
||||
("X" ?᬴)
|
||||
("`x" ?᭸)
|
||||
("c" ?ᬘ)
|
||||
("C" ?ᬙ)
|
||||
("`c" #x200C) ; ZWNJ
|
||||
("v" ?ᬯ)
|
||||
("V" ?ᭉ)
|
||||
("`v" ?᭹)
|
||||
("`V" ?᭺)
|
||||
("b" ?ᬩ)
|
||||
("B" ?ᬪ)
|
||||
("`b" ?᭻)
|
||||
("n" ?ᬦ)
|
||||
("N" ?ᬡ)
|
||||
("`n" ?ᬗ)
|
||||
("`N" ?ᬜ)
|
||||
("m" ?ᬫ)
|
||||
("M" ?ᬂ)
|
||||
("`m" ?ᬁ)
|
||||
("`M" ?ᬀ))
|
||||
|
||||
(provide 'indonesian)
|
||||
;;; indonesian.el ends here
|
@ -246,6 +246,7 @@
|
||||
(load "language/burmese")
|
||||
(load "language/cham")
|
||||
(load "language/philippine")
|
||||
(load "language/indonesian")
|
||||
|
||||
(load "indent")
|
||||
(let ((max-specpdl-size (max max-specpdl-size 1800)))
|
||||
|
Loading…
Reference in New Issue
Block a user