1 ;;; latin-alt.el --- Quail package for inputting various European characters -*-coding: iso-2022-7bit;-*-
3 ;; Copyright (C) 1997, 1998, 2001, 2002, 2006 Free Software Foundation, Inc.
5 ;; National Institute of Advanced Industrial Science and Technology (AIST)
6 ;; Registration Number H14PRO021
8 ;; Keywords: multilingual, input method, latin
10 ;; This file is part of GNU Emacs.
12 ;; GNU Emacs is free software; you can redistribute it and/or modify
13 ;; it under the terms of the GNU General Public License as published by
14 ;; the Free Software Foundation; either version 2, or (at your option)
17 ;; GNU Emacs is distributed in the hope that it will be useful,
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ;; GNU General Public License for more details.
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with GNU Emacs; see the file COPYING. If not, write to the
24 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
25 ;; Boston, MA 02110-1301, USA.
27 ;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
29 ;;; Synched up with: FSF 22.0.50.6
38 (defvar latin-alt-decent-xemacs-unicode-support
39 (and (fboundp 'decode-char) (decode-char 'ucs #x31C)
40 (eq #x31C (encode-char (decode-char 'ucs #x31C) 'ucs)))
41 "Whether Unicode support in XEmacs is good enough for us.")
43 ;; XEmacs change; added.
45 "rot13" "English" "r13" nil
46 "ROT-13 input method for English.
47 Alphabetic characters are moved 13 places in the alphabet on input.
48 See also `rot13-other-window'. ")
50 (let ((i -1) (a (char-to-int ?a)) (A (char-to-int ?A)))
51 (while (< (incf i) 26)
52 (quail-defrule (string (+ i a))
53 (char-to-string (int-to-char (+ (% (+ i 13) 26) a))))
54 (quail-defrule (string (+ i A))
55 (char-to-string (int-to-char (+ (% (+ i 13) 26) A))))))
58 "latin-1-alt-postfix" "Latin-1" "1<" t
59 "Latin-1 character input method with postfix modifiers
62 ------------+---------+----------
63 acute | ' | a' ->
\e,Aa
\e(B
64 grave | ` | a` ->
\e,A`
\e(B
65 circumflex | ^ | a^ ->
\e,Ab
\e(B
66 diaeresis | \" | a\" ->
\e,Ad
\e(B
67 tilde | ~ | a~ ->
\e,Ac
\e(B
68 cedilla | / | c/ ->
\e,Ag
\e(B
69 nordic | / | d/ ->
\e,Ap
\e(B t/ ->
\e,A~
\e(B a/ ->
\e,Ae
\e(B e/ ->
\e,Af
\e(B o/ ->
\e,Ax
\e(B
70 others | /<> | s/ ->
\e,A_
\e(B ?/ ->
\e,A?
\e(B !/ ->
\e,A!
\e(B
71 | various | << ->
\e,A+
\e(B >> ->
\e,A;
\e(B o_ ->
\e,A:
\e(B a_ ->
\e,A*
\e(B
73 It would be natural to use comma for cedillas, but that would be
74 inconvenient in practice because commas are needed very often after a
77 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
78 " nil t nil nil nil nil nil nil nil nil t)
220 (quail-define-package
221 "latin-2-alt-postfix" "Latin-2" "2<" t
222 "Latin-2 character input method with postfix modifiers
225 ------------+---------+----------
226 acute | ' | a' ->
\e,Ba
\e(B
227 ogonek | ` | a` ->
\e,B1
\e(B
228 diaeresis | \" | a\" ->
\e,Bd
\e(B
229 circumflex | ^ | a^ ->
\e,Bb
\e(B
230 breve | ~ | a~ ->
\e,Bc
\e(B
231 cedilla | ` | c` ->
\e,Bg
\e(B
232 caron | ~ | c~ ->
\e,Bh
\e(B
233 dbl. acute | : | o: ->
\e,Bu
\e(B
234 ring | ` | u` ->
\e,By
\e(B
235 dot | ` | z` ->
\e,B?
\e(B
236 stroke | / | d/ ->
\e,Bp
\e(B
237 others | / | s/ ->
\e,B_
\e(B
239 It would be natural to use period and comma for dots/rings and
240 cedillas/ogoneks, but that would inconvenient in practice, because
241 periods and commas are needed very often after a letter.
243 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
244 " nil t nil nil nil nil nil nil nil nil t)
412 (quail-define-package
413 "latin-3-alt-postfix" "Latin-3" "3<" t
414 "Latin-3 character input method with postfix modifiers
417 ------------+---------+----------
418 acute | ' | a' ->
\e,Ca
\e(B
419 grave | ` | a` ->
\e,C`
\e(B
420 circumflex | ^ | a^ ->
\e,Cb
\e(B
421 diaeresis | \" | a\" ->
\e,Cd
\e(B
422 dot | / | c/ ->
\e,Ce
\e(B i/ ->
\e,C9
\e(B I/ ->
\e,C)
\e(B
423 cedilla | ` | c` ->
\e,Cg
\e(B
424 breve | ~ | g~ ->
\e,C;
\e(B
425 tilde | ~ | n~ ->
\e,Cq
\e(B
426 stroke | / | h/ ->
\e,C1
\e(B
427 others | / | s/ ->
\e,C_
\e(B
429 It would be natural to use period and comma for dots and cedillas, but
430 that would inconvenient in practice, because periods and commas are
431 needed very often after a letter.
433 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
434 " nil t nil nil nil nil nil nil nil nil t)
582 (quail-define-package
583 "latin-4-alt-postfix" "Latin-4" "4<" t
584 "Latin-4 characters input method with postfix modifiers
587 ------------+---------+----------
588 acute | ' | a' ->
\e,Da
\e(B
589 circumflex | ^ | a^ ->
\e,Db
\e(B
590 diaeresis | \" | a\" ->
\e,Dd
\e(B
591 ogonek | ` | a` ->
\e,D1
\e(B
592 macron | - | a- ->
\e,D`
\e(B
593 tilde | ~ | a~ ->
\e,Dc
\e(B
594 caron | ~ | c~ ->
\e,Dh
\e(B
595 dot | ~ | e~ ->
\e,Dl
\e(B
596 cedilla | ` | k` ->
\e,Ds
\e(B g` ->
\e,D;
\e(B
597 stroke | / | d/ ->
\e,Dp
\e(B
598 nordic | / | a/ ->
\e,De
\e(B e/ ->
\e,Df
\e(B o/ ->
\e,Dx
\e(B
599 others | / | s/ ->
\e,D_
\e(B n/ ->
\e,D?
\e(B k/ ->
\e,D"
\e(B
601 It would be natural to use period and comma for dots and
602 cedillas/ogoneks, but that would inconvenient in practice, because
603 periods and commas are needed very often after a letter.
605 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
606 " nil t nil nil nil nil nil nil nil nil t)
776 (quail-define-package
777 "latin-5-alt-postfix" "Latin-5" "5<" t
778 "Latin-5 characters input method with postfix modifiers
781 ------------+---------+----------
782 acute | ' | a' ->
\e,Ma
\e(B
783 grave | ` | a` ->
\e,M`
\e(B
784 circumflex | ^ | a^ ->
\e,Mb
\e(B
785 diaeresis | \" | a\" ->
\e,Md
\e(B
786 tilde | ~ | a~ ->
\e,Mc
\e(B
787 breve | ~ | g~ ->
\e,Mp
\e(B
788 cedilla | ` | c` ->
\e,Mg
\e(B
789 dot | / | i/ ->
\e,M}
\e(B I/ ->
\e,M]
\e(B
790 nordic | / | a/ ->
\e,Me
\e(B e/ ->
\e,Mf
\e(B o/ ->
\e,Mx
\e(B
791 others | / | s/ ->
\e,M_
\e(B
793 It would be natural to use period and comma for dots and cedillas, but
794 that would inconvenient in practice, because periods and commas are
795 needed very often after a letter.
797 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
798 " nil t nil nil nil nil nil nil nil nil t)
928 (quail-define-package
929 "danish-alt-postfix" "Latin-1" "DA<" t
930 "Danish input method (rule: AE ->
\e,AF
\e(B, OE ->
\e,AX
\e(B, AA ->
\e,AE
\e(B, E' ->
\e,AI
\e(B)
932 Doubling the postfix separates the letter and postfix: e.g. aee -> ae
934 nil t nil nil nil nil nil nil nil nil t)
956 (quail-define-package
957 "esperanto-alt-postfix" "Latin-3" "EO<" t
958 "Esperanto input method with postfix modifiers
960 A following ^ or x will produce an accented character,
961 e.g. c^ ->
\e,Cf
\e(B gx ->
\e,Cx
\e(B u^ ->
\e,C}
\e(B.
963 Doubling the postfix separates the letter and postfix,
965 " nil t nil nil nil nil nil nil nil nil t)
1019 (quail-define-package
1020 "finnish-alt-postfix" "Latin-1" "FI<" t
1021 "Finnish (Suomi) input method
1028 nil t nil nil nil nil nil nil nil nil t)
1042 (quail-define-package
1043 "french-alt-postfix" "French" "FR<" t
1044 "French (Fran
\e,Ag
\e(Bais) input method with postfix modifiers
1046 ` pour grave, ' pour aigu, ^ pour circonflexe, et \" pour tr
\e,Ai
\e(Bma.
1047 Par exemple: a` ->
\e,A`
\e(B e' ->
\e,Ai
\e(B.
1049 \e,AG
\e(B,
\e,A+
\e(B, et
\e,A;
\e(B sont produits par C/, <<, et >>.
1051 En doublant la frappe des diacritiques, ils s'isoleront de la lettre.
1052 Par exemple: e'' -> e'
1054 <e dans l'o> n'est pas disponible."
1055 nil t nil nil nil nil nil nil nil nil t)
1117 (quail-define-package
1118 "german-alt-postfix" "German" "DE<" t
1119 "German (Deutsch) input method
1130 nil t nil nil nil nil nil nil nil nil t)
1150 (quail-define-package
1151 "icelandic-alt-postfix" "Latin-1" "IS<" t
1152 "Icelandic (
\e,AM
\e(Bslenska) input method with postfix modifiers
1162 D/ ->
\e,AP
\e(B (eth)
1163 T/ ->
\e,A^
\e(B (thorn)
1165 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
1166 " nil t nil nil nil nil nil nil nil nil t)
1212 (quail-define-package
1213 "italian-alt-postfix" "Latin-1" "IT<" t
1214 "Italian (Italiano) input method with postfix modifiers
1216 a' ->
\e,Aa
\e(B A' ->
\e,AA
\e(B a` ->
\e,A`
\e(B A` ->
\e,A@
\e(B i^ ->
\e,An
\e(B << ->
\e,A+
\e(B
1217 e' ->
\e,Ai
\e(B E' ->
\e,AI
\e(B e` ->
\e,Ah
\e(B E` ->
\e,AH
\e(B I^ ->
\e,AN
\e(B >> ->
\e,A;
\e(B
1218 i' ->
\e,Am
\e(B I' ->
\e,AM
\e(B i` ->
\e,Al
\e(B I` ->
\e,AL
\e(B o_ ->
\e,A:
\e(B
1219 o' ->
\e,As
\e(B O' ->
\e,AS
\e(B o` ->
\e,Ar
\e(B O` ->
\e,AR
\e(B a_ ->
\e,A*
\e(B
1220 u' ->
\e,Az
\e(B U' ->
\e,AZ
\e(B u` ->
\e,Ay
\e(B U` ->
\e,AY
\e(B
1222 This method is for purists who like accents the old way.
1224 Doubling the postfix separates the letter and postfix: e.g. a`` -> a`
1225 " nil t nil nil nil nil nil nil nil nil t)
1283 (quail-define-package
1284 "norwegian-alt-postfix" "Latin-1" "NO<" t
1285 "Norwegian (Norsk) input method (rule: AE->
\e,AF
\e(B, OE->
\e,AX
\e(B, AA->
\e,AE
\e(B, E'->
\e,AI
\e(B)
1287 Doubling the postfix separates the letter and postfix: e.g. aee -> ae
1289 nil t nil nil nil nil nil nil nil nil t)
1311 (quail-define-package
1312 "scandinavian-alt-postfix" "Latin-1" "SC<" t
1313 "Scandinavian input method with postfix modifiers
1314 Supported languages are Swidish, Norwegian, Danish, and Finnish.
1323 Doubling the postfix separates the letter and postfix:
1324 aee -> ae o\"\" -> o\" etc.
1325 " nil t nil nil nil nil nil nil nil nil t)
1355 (quail-define-package
1356 "spanish-alt-postfix" "Spanish" "ES<" t
1357 "Spanish (Espa
\e,Aq
\e(Bol) input method with postfix modifiers
1368 Doubling the postfix separates the letter and postfix:
1369 a'' -> a' n~~ -> n~, etc.
1370 " nil t nil nil nil nil nil nil nil nil t)
1404 (quail-define-package
1405 "swedish-alt-postfix" "Latin-1" "SV<" t
1406 "Swedish (Svenska) input method (rule: AA ->
\e,AE
\e(B, AE ->
\e,AD
\e(B, OE ->
\e,AV
\e(B, E' ->
\e,AI
\e(B)
1408 Doubling the postfix separates the letter and postfix: e.g. aee -> ae
1409 " nil t nil nil nil nil nil nil nil nil t)
1431 (quail-define-package
1432 "turkish-latin-3-alt-postfix" "Turkish" "TR3<<" t
1433 "Turkish (T
\e,A|
\e(Brk
\e,Ag
\e(Be) input method with postfix modifiers.
1435 This is for those who use Latin-3 (ISO-8859-3) for Turkish. If you
1436 use Latin-5 (ISO-8859-9), you should use \"turkish-alt-postfix\" instead.
1438 Note for I,
\e,C9
\e(B,
\e,C)
\e(B, i.
1452 Doubling the postfix separates the letter and postfix: e.g. a^^ -> a^
1453 " nil t nil nil nil nil nil nil nil nil t)
1493 (quail-define-package
1494 "turkish-alt-postfix" "Turkish" "TR
\e,A+
\e(B" t
1495 "Turkish (T
\e,A|
\e(Brk
\e,Ag
\e(Be) input method with postfix modifiers.
1497 This is for those who use Latin-5 (ISO-8859-9) for Turkish. If you
1498 use Latin-3 (ISO-8859-3), you should use
1499 \"turkish-latin-3-alt-postfix\" instead.
1501 Note for I,
\e,M}
\e(B,
\e,M]
\e(B, i.
1515 Doubling the postfix separates the letter and postfix: e.g. a^^ -> a^
1516 " nil t nil nil nil nil nil nil nil nil t)
1556 ;; Dutch Quail input method derived from the one in Yudit by Roman
1558 (quail-define-package
1559 "dutch" "Dutch" "NL" t
1560 ;; XEmacs change; don't mention `mule-unicode-0100-24ff', conditionalise
1561 ;; the documentation of various non-Latin-1 chars.
1562 (format "Dutch character mixfix input method.
1565 %s ------------+---------+----------
1567 ------------+---------+----------
1568 acute | ' | a' ->
\e,Aa
\e(B
1569 grave | ` | a` ->
\e,A`
\e(B
1570 circumflex | ^ | a^ ->
\e,Ab
\e(B
1571 Turkish | various | i/ ->
\e,M}
\e(B s, ->
\e,B:
\e(B g^ ->
\e,Mp
\e(B I/ ->
\e,M]
\e(B
1572 | | S, ->
\e,B*
\e(B G^ ->
\e,MP
\e(B
1573 ------------+---------+----------
1575 ------------+---------+----------
1576 diaeresis | \" | \"a ->
\e,Ad
\e(B
1578 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
1579 " (if latin-alt-decent-xemacs-unicode-support
1580 (format " ------------+---------+----------
1581 others | | fl. -> %c eur. -> %c ij -> %c IJ -> %c
1582 " (decode-char 'ucs #x192) (decode-char 'ucs #x20ac)
1583 (decode-char 'ucs #x133) (decode-char 'ucs #x132))
1585 nil t nil nil nil nil nil nil nil nil t)
1589 '(quail-define-rules)
1591 ;; "Trema on the second letter of vowel pair." Yudit uses `:', not `"'.
1592 ("\"a" ?
\e,Ad
\e(B) ;; LATIN SMALL LETTER A WITH DIAERESIS
1593 ("\"e" ?
\e,Ak
\e(B) ;; LATIN SMALL LETTER E WITH DIAERESIS
1594 ("\"i" ?
\e,Ao
\e(B) ;; LATIN SMALL LETTER I WITH DIAERESIS
1595 ("\"o" ?
\e,Av
\e(B) ;; LATIN SMALL LETTER O WITH DIAERESIS
1596 ("\"u" ?
\e,A|
\e(B) ;; LATIN SMALL LETTER U WITH DIAERESIS
1597 ("\"A" ?
\e,AD
\e(B) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
1598 ("\"E" ?
\e,AK
\e(B) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
1599 ("\"I" ?
\e,AO
\e(B) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
1600 ("\"O" ?
\e,AV
\e(B) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
1601 ("\"U" ?
\e,A\
\e(B) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
1602 ;; "Acute, marking emphasis on long vowels":
1603 ("a'" ?
\e,Aa
\e(B) ;; LATIN SMALL LETTER A WITH ACUTE
1604 ("e'" ?
\e,Ai
\e(B) ;; LATIN SMALL LETTER E WITH ACUTE
1605 ("i'" ?
\e,Am
\e(B) ;; LATIN SMALL LETTER I WITH ACUTE
1606 ("o'" ?
\e,As
\e(B) ;; LATIN SMALL LETTER O WITH ACUTE
1607 ("u'" ?
\e,Az
\e(B) ;; LATIN SMALL LETTER U WITH ACUTE
1608 ("A'" ?
\e,AA
\e(B) ;; LATIN CAPITAL LETTER A WITH ACUTE
1609 ("E'" ?
\e,AI
\e(B) ;; LATIN CAPITAL LETTER E WITH ACUTE
1610 ("I'" ?
\e,AM
\e(B) ;; LATIN CAPITAL LETTER I WITH ACUTE
1611 ("O'" ?
\e,AS
\e(B) ;; LATIN CAPITAL LETTER O WITH ACUTE
1612 ("U'" ?
\e,AZ
\e(B) ;; LATIN CAPITAL LETTER U WITH ACUTE
1613 ;; "Grave, marking emphasis on short vowels":
1614 ("a`" ?
\e,A`
\e(B) ;; LATIN SMALL LETTER A WITH GRAVE
1615 ("e`" ?
\e,Ah
\e(B) ;; LATIN SMALL LETTER E WITH GRAVE
1616 ("i`" ?
\e,Al
\e(B) ;; LATIN SMALL LETTER I WITH GRAVE
1617 ("o`" ?
\e,Ar
\e(B) ;; LATIN SMALL LETTER O WITH GRAVE
1618 ("u`" ?
\e,Ay
\e(B) ;; LATIN SMALL LETTER U WITH GRAVE
1619 ("A`" ?
\e,A@
\e(B) ;; LATIN CAPITAL LETTER A WITH GRAVE
1620 ("E`" ?
\e,AH
\e(B) ;; LATIN CAPITAL LETTER E WITH GRAVE
1621 ("I`" ?
\e,AL
\e(B) ;; LATIN CAPITAL LETTER I WITH GRAVE
1622 ("O`" ?
\e,AR
\e(B) ;; LATIN CAPITAL LETTER O WITH GRAVE
1623 ("U`" ?
\e,AY
\e(B) ;; LATIN CAPITAL LETTER U WITH GRAVE
1624 ;; "Cater for the use of many French words and use of the circumflex
1625 ;; in Frisian." Yudit used `;' for cedilla.
1626 ("c," ?
\e,Ag
\e(B) ;; LATIN SMALL LETTER C WITH CEDILLA
1627 ("C," ?
\e,AG
\e(B) ;; LATIN CAPITAL LETTER C WITH CEDILLA
1628 ("a^" ?
\e,Ab
\e(B) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
1629 ("e^" ?
\e,Aj
\e(B) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
1630 ("i^" ?
\e,An
\e(B) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
1631 ("o^" ?
\e,At
\e(B) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
1632 ("u^" ?
\e,A{
\e(B) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
1633 ("A^" ?
\e,AB
\e(B) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
1634 ("E^" ?
\e,AJ
\e(B) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
1635 ("I^" ?
\e,AN
\e(B) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
1636 ("O^" ?
\e,AT
\e(B) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
1637 ("U^" ?
\e,A[
\e(B) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
1639 ;; "Follow the example of the Dutch POSIX locale, using ISO-8859-9
1640 ;; to cater to the many Turks in Dutch society." Perhaps German
1641 ;; methods should do so too. Follow turkish-alt-postfix here.
1642 ;; XEmacs change; actually use the ISO escapes for the 8859-9
1643 ;; characters, not mule-unicode-0100-24ff
1645 ("i/" ?
\e,M}
\e(B) ;; LATIN SMALL LETTER I WITH NO DOT
1646 ("s," ?
\e,B:
\e(B) ;; LATIN SMALL LETTER S WITH CEDILLA
1647 ("g^" ?
\e,Mp
\e(B) ;; LATIN SMALL LETTER G WITH BREVE
1648 ("I/" ?
\e,M]
\e(B) ;; LATIN CAPITAL LETTER I WITH DOT ABOVE
1649 ("S," ?
\e,B*
\e(B) ;; LATIN CAPITAL LETTER S WITH CEDILLA
1650 ("G^" ?
\e,MP
\e(B)) ;; LATIN CAPITAL LETTER G WITH BREVE
1652 (when latin-alt-decent-xemacs-unicode-support
1653 ;; LATIN SMALL LETTER F WITH HOOK (florin currency symbol)
1654 (list (list "fl." (decode-char 'ucs #x192))
1656 (list "eur." (decode-char 'ucs #x20ac))
1657 ;; "The 25th letter of the Dutch alphabet."
1658 ;; LATIN SMALL LIGATURE IJ
1659 (list "ij" (decode-char 'ucs #x133))
1660 (list "IJ" (decode-char 'ucs #x132))))))
1662 ;; Originally from Yudit, discussed with Albertas Agejevas
1663 ;; <alga@uosis.mif.vu.lt>
1664 (quail-define-package
1665 "lithuanian-numeric" "Lithuanian" "LtN" t
1666 "Lithuanian numeric input method.
1667 " nil t t t t nil nil nil nil nil t)
1671 '(quail-define-rules)
1691 ;; XEmacs change; conditionalise the directed quotation marks.
1692 (when latin-alt-decent-xemacs-unicode-support
1693 (list (list "9" (decode-char 'ucs #x201e))
1694 (list "0" (decode-char 'ucs #x201c))))))
1696 ;; From XFree 4.1 /usr/X11R6/lib/X11/xkb/symbols/lt, suggested by
1697 ;; Albertas Agejevas <alga@uosis.mif.vu.lt>
1698 (quail-define-package
1699 "lithuanian-keyboard" "Lithuanian" "Lt" t
1700 "Lithuanian standard keyboard input method.
1701 " nil t t t t nil nil nil nil nil t)
1705 '(quail-define-rules)
1722 ;; XEmacs change; conditionalise the directed quotation marks.
1723 (when latin-alt-decent-xemacs-unicode-support
1724 (list (list "9" (decode-char 'ucs #x201e))
1725 (list "0" (decode-char 'ucs #x201c))))))
1727 ;; From XFree 4.1 /usr/X11R6/lib/X11/xkb/symbols/lv
1728 (quail-define-package
1729 "latvian-keyboard" "Latvian" "Lv" t
1730 "Latvian standard keyboard input method.
1731 " nil t t t t nil nil nil nil nil t)
1735 '(quail-define-rules)
1764 ;; XEmacs change; conditionalise the directed quotation marks, the Euro
1766 (when latin-alt-decent-xemacs-unicode-support
1767 (list (list "\"" (decode-char 'ucs #x201e))
1768 (list "4" (decode-char 'ucs #x20ac))
1769 (list "\'" (decode-char 'ucs #x201c))))))
1771 (quail-define-package
1772 "latin-alt-postfix" "Latin" "L<" t
1773 "Latin character input method with postfix modifiers.
1774 This is the union of various input methods originally made for input
1775 of characters from a single Latin-N charset.
1777 | postfix | examples
1778 ------------+---------+----------
1779 acute | ' | a' ->
\e,Aa
\e(B
1780 grave | ` | a` ->
\e,A`
\e(B
1781 circumflex | ^ | a^ ->
\e,Ab
\e(B
1782 diaeresis | \" | a\" ->
\e,Ad
\e(B
1783 tilde | ~ | a~ ->
\e,Ac
\e(B
1784 cedilla | /` | c/ ->
\e,Ag
\e(B c` ->
\e,Ag
\e(B
1785 ogonek | ` | a` ->
\e,B1
\e(B
1786 breve | ~ | a~ ->
\e,Bc
\e(B
1787 caron | ~ | c~ ->
\e,Bh
\e(B
1788 dbl. acute | : | o: ->
\e,Bu
\e(B
1789 ring | ` | u` ->
\e,By
\e(B
1790 dot | ` | z` ->
\e,B?
\e(B
1791 stroke | / | d/ ->
\e,Bp
\e(B
1792 nordic | / | d/ ->
\e,Ap
\e(B t/ ->
\e,A~
\e(B a/ ->
\e,Ae
\e(B e/ ->
\e,Af
\e(B o/ ->
\e,Ax
\e(B
1793 others | /<> | s/ ->
\e,A_
\e(B ?/ ->
\e,A?
\e(B !/ ->
\e,A!
\e(B
1794 | various | << ->
\e,A+
\e(B >> ->
\e,A;
\e(B o_ ->
\e,A:
\e(B a_ ->
\e,A*
\e(B
1796 It would be natural to use comma for cedillas, but that would be
1797 inconvenient in practice because commas are needed very often after a
1800 Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
1801 " nil t nil nil nil nil nil nil nil nil t)
1803 ;; Fixme:
\e,A&
\e(B
\e,A'
\e(B
\e,A(
\e(B
\e,A)
\e(B
\e,A,
\e(B
\e,A-
\e(B
\e,A.
\e(B
\e,A/
\e(B
\e,A0
\e(B
\e,A1
\e(B
\e,A2
\e(B
\e,A3
\e(B
\e,A4
\e(B
\e,A5
\e(B
\e,A6
\e(B
\e,A7
\e(B
\e,A8
\e(B
\e,A9
\e(B
\e,A<
\e(B
\e,A=
\e(B
\e,A>
\e(B
\e,AW
\e(B
\e,Aw
\e(B
1804 ;; XEmacs change; make lots of characters be from a standard character set,
1805 ;; not mule-unicode-0100-24ff.
1808 '(quail-define-rules)
1990 ("y\"" ?
\e,A
\7f\e(B)
2158 ;; XEmacs change; conditionalise some characters 21.4 doesn't support.
2159 (when latin-alt-decent-xemacs-unicode-support
2160 (list (list "Y\"" (decode-char 'ucs #x178))
2161 (list "e=" (decode-char 'ucs #x20ac))
2162 (list "n/" (decode-char 'ucs #x14b))))))
2164 ;;; arch-tag: 722466a6-363d-431c-9161-879e16e2da5d
2165 ;;; latin-alt.el ends here