1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-08 00:33:13 -08:00

Add new input method for Tuscarora

* lisp/leim/quail/iroquoian.el: New input method "tuscarora-postfix".

* etc/NEWS: Announce the new input method.  (Bug#80264)
This commit is contained in:
Kierin Bell 2026-01-23 18:47:04 -05:00 committed by Eli Zaretskii
parent 1652e36c6c
commit 39dc99518c
2 changed files with 190 additions and 16 deletions

View file

@ -853,10 +853,10 @@ Northern Iroquoian language family: 'mohawk-postfix' (Mohawk
[Kanienkéha / Kanyenkéha / Onkwehonwehnéha]), 'oneida-postfix' (Oneida
[Onʌyotea·ká· / Onyotaa:ká: / Ukwehuwehnéha]), 'cayuga-postfix'
(Cayuga [Gayogo̱ho:nǫhnéha:ˀ]), 'onondaga-postfix' (Onondaga
[Onųdaʔgegáʔ]), and 'seneca-postfix' (Seneca [Onödowága:]).
Additionally, there is a general-purpose 'haudenosaunee-postfix' input
method to facilitate writing in the orthographies of the five languages
simultaneously.
[Onųdaʔgegáʔ]), 'seneca-postfix' (Seneca [Onödowága:]), and
'tuscarora-postfix' (Tuscarora [Skarù·ręʔ]). Additionally, there is a
general-purpose 'haudenosaunee-postfix' input method to facilitate
writing in the orthographies of the six languages simultaneously.
---
*** New input methods for languages based on Burmese.

View file

