From 1a66435dda307a49069cb45752f69866a0e5c0c2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 16 Dec 2022 22:05:52 +0200 Subject: [PATCH] New input method 'cyrillic-chuvash' * lisp/leim/quail/cyrillic.el ("cyrillic-chuvash"): New input method, contributed by flashymittens@tutanota.com. (Bug#60023) Copyright-paperwork-exempt: yes --- etc/NEWS | 5 ++ lisp/leim/quail/cyrillic.el | 132 ++++++++++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index dd11b3c2715..157fe98c983 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1383,6 +1383,11 @@ language. This is a variant of the 'slovak' input method, which corresponds to the QWERTY Slovak keyboards. +--- +*** New input method 'cyrillic-chuvash'. +This input method is based on the russian-computer, and is intended +for the Chuvash language written in the Cyrillic script. + * Changes in Specialized Modes and Packages in Emacs 29.1 diff --git a/lisp/leim/quail/cyrillic.el b/lisp/leim/quail/cyrillic.el index 9f85bc18230..1ebbea8eb0d 100644 --- a/lisp/leim/quail/cyrillic.el +++ b/lisp/leim/quail/cyrillic.el @@ -1712,6 +1712,138 @@ as follows. ("/T" ?Ө) ("/Y" ?Ү)) + +;; Chuvash layout based on russian-computer. +(quail-define-package + "cyrillic-chuvash" "Chuvash" "CV" t + "Input method for cyrillic Chuvash with a postfix modifier. + + А* -> Ӑ + а* -> ӑ + Е* -> Ӗ + Е* -> ӗ + С* -> Ҫ + с* -> ҫ + У* -> Ӳ + у* -> ӳ + +Doubling the postfix separates the letter and postfix +" + nil t nil nil nil nil nil nil nil nil t) + +(quail-define-rules + ("1" ?1) + ("2" ?2) + ("3" ?3) + ("4" ?4) + ("5" ?5) + ("6" ?6) + ("7" ?7) + ("8" ?8) + ("9" ?9) + ("0" ?0) + ("-" ?-) + ("=" ?=) + ("|" ?/) + ("`" ?ё) + ("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" ?Ь) + ("<" ?Б) + (">" ?Ю) + ("?" ?,) + ("F*" ?Ӑ) + ("f*" ?ӑ) + ("T*" ?Ӗ) + ("t*" ?ӗ) + ("C*" ?Ҫ) + ("c*" ?ҫ) + ("E*" ?Ӳ) + ("e*" ?ӳ) + ("F**" ["А*"]) + ("f**" ["а*"]) + ("T**" ["Е*"]) + ("t**" ["е*"]) + ("C**" ["С*"]) + ("c**" ["с*"]) + ("E**" ["У*"]) + ("e**" ["у*"])) + ;; Local Variables: ;; coding: utf-8 ;; End: -- 2.39.2