1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

Follow contemporary practices in the Tamil input methods

* lisp/language/ind-util.el (indian-tml-base-digits-table): New table
to translate digits.
(indian-tml-base-table): Don't translate digits.
(indian-tml-itrans-digits-v5-hash): Hashtable that translates digits.

* lisp/leim/quail/indian.el (quail-tamil-itrans-compute-signs-table)
(quail-tamil-itrans-various-signs-table)
(quail-tamil-itrans-various-signs-and-digits-table): Separate out the
digits from the signs table using the function
'quail-tamil-itrans-compute-signs-table'.
(tamil-itrans-digits, tamil-inscript-digits): New input methods that
translates digits.
(tamil-itrans, tamil-inscript): Fix table inclusion.

* etc/NEWS: Announce the change.

Fixes bug#50143.

Copyright-paperwork-exempt: yes
This commit is contained in:
Visuwesh 2022-03-13 11:16:38 +05:30 committed by Eli Zaretskii
parent 6ea5b5e1b4
commit b447fd1a3e
3 changed files with 110 additions and 21 deletions

View file

@ -158,6 +158,13 @@ beginning.
An autoload definition appears just as a '(defun . NAME)' and the
'(t . NAME)' entries are not generated any more.
---
** The Tamil input methods do not insert Tamil digits anymore.
The input methods 'tamil-itrans' and 'tamil-inscript' no longer insert
the Tamil digit. To get back the previous behaviour, use the
'tamil-itrans-digits' and 'tamil-inscript-digits' input methods
instead.
* Changes in Emacs 29.1
@ -1656,6 +1663,13 @@ when used as part of a property list specification for the
** 'defalias' records a more precise history of definitions.
This is recorded in the `function-history` symbol property.
---
** 'indian-tml-base-table' no longer translates digits.
Use 'indian-tml-base-digits-table' if you want digits translation.
--
** 'indian-tml-itrans-v5-hash' no longer translates digits.
Use 'indian-tml-itrans-digits-v5-hash' if you digits translation.
* Changes in Emacs 29.1 on Non-Free Operating Systems

View file

