diff options
author | समीर सिंह Sameer Singh <lumarzeli30@gmail.com> | 2022-05-20 03:37:38 +0530 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2022-05-22 10:17:20 +0300 |
commit | 97ca793651eb04cda2ba33ea5d5d546274f358f7 (patch) | |
tree | aa3c173c467288027f161494fecc99a5ca506c0d | |
parent | d52749202f690a50f832c25ddd80929d175e67b4 (diff) | |
download | emacs-97ca793651eb04cda2ba33ea5d5d546274f358f7.tar.gz |
Add support for the Tagalog script
* lisp/language/philippine.el ("Tagalog"): New language environment.
Add composition rules for Tagalog. Add sample text and input
method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Tagalog.
* lisp/leim/quail/philippine.el ("tagalog"): New input method.
* lisp/loadup.el: Preload lisp/language/philippine.el.
* etc/HELLO: Add a Tagalog greeting.
* etc/NEWS: Announce the new language environment and its
input method.
(Bug#55529)
-rw-r--r-- | etc/HELLO | 1 | ||||
-rw-r--r-- | etc/NEWS | 1 | ||||
-rw-r--r-- | lisp/international/fontset.el | 2 | ||||
-rw-r--r-- | lisp/language/philippine.el | 59 | ||||
-rw-r--r-- | lisp/leim/quail/philippine.el | 65 | ||||
-rw-r--r-- | lisp/loadup.el | 1 |
6 files changed, 129 insertions, 0 deletions
diff --git a/etc/HELLO b/etc/HELLO index dc5ac9a28ec..2c4377388c8 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -90,6 +90,7 @@ Swedish (svenska) Hej / Goddag / Hallå Syloti Nagri (ꠍꠤꠟꠐꠤ ꠘꠣꠉꠞꠤ) ꠀꠌ꠆ꠍꠣꠟꠣꠝꠥ ꠀꠟꠣꠁꠇꠥꠝ / ꠘꠝꠡ꠆ꠇꠣꠞ Tamil (தமிழ்) வணக்கம் Telugu (తెలుగు) నమస్కారం +Tagalog (ᜊᜌ᜔ᜊᜌᜒᜈ᜔) ᜃᜓᜋᜓᜐ᜔ᜆ TaiViet (ꪁꪫꪱꪣ ꪼꪕ) ꪅꪰꪙꫂ ꪨꪮꫂ ꪁꪫꪱ / ꪅꪽ ꪨꪷ ꪁꪫꪱ Thai (ภาษาไทย) สวัสดีครับ / สวัสดีค่ะ Tibetan (བོད་སྐད་) བཀྲ་ཤིས་བདེ་ལེགས༎ @@ -810,6 +810,7 @@ corresponding language environments are: **** Siddham script and language environment **** Syloti Nagri script and language environment **** Modi script and language environment +**** Baybayin script and Tagalog language environment --- *** The "Oriya" language environment was renamed to "Odia". diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el index 40499f42d0a..1fcad765a1b 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -182,6 +182,7 @@ (canadian-aboriginal #x14C0) (ogham #x168F) (runic #x16A0) + (tagalog #x1700) (khmer #x1780) (mongolian #x1826) (tai-le #x1950) @@ -748,6 +749,7 @@ cham ogham runic + tagalog symbol braille yi diff --git a/lisp/language/philippine.el b/lisp/language/philippine.el new file mode 100644 index 00000000000..4feb8fab63c --- /dev/null +++ b/lisp/language/philippine.el @@ -0,0 +1,59 @@ +;;; philippine.el --- Philippine 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, Philippines + +;; 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 Philippine language environments, and +;; setups for displaying the scripts used there. + +;;; Code: + +(set-language-info-alist + "Tagalog" '((charset unicode) + (coding-system utf-8) + (coding-priority utf-8) + (input-method . "tagalog") + (sample-text . "Tagalog (ᜊᜌ᜔ᜊᜌᜒᜈ᜔) ᜃᜓᜋᜓᜐ᜔ᜆ") + (documentation . "\ +Tagalog which uses the Baybayin script is supported in +this language environment."))) + +;; Tagalog composition rules +(let ((akshara "[\x1700-\x1711\x171F]") + (vowel "[\x1712\x1713]") + (virama "\x1714") + (pamudpod "\x1715")) + (set-char-table-range composition-function-table + '(#x1714 . #x1714) + (list (vector + ;; Akshara virama syllables + (concat akshara virama vowel "?") + 1 'font-shape-gstring))) + (set-char-table-range composition-function-table + '(#x1715 . #x1715) + (list (vector + ;; Akshara pamudpod syllables + (concat akshara pamudpod vowel "?") + 1 'font-shape-gstring)))) + +(provide 'philippine) +;;; philippine.el ends here diff --git a/lisp/leim/quail/philippine.el b/lisp/leim/quail/philippine.el new file mode 100644 index 00000000000..6f11b317d68 --- /dev/null +++ b/lisp/leim/quail/philippine.el @@ -0,0 +1,65 @@ +;;; philippine.el --- Quail package for inputting Philippine characters -*- lexical-binding: t; -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. + +;; Author: समीर सिंह Sameer Singh <lumarzeli30@gmail.com> +;; Keywords: multilingual, input method, i18n, Philippines + +;; 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 input method supports scripts like Tagalog, Hanunoo, Buhid and +;; Tagbanwa. + +;;; Code: + +(require 'quail) + +(quail-define-package + "tagalog" "Tagalog" "ᜊ" nil "Baybayin phonetic input method." + nil t t t t nil nil nil nil nil t) + +(quail-define-rules + ("q" ?₱) + ("w" ?ᜏ) + ("r" ?ᜍ) + ("R" ?ᜟ) + ("t" ?ᜆ) + ("y" ?ᜌ) + ("u" ?ᜓ) + ("U" ?ᜂ) + ("i" ?ᜒ) + ("I" ?ᜁ) + ("p" ?ᜉ) + ("a" ?ᜀ) + ("s" ?ᜐ) + ("d" ?ᜇ) + ("f" ?᜔) + ("g" ?ᜄ) + ("h" ?ᜑ) + ("j" ?᜵) + ("J" ?᜶) + ("k" ?ᜃ) + ("l" ?ᜎ) + ("v" ?᜕) + ("b" ?ᜊ) + ("n" ?ᜈ) + ("N" ?ᜅ) + ("m" ?ᜋ)) + +(provide 'philippine) +;;; philippine.el ends here diff --git a/lisp/loadup.el b/lisp/loadup.el index 6ca699f9016..9f1da4c0f9d 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -245,6 +245,7 @@ (load "language/khmer") (load "language/burmese") (load "language/cham") +(load "language/philippine") (load "indent") (let ((max-specpdl-size (max max-specpdl-size 1800))) |