* bug#55648: [PATCH] Add support for the Balinese script
@ 2022-05-26 0:16 समीर सिंह Sameer Singh
2022-05-26 16:21 ` Eli Zaretskii
0 siblings, 1 reply; 2+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-05-26 0:16 UTC (permalink / raw)
To: 55648
[-- Attachment #1.1: Type: text/plain, Size: 97 bytes --]
This time the beautiful, balinese script is added to Emacs.
Please review the patch.
Thank You.
[-- Attachment #1.2: Type: text/html, Size: 167 bytes --]
[-- Attachment #2: 0001-Add-support-for-the-Balinese-script.patch --]
[-- Type: text/x-patch, Size: 9626 bytes --]
From a2bb02ac33b95fb476eeb18b59c6f318d3975f5b 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?= <lumarzeli30@gmail.com>
Date: Thu, 26 May 2022 05:34:30 +0530
Subject: [PATCH] Add support for the Balinese script
* 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.
---
etc/HELLO | 1 +
etc/NEWS | 1 +
lisp/international/fontset.el | 2 +
lisp/language/indonesian.el | 64 ++++++++++++
lisp/leim/quail/indonesian.el | 177 ++++++++++++++++++++++++++++++++++
lisp/loadup.el | 1 +
6 files changed, 246 insertions(+)
create mode 100644 lisp/language/indonesian.el
create mode 100644 lisp/leim/quail/indonesian.el
diff --git a/etc/HELLO b/etc/HELLO
index 31f753c73a..248c02b7ab 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -27,6 +27,7 @@ LANGUAGE (NATIVE NAME) HELLO
Amharic (አማርኛ) ሠላም
Arabic (العربيّة) السّلام عليكم
Armenian (հայերեն) Բարև ձեզ
+Balinese (ᬅᬓ᭄ᬱᬭᬩᬮᬶ) ᬒᬁᬲ᭄ᬯᬲ᭄ᬢ᭄ᬬᬲ᭄ᬢᬸ
Belarusian (беларуская) Прывітанне
Bengali (বাংলা) নমস্কার
Brahmi (𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻) 𑀦𑀫𑀲𑁆𑀢𑁂
diff --git a/etc/NEWS b/etc/NEWS
index 0f59d545e3..d6221d5586 100644
--- a/etc/NEWS
+++ b/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".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 42fbedae1d..a7d7109c8d 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -189,6 +189,7 @@ font-encoding-charset-alist
(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 @@ setup-default-fontset
buhid
tagbanwa
limbu
+ balinese
symbol
braille
yi
diff --git a/lisp/language/indonesian.el b/lisp/language/indonesian.el
new file mode 100644
index 0000000000..9a86135d89
--- /dev/null
+++ b/lisp/language/indonesian.el
@@ -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
diff --git a/lisp/leim/quail/indonesian.el b/lisp/leim/quail/indonesian.el
new file mode 100644
index 0000000000..46dafc89f5
--- /dev/null
+++ b/lisp/leim/quail/indonesian.el
@@ -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
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 9f1da4c0f9..aa15a3bbe8 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -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)))
--
2.36.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-05-26 16:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-26 0:16 bug#55648: [PATCH] Add support for the Balinese script समीर सिंह Sameer Singh
2022-05-26 16:21 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.