@ -255,6 +255,29 @@
"ണ്" ?ൺ "ന്" ?ൻ "ര്" ?ർ "ല്" ?ൽ "ള്" ?ൾ)))
(defvar indian-tml-base-table
'(
(;; VOWELS
(?அ nil) (?ஆ ?ா) (?இ ?ி) (?ஈ ?ீ) (?உ ?ு) (?ஊ ?ூ)
nil nil nil (?ஏ ?ே) (?எ ?ெ) (?ஐ ?ை)
nil (?ஓ ?ோ) (?ஒ ?ொ) (?ஔ ?ௌ) nil nil)
(;; CONSONANTS
?க nil nil nil ?ங ;; GUTTRULS
?ச nil ?ஜ nil ?ஞ ;; PALATALS
?ட nil nil nil ?ண ;; CEREBRALS
?த nil nil nil ?ந ?ன ;; DENTALS
?ப nil nil nil ?ம ;; LABIALS
?ய ?ர ?ற ?ல ?ள ?ழ ?வ ;; SEMIVOWELS
nil ?ஷ ?ஸ ?ஹ ;; SIBILANTS
nil nil nil nil nil nil nil nil ;; NUKTAS
"ஜ்ஞ" "க்ஷ")
(;; Misc Symbols
nil ?ஂ ?ஃ nil ?் nil nil)
(;; Digits
nil nil nil nil nil nil nil nil nil nil)
(;; Inscript-extra (4) (#, $, ^, *, ])
"்ர" "ர்" "த்ர" nil nil)))
(defvar indian-tml-base-digits-table
'(
(;; VOWELS
(?அ nil) (?ஆ ?ா) (?இ ?ி) (?ஈ ?ீ) (?உ ?ு) (?ஊ ?ூ)
@ -557,6 +580,10 @@
(defvar indian-tml-itrans-v5-hash
(indian-make-hash indian-tml-base-table
indian-itrans-v5-table-for-tamil))
(defvar indian-tml-itrans-digits-v5-hash
(indian-make-hash indian-tml-base-digits-table
indian-itrans-v5-table-for-tamil))
)
(defmacro indian-translate-region (from to hashtable encode-p)

View file

@ -171,7 +171,7 @@
clm)
(with-temp-buffer
(insert "\n")
(insert " +")
(insert "----+")
(insert-char ?- 74)
(insert "\n |")
(setq clm 6)
@ -244,19 +244,27 @@
(insert "\n")
(buffer-string))))
(defvar quail-tamil-itrans-various-signs-and-digits-table
(defun quail-tamil-itrans-compute-signs-table (digitp)
"Compute the signs table for the tamil-itrans input method.
If DIGITP is non-nil, include the digits translation as well."
(let ((various '((?ஃ . "H") ("ஸ்ரீ" . "srii") (?ௐ)))
(digits "௦௧௨௩௪௫௬௭௮௯")
(width 6) clm)
(with-temp-buffer
(insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
(insert "\n" (make-string 18 ?-) "+")
(when digitp (insert (make-string 60 ?-)))
(insert "\n")
(insert
(propertize "\t" 'display '(space :align-to 5)) "various"
(propertize "\t" 'display '(space :align-to 18)) "|"
(propertize "\t" 'display '(space :align-to 45)) "digits")
(insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
(setq clm 0 )
(propertize "\t" 'display '(space :align-to 18)) "|")
(when digitp
(insert
(propertize "\t" 'display '(space :align-to 45)) "digits"))
(insert "\n" (make-string 18 ?-) "+")
(when digitp
(insert (make-string 60 ?-)))
(insert "\n")
(setq clm 0)
(dotimes (i (length various))
(insert (propertize "\t" 'display (list 'space :align-to clm))
@ -264,10 +272,11 @@
(setq clm (+ clm width)))
(insert (propertize "\t" 'display '(space :align-to 18)) "|")
(setq clm 20)
(dotimes (i 10)
(insert (propertize "\t" 'display (list 'space :align-to clm))
(aref digits i))
(setq clm (+ clm width)))
(when digitp
(dotimes (i 10)
(insert (propertize "\t" 'display (list 'space :align-to clm))
(aref digits i))
(setq clm (+ clm width))))
(insert "\n")
(setq clm 0)
(dotimes (i (length various))
@ -276,13 +285,22 @@
(setq clm (+ clm width)))
(insert (propertize "\t" 'display '(space :align-to 18)) "|")
(setq clm 20)
(dotimes (i 10)
(insert (propertize "\t" 'display (list 'space :align-to clm))
(format "%d" i))
(setq clm (+ clm width)))
(insert "\n" (make-string 18 ?-) "+" (make-string 60 ?-) "\n")
(when digitp
(dotimes (i 10)
(insert (propertize "\t" 'display (list 'space :align-to clm))
(format "%d" i))
(setq clm (+ clm width))))
(insert "\n" (make-string 18 ?-) "+")
(when digitp
(insert (make-string 60 ?-) "\n"))
(buffer-string))))
(defvar quail-tamil-itrans-various-signs-and-digits-table
(quail-tamil-itrans-compute-signs-table t))
(defvar quail-tamil-itrans-various-signs-table
(quail-tamil-itrans-compute-signs-table nil))
(if nil
(quail-define-package "tamil-itrans" "Tamil" "TmlIT" t "Tamil ITRANS"))
(quail-define-indian-trans-package
@ -293,16 +311,39 @@ You can input characters using the following mapping tables.
Example: To enter வணக்கம், type vaNakkam.
### Basic syllables (consonants + vowels) ###
\\<quail-tamil-itrans-syllable-table>
\\=\\<quail-tamil-itrans-syllable-table>
### Miscellaneous (various signs + digits) ###
\\<quail-tamil-itrans-various-signs-and-digits-table>
### Miscellaneous (various signs) ###
\\=\\<quail-tamil-itrans-various-signs-table>
### Others (numerics + symbols) ###
Characters below have no ITRANS method associated with them.
Their descriptions are included for easy reference.
\\<quail-tamil-itrans-numerics-and-symbols-table>
\\=\\<quail-tamil-itrans-numerics-and-symbols-table>
Full key sequences are listed below:")
(if nil
(quail-define-package "tamil-itrans-digits" "Tamil" "TmlITD" t "Tamil ITRANS with digits"))
(quail-define-indian-trans-package
indian-tml-itrans-digits-v5-hash "tamil-itrans-digits" "Tamil" "TmlITD"
"Tamil transliteration by ITRANS method with Tamil digits support.
You can input characters using the following mapping tables.
Example: To enter வணக்கம், type vaNakkam.
### Basic syllables (consonants + vowels) ###
\\=\\<quail-tamil-itrans-syllable-table>
### Miscellaneous (various signs + digits) ###
\\=\\<quail-tamil-itrans-various-signs-and-digits-table>
### Others (numerics + symbols) ###
Characters below have no ITRANS method associated with them.
Their descriptions are included for easy reference.
\\=\\<quail-tamil-itrans-numerics-and-symbols-table>
Full key sequences are listed below:")
@ -479,6 +520,13 @@ Full key sequences are listed below:")
"tamil-inscript" "Tamil" "TmlIS"
"Tamil keyboard Inscript.")
(if nil
(quail-define-package "tamil-inscript-digits" "Tamil" "TmlISD" t "Tamil keyboard Inscript with digits."))
(quail-define-inscript-package
indian-tml-base-digits-table inscript-tml-keytable
"tamil-inscript-digits" "Tamil" "TmlISD"
"Tamil keyboard Inscript with Tamil digits support.")
;; Probhat Input Method
(quail-define-package
"bengali-probhat" "Bengali" "BngPB" t