mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-06-14 04:21:24 +00:00
Add language-environment and input methods for Syriac
* lisp/leim/quail/syriac.el: New file
* lisp/language/misc-lang.el: ("Syriac"): New language environment.
("Arabic"): Add comment explaining usage of `arabic-shape-gstring'
for Syriac as well as Arabic.
* etc/NEWS: Announce the new language environment and input methods.
* etc/HELLO: Add a Syriac greeting.
(Bug#80451)
This commit is contained in:
parent
fe1d9562f1
commit
39202daedd
4 changed files with 260 additions and 1 deletions
|
|
@ -12,7 +12,7 @@ Non-ASCII examples:
|
|||
Europe: <x-charset><param>latin-iso8859-1</param>¡Hola!, Grüß Gott, Hyvää päivää,</x-charset> Tere õhtust,<x-charset><param>latin-iso8859-3</param> Bonġu
|
||||
Cześć!,</x-charset><x-charset><param>latin-iso8859-2</param> Dobrý den,</x-charset><x-charset><param>cyrillic-iso8859-5</param> Здравствуйте!,</x-charset><x-charset><param>greek-iso8859-7</param> Γειά σας,</x-charset> გამარჯობა
|
||||
Africa: <x-charset><param>ethiopic</param>ሠላም</x-charset>
|
||||
Middle/Near East:<x-charset><param>hebrew-iso8859-8</param> שָׁלוֹם,</x-charset> السّلام عليكم
|
||||
Middle/Near East:<x-charset><param>hebrew-iso8859-8</param> שָׁלוֹם,</x-charset> السّلام عليكم, ܣܠܡܐ
|
||||
South Asia: નમસ્તે, नमस्ते, ನಮಸ್ಕಾರ, നമസ്കാരം, ନମସ୍କାର,
|
||||
ආයුබෝවන්, வணக்கம், నమస్కారం,<x-charset><param>tibetan</param> བཀྲ་ཤིས་བདེ་ལེགས༎</x-charset>
|
||||
South East Asia: ជំរាបសួរ,<x-charset><param>lao</param> ສະບາຍດີ,</x-charset> မင်္ဂလာပါ,<x-charset><param>thai-tis620</param> สวัสดีครับ,</x-charset><x-charset><param>vietnamese-viscii-lower</param> </x-charset><x-charset><param>vietnamese-viscii-upper</param>C</x-charset><x-charset><param>vietnamese-viscii-lower</param>hào bạn</x-charset>
|
||||
|
|
@ -107,6 +107,7 @@ Spanish (español) ¡Hola!
|
|||
Sundanese (ᮃᮊ᮪ᮟᮛᮞᮥᮔ᮪ᮓ) ᮞᮙ᮪ᮕᮥᮛᮞᮥᮔ᮪
|
||||
Swedish (svenska) Hej / Goddag / Hallå
|
||||
Syloti Nagri (ꠍꠤꠟꠐꠤ ꠘꠣꠉꠞꠤ) ꠀꠌ꠆ꠍꠣꠟꠣꠝꠥ ꠀꠟꠣꠁꠇꠥꠝ / ꠘꠝꠡ꠆ꠇꠣꠞ
|
||||
Syriac (ܣܘܪܝܝܐ) ܫܠܡܐ
|
||||
Tamil (தமிழ்) வணக்கம்
|
||||
Telugu (తెలుగు) నమస్కారం
|
||||
Tagalog (ᜊᜌ᜔ᜊᜌᜒᜈ᜔) ᜃᜓᜋᜓᜐ᜔ᜆ
|
||||
|
|
|
|||
5
etc/NEWS
5
etc/NEWS
|
|
@ -819,6 +819,11 @@ writing in the orthographies of the six languages simultaneously.
|
|||
*** New input methods for languages based on Burmese.
|
||||
These include: Burmese, Burmese (visual order), Shan, and Mon.
|
||||
|
||||
---
|
||||
*** New input methods for Syriac languages.
|
||||
Language environment and input methods are implemented now for languages
|
||||
using the Syriac script: Syriac and Syriac (phonetic)
|
||||
|
||||
---
|
||||
** 'visual-wrap-prefix-mode' now supports variable-pitch fonts.
|
||||
When using 'visual-wrap-prefix-mode' in buffers with variable-pitch
|
||||
|
|
|
|||
|
|
@ -135,6 +135,9 @@ thin (i.e. 1-dot width) space."
|
|||
(error (push err arabic-shape-log)))
|
||||
gstring)
|
||||
|
||||
;;; `arabic-shape-gstring' is used for shaping of Arabic (range
|
||||
;;; #x600–#x6ff) and Syriac (range #x700–#x74f) on account of their
|
||||
;;; identical shaping requirements.
|
||||
(set-char-table-range
|
||||
composition-function-table
|
||||
'(#x600 . #x74F)
|
||||
|
|
@ -146,6 +149,20 @@ thin (i.e. 1-dot width) space."
|
|||
(list (vector "[\u200C\u200D][\u0600-\u074F\u200C\u200D]+"
|
||||
0 #'arabic-shape-gstring)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Syriac
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(set-language-info-alist
|
||||
"Syriac" '((charset unicode)
|
||||
(coding-system utf-8)
|
||||
(coding-priority utf-8)
|
||||
(input-method . "syriac")
|
||||
(sample-text . "Syriac ܫܠܡܐ")
|
||||
(documentation . "\
|
||||
Language environment for Classical Syriac, Aramaic, and other languages
|
||||
using the Syriac script.")))
|
||||
|
||||
;; The Egyptian Hieroglyph Format Controls were introduced in Unicode
|
||||
;; Standard v12.0. Apparently, they are not yet well supported in
|
||||
;; existing fonts, as of late 2020. But there's no reason for us not
|
||||
|
|
|
|||
236
lisp/leim/quail/syriac.el
Normal file
236
lisp/leim/quail/syriac.el
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
;;; syriac.el --- Quail package for inputting Syriac -*- coding: utf-8; lexical-binding:t -*-
|
||||
|
||||
;; Copyright (C) 2026 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Lee Thompson <lee.p.thomp@gmail.com>
|
||||
;; Keywords: multilingual, input method, Syriac
|
||||
|
||||
;; 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:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'quail)
|
||||
|
||||
(quail-define-package
|
||||
"syriac" "Syriac" "ܣ" nil "Syriac input method.
|
||||
|
||||
Based on Syriac table in X Keyboard Configuration DB
|
||||
" nil t t t t nil nil nil nil nil t)
|
||||
|
||||
;; ̮ 1! 2̊ 3̥ 4݉ 5♰ 6♱ 7܊ 8» 9) 0( -« =+
|
||||
;; ܔܰ ܨܳ ܖܶ ܩܺ ܦܽ ܜ݀ ܥ݁ ܗ̈ ܞ̄ ܚ̇ ܓ̃ ܕ݊ <>
|
||||
;; ܫܱ ܣܴ ܝܷ ܒܻ ܠܾ ܐܑ ܬـ ܢ̤ ܡ̱ ܟ̣ ܛ̰ ܆:
|
||||
;; ]ܲ [ܵ ܤܸ ܪܼ ܧܿ ܀ܹ .݂ ܘ، ܙ؛ ܇؟
|
||||
;;
|
||||
|
||||
(quail-define-rules
|
||||
("`" ?)
|
||||
("~" ?̮)
|
||||
|
||||
("!" ?!)
|
||||
("@" ?̊)
|
||||
("#" ?̥)
|
||||
("$" ?݉)
|
||||
("%" ?♰)
|
||||
("^" ?♱)
|
||||
("&" ?܊)
|
||||
("*" ?»)
|
||||
("(" ?\))
|
||||
(")" ?\()
|
||||
("_" ?«)
|
||||
("+" ?+)
|
||||
|
||||
("Q" ?ܰ)
|
||||
("W" ?ܳ)
|
||||
("E" ?ܶ)
|
||||
("R" ?ܺ)
|
||||
("T" ?ܽ)
|
||||
("Y" ?݀)
|
||||
("U" ?݁)
|
||||
("I" ?̈)
|
||||
("O" ?̄)
|
||||
("P" ?̇)
|
||||
("{" ?̃)
|
||||
("}" ?݊)
|
||||
|
||||
("A" ?ܱ)
|
||||
("S" ?ܴ)
|
||||
("D" ?ܷ)
|
||||
("F" ?ܻ )
|
||||
("G" ?ܾ)
|
||||
("H" ?ܑ)
|
||||
("J" ?ـ)
|
||||
("K" ?̤)
|
||||
("L" ?̱)
|
||||
(":" ?̣)
|
||||
("\"" ?̰)
|
||||
("|" ?:)
|
||||
|
||||
|
||||
("Z" ?ܲ)
|
||||
("X" ?ܵ)
|
||||
("C" ?ܸ)
|
||||
("V" ?ܼ)
|
||||
("B" ?ܿ)
|
||||
("N" ?ܹ)
|
||||
("M" ?݂)
|
||||
("<" ?،)
|
||||
(">" ?؛)
|
||||
("?" ?؟)
|
||||
|
||||
("q" ?ܔ)
|
||||
("w" ?ܨ)
|
||||
("e" ?ܖ)
|
||||
("r" ?ܩ)
|
||||
("t" ?ܦ)
|
||||
("y" ?ܜ)
|
||||
("u" ?ܥ)
|
||||
("i" ?ܗ)
|
||||
("o" ?ܞ)
|
||||
("p" ?ܚ)
|
||||
("[" ?ܓ)
|
||||
("]" ?ܕ)
|
||||
|
||||
("a" ?ܫ)
|
||||
("s" ?ܣ)
|
||||
("d" ?ܝ)
|
||||
("f" ?ܒ)
|
||||
("g" ?ܠ)
|
||||
("h" ?ܐ)
|
||||
("j" ?ܬ)
|
||||
("k" ?ܢ)
|
||||
("l" ?ܡ)
|
||||
(";" ?ܟ)
|
||||
("'" ?ܛ)
|
||||
("\\" ?܆)
|
||||
|
||||
("z" ?\])
|
||||
("x" ?\[)
|
||||
("c" ?ܤ)
|
||||
("v" ?ܪ)
|
||||
("b" ?ܧ)
|
||||
("n" ?܀)
|
||||
("m" ?.)
|
||||
("," ?ܘ)
|
||||
("." ?ܙ)
|
||||
("/" ?܇))
|
||||
|
||||
(quail-define-package
|
||||
"syriac-phonetic" "Syriac" "ܦ" nil "Phonetic input method for Syriac.
|
||||
|
||||
Based on Syriac (phonetic) table in X Keyboard Configuration DB
|
||||
" nil t t t t nil nil nil nil nil t)
|
||||
|
||||
;; ̮ 1! 2̊ 3̥ 4݉ 5♰ 6♱ 7܊ 8» 9) 0( -« =+
|
||||
;; ܩܰ ܘܳ ܖܶ ܪܺ ܬܽ ܝ݀ ܜ݁ ܥ̈ ܧ̄ ܦ̇ ]̃ [݊
|
||||
;; ܐܱ ܣܴ ܕܷ ܔܻ ܓܾ ܗܑ ܛـ ܟ̤ ܠ̱ ܚ̣ ܞ̰ ܆:
|
||||
;; ܙܲ ܨܵ ܤܸ ܫܼ ܒܿ ܢܹ ܡ݂ ܀، .؛ ܇؟
|
||||
|
||||
(quail-define-rules
|
||||
("`" ?)
|
||||
("~" ?̮)
|
||||
|
||||
("!" ?!)
|
||||
("@" ?̊)
|
||||
("#" ?̥)
|
||||
("$" ?݉)
|
||||
("%" ?♰)
|
||||
("^" ?♱)
|
||||
("&" ?܊)
|
||||
("*" ?»)
|
||||
("(" ?\))
|
||||
(")" ?\()
|
||||
("_" ?«)
|
||||
("+" ?+)
|
||||
|
||||
("Q" ?ܰ)
|
||||
("W" ?ܳ)
|
||||
("E" ?ܶ)
|
||||
("R" ?ܺ)
|
||||
("T" ?ܽ)
|
||||
("Y" ?݀)
|
||||
("U" ?݁)
|
||||
("I" ?̈)
|
||||
("O" ?̄)
|
||||
("P" ?̇)
|
||||
("{" ?̃)
|
||||
("}" ?݊)
|
||||
|
||||
("A" ?ܱ)
|
||||
("S" ?ܴ)
|
||||
("D" ?ܷ)
|
||||
("F" ?ܻ)
|
||||
("G" ?ܾ)
|
||||
("H" ?ܑ)
|
||||
("J" ?ـ)
|
||||
("K" ?̤)
|
||||
("L" ?̱)
|
||||
(":" ?̣)
|
||||
("\"" ?̰)
|
||||
("|" ?:)
|
||||
|
||||
("Z" ?ܲ)
|
||||
("X" ?ܵ)
|
||||
("C" ?ܸ)
|
||||
("V" ?ܼ)
|
||||
("B" ?ܿ)
|
||||
("N" ?ܹ)
|
||||
("M" ?݂)
|
||||
("<" ?،)
|
||||
(">" ?؛)
|
||||
("?" ?؟)
|
||||
|
||||
("q" ?ܩ)
|
||||
("w" ?ܘ)
|
||||
("e" ?ܖ)
|
||||
("r" ?ܪ)
|
||||
("t" ?ܬ)
|
||||
("y" ?ܝ)
|
||||
("u" ?ܜ)
|
||||
("i" ?ܥ)
|
||||
("o" ?ܧ)
|
||||
("p" ?ܦ)
|
||||
("[" ?\])
|
||||
("]" ?\[)
|
||||
|
||||
("a" ?ܐ)
|
||||
("s" ?ܣ)
|
||||
("d" ?ܕ)
|
||||
("f" ?ܔ)
|
||||
("g" ?ܓ)
|
||||
("h" ?ܗ)
|
||||
("j" ?ܛ)
|
||||
("k" ?ܟ)
|
||||
("l" ?ܠ)
|
||||
(";" ?ܚ)
|
||||
("\\" ?܆)
|
||||
("'" ?ܞ)
|
||||
|
||||
("z" ?ܙ)
|
||||
("x" ?ܨ)
|
||||
("c" ?ܤ)
|
||||
("v" ?ܫ)
|
||||
("b" ?ܒ)
|
||||
("n" ?ܢ)
|
||||
("m" ?ܡ)
|
||||
("," ?܀)
|
||||
("." ?.)
|
||||
("/" ?܇)
|
||||
)
|
||||
|
||||
;;; syriac.el ends here
|
||||
Loading…
Reference in a new issue