@ -24,7 +24,7 @@
;; This file implements input methods for Northern Iroquoian languages.
;; Input methods are implemented for all Five Nations Iroquois
;; Input methods are implemented for the following Northern Iroquoian
;; languages:
;; - Mohawk (Kanienkéha / Kanyenkéha / Onkwehonwehnéha)
@ -32,6 +32,7 @@
;; - Onondaga (Onųdaʔgegáʔ)
;; - Cayuga (Gayogo̱ho:nǫhnéha:ˀ)
;; - Seneca (Onödowága:)
;; - Tuscarora (Skarù·ręʔ)
;; A composite input method for all of the languages above is also
;; defined: `haudenosaunee-postfix'.
@ -39,7 +40,6 @@
;; Input methods are not yet implemented for the remaining Northern
;; Iroquoian languages, including:
;; - Tuscarora (Skarù:ręʔ)
;; - Wendat (Huron) / Wyandot
;;; Code:
@ -798,6 +798,159 @@ simultaneously using the input method `haudenosaunee-postfix'."
iroquoian-seneca-vowel-alist))
(quail-defrule key trans))
;;; Tuscarora
;;
;; The primary community orthography used for Tuscarora follows that
;; used in Blair Rudes's dictionary (see below).
;;
;; Reference work for Tuscarora orthography:
;;
;; Blair Rudes. 1999. Tuscarora-English/English-Tuscarora
;; dictionary. Toronto: University of Toronto Press.
;;
(defconst iroquoian-tuscarora-modifier-alist
'(("::" ?\N{MIDDLE DOT}))
"Alist of rules for modifier letters in Tuscarora input methods.
Entries are as with rules in `quail-define-rules'.")
(defconst iroquoian-tuscarora-vowel-alist
'(("a'" )
("a`" )
("A'" )
("A`" )
("e'" )
("e`" )
("E'" )
("E`" )
("i'" )
("i`" )
("I'" )
("I`" )
("u'" )
("u`" )
("U'" )
("U`" )
("e," )
("e,'" ["ę́"])
("e,`" ["ę̀"])
("E," )
("E,'" ["Ę́"])
("E,`" ["Ę̀"])
("a''" ["a'"])
("a``" ["a`"])
("A''" ["A'"])
("A``" ["A`"])
("e''" ["e'"])
("e``" ["e`"])
("E''" ["E'"])
("E``" ["E`"])
("i''" ["i'"])
("i``" ["i`"])
("I''" ["I'"])
("I``" ["I`"])
("u''" ["u'"])
("u``" ["u`"])
("U''" ["U'"])
("U``" ["U`"])
("e,," ["e,"])
("e,''" ["ę'"])
("e,``" ["ę`"])
("E,," ["E,"])
("E,''" ["Ę'"])
("E,``" ["Ę`"]))
"Alist of rules for vowel letters in Tuscarora input methods.
Entries are as with rules in `quail-define-rules'.")
(defconst iroquoian-tuscarora-consonant-alist
'((";;" ?\N{LATIN LETTER GLOTTAL STOP})
("c/" )
("c//" ["c/"])
("C/" )
("C//" ["C/"])
("t/" )
("t//" ["t/"]))
"Alist of rules for consonant letters in Tuscarora input methods.
Entries are as with rules in `quail-define-rules'.")
(defconst iroquoian-tuscarora-exception-alist
'(("_" ?\N{COMBINING LOW LINE})
("__" ?_))
"Alist of rules for phonological exception marking in Tuscarora input methods.
Entries are as with rules in `quail-define-rules'.")
(quail-define-package
"tuscarora-postfix" "Tuscarora" "TUS<" t
"Tuscarora (Skarù·ręʔ) input method with postfix modifiers
Modifiers:
| Key | Translation | Description |
|-----+-------------+--------------------------|
| :: | · | Vowel length |
Stress diacritics:
| Key | Description | Example |
|------+--------------+---------|
| \\=' | Acute accent | a' -> |
| \\=` | Grave accent | a` -> |
Doubling the postfix separates the letter and the postfix.
Vowels:
| Key | Translation | Description |
|-----+-------------+---------------------------------|
| e, | ę | Mid front nasal vowel |
| E, | Ę | Mid front nasal vowel (capital) |
a, e, i, and u are bound to a single key.
Consonants:
| Key | Translation | Description |
|-------+-------------+------------------------------------|
| ;; | ˀ | Glottal stop |
| c/ | č | Postalveolar affricate |
| C/ | Č | Postalveolar affricate (capital) |
| t/ | θ | Voiceless dental fricative |
h, k, n, r, s, t, w, and y are bound to a single key.
b, l, m, and p are used rarely in loanwords. They are also each bound
to a single key.
Stress exception markers:
| Key | Description | Example |
|-----+--------------------+----------|
| _ | Combining low line | a_ -> |
Note: Not all fonts can properly display a combining low line on all
letters.
Underlining has been used by some to indicate that vowels behave
exceptionally with regard to stress placement. Alternatively, markup or
other methods can be used to create an underlining effect.
To enter a plain underscore, type the underscore twice.
All Haudenosaunee languages, including Tuscarora can be input
simultaneously using the input method `haudenosaunee-postfix'."
nil t nil nil nil nil nil nil nil nil t)
(pcase-dolist (`(,key ,trans)
(append iroquoian-tuscarora-modifier-alist
iroquoian-tuscarora-consonant-alist
iroquoian-tuscarora-vowel-alist
iroquoian-tuscarora-exception-alist))
(quail-defrule key trans))
;;; Haudenosaunee (composite Northern Iroquoian)
@ -857,7 +1010,8 @@ simultaneously using the input method `haudenosaunee-postfix'."
iroquoian-oneida-modifier-alist
iroquoian-onondaga-modifier-alist
iroquoian-cayuga-modifier-alist
iroquoian-seneca-modifier-alist))
iroquoian-seneca-modifier-alist
iroquoian-tuscarora-modifier-alist))
"Alist of rules for modifier letters in Haudenosaunee input methods.
Entries are as with rules in `quail-define-rules'.")
@ -866,7 +1020,8 @@ Entries are as with rules in `quail-define-rules'.")
iroquoian-oneida-vowel-alist
iroquoian-onondaga-vowel-alist
iroquoian-cayuga-vowel-alist
iroquoian-seneca-vowel-alist))
iroquoian-seneca-vowel-alist
iroquoian-tuscarora-vowel-alist))
"Alist of rules for vowel letters in Haudenosaunee input methods.
Entries are as with rules in `quail-define-rules'.")
@ -879,16 +1034,17 @@ Entries are as with rules in `quail-define-rules'.")
iroquoian-oneida-consonant-alist
iroquoian-onondaga-consonant-alist
iroquoian-cayuga-consonant-alist
iroquoian-seneca-consonant-alist)
iroquoian-seneca-consonant-alist
iroquoian-tuscarora-consonant-alist)
(lambda (c1 c2)
(equal (car c1) (car c2))))
"Alist of rules for consonant letters in Haudenosaunee input methods.
Entries are as with rules in `quail-define-rules'.")
(defconst iroquoian-haudenosaunee-devoicing-alist
(defconst iroquoian-haudenosaunee-exception-alist
'(("_" ?\N{COMBINING LOW LINE})
("__" ?_))
"Alist of rules for devoicing characters in Haudenosaunee input methods.
"Alist of rules for phonological exception markers in Haudenosaunee input methods.
Entries are as with rules in `quail-define-rules'.")
(defconst iroquoian-haudenosaunee-nasal-alist iroquoian-onondaga-nasal-alist
@ -906,6 +1062,7 @@ This input method can be used to enter the following languages:
- Cayuga (Gayogo̱ho:nǫhnéha:ˀ)
- Onondaga (Onųdaʔgegáʔ)
- Seneca (Onödowága:)
- Tuscarora (Skarù·ʔ)
Modifiers:
@ -989,6 +1146,12 @@ Vowels:
| a\" | ä | Low front vowel |
| A\" | Ä | Low front vowel (capital) |
| Single-key vowels: a e i o u |
|----------------------------------------------------------------------|
| Tuscarora |
| -------------------------------------------------------------------- |
| e, | ę | Mid front nasal vowel |
| E, | Ę | Mid front nasal vowel (capital) |
| Single-key vowels: a e i u |
Consonants:
@ -1023,8 +1186,16 @@ Consonants:
| s/ | š | Voiceless postalveolar fricative |
| S/ | Š | Voiceless postalveolar fricative (capital) |
| Single-key consonants: d g h j k n s t w y z (b m p) |
|----------------------------------------------------------------------|
| Tuscarora |
| -------------------------------------------------------------------- |
| ;: | ʔ | Glottal stop (alternate) |
| c/ | č | Postalveolar affricate |
| C/ | Č | Postalveolar affricate (capital) |
| t/ | θ | Voiceless dental fricative |
| Single-key consonants: h k n r s t w y (b l m p) |
Devoicing:
Phonological exception markers:
| Key | Description | Examples |
|-----+------------------------+------------------------------|
@ -1035,8 +1206,10 @@ Note: Not all fonts can properly display a combining low line on all
letters and a combining macron below on all vowels.
Underlining is commonly used in Oneida to indicate devoiced syllables on
pre-pausal forms (also called utterance-final forms). Alternatively,
markup or other methods can be used to create an underlining effect.
pre-pausal forms (also called utterance-final forms), and it has been
used in some Tuscarora orthographies to indicate that vowels behave
exceptionally with regard to stress placement. Alternatively, markup or
other methods can be used to create an underlining effect.
To enter a plain underscore, the underscore twice.
@ -1046,7 +1219,8 @@ To enter a plain hyphen after a vowel, simply type the hyphen twice.
There are individual input methods for each of the languages that can be
entered with this input method: `mohawk-postfix', `oneida-postfix',
`onondaga-postfix', `cayuga-postfix', `seneca-postfix'."
`onondaga-postfix', `cayuga-postfix', `seneca-postfix',
`tuscarora-postfix'.."
nil t nil nil nil nil nil nil nil nil t)
(pcase-dolist (`(,key ,trans)
@ -1054,7 +1228,7 @@ entered with this input method: `mohawk-postfix', `oneida-postfix',
iroquoian-haudenosaunee-consonant-alist
iroquoian-haudenosaunee-nasal-alist
iroquoian-haudenosaunee-vowel-alist
iroquoian-haudenosaunee-devoicing-alist))
iroquoian-haudenosaunee-exception-alist))
(quail-defrule key trans))
(provide 'iroquoian)