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)
This commit is contained in:
समीर सिंह Sameer Singh 2022-05-20 03:37:38 +05:30 committed by Eli Zaretskii
parent d52749202f
commit 97ca793651
6 changed files with 129 additions and 0 deletions

View file

@ -90,6 +90,7 @@ Swedish (svenska) Hej / Goddag / Hallå
Syloti Nagri (ꠍꠤꠟꠐꠤ ꠘꠣꠉꠞꠤ) ꠀꠌ꠆ꠍꠣꠟꠣꠝꠥ ꠀꠟꠣꠁꠇꠥꠝ / ꠘꠝꠡ꠆ꠇꠣꠞ
Tamil (தமிழ்) வணக்கம்
Telugu (తెలుగు) నమస్కారం
Tagalog (ᜊᜌ᜔ᜊᜌᜒᜈ᜔) ᜃᜓᜋᜓᜐ᜔ᜆ
TaiViet (ꪁꪫꪱꪣ ꪼꪕ) ꪅꪰꪙꫂ ꪨꪮꫂ ꪁꪫꪱ / ꪅꪽ ꪨꪷ ꪁꪫꪱ
Thai (ภาษาไทย) สวัสดีครับ / สวัสดีค่ะ
Tibetan (བོད་སྐད་) བཀྲ་ཤིས་བདེ་ལེགས༎

View file

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

View file

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

View file

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

View file

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

View file

@ -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)))