--- /dev/null
+;; Quail packages for inputting various European characters.
+
+;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
+;; Licensed to the Free Software Foundation.
+
+;; Keywords: multilingual, input method, latin
+
+;; 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 2, 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; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;; Author: TAKAHASHI Naoto <ntakahas@etl.go.jp>
+
+(require 'quail)
+
+(quail-define-package
+ "latin-1-alt-postfix" "Latin-1" "1<" t
+ "Latin-1 character input method with postfix modifiers
+
+ | postfix | examples
+ ------------+---------+----------
+ acute | ' | a' -> \e,Aa\e(B
+ grave | ` | a` -> \e,A`\e(B
+ circumflex | ^ | a^ -> \e,Ab\e(B
+ diaeresis | \" | a\" -> \e,Ad\e(B
+ tilde | ~ | a~ -> \e,Ac\e(B
+ cedilla | / | c/ -> \e,Ag\e(B
+ 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
+ others | /<> | s/ -> \e,A_\e(B ?/ -> \e,A?\e(B !/ -> \e,A!\e(B << -> \e,A+\e(B >> -> \e,A;\e(B
+
+It would be natural to use comma for cedillas, but that would be
+inconvenient in practice because commas are needed very often after a
+letter.
+
+Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A`" ?\e,A@\e(B)
+ ("A'" ?\e,AA\e(B)
+ ("A^" ?\e,AB\e(B)
+ ("A~" ?\e,AC\e(B)
+ ("A\"" ?\e,AD\e(B)
+ ("A/" ?\e,AE\e(B)
+ ("a`" ?\e,A`\e(B)
+ ("a'" ?\e,Aa\e(B)
+ ("a^" ?\e,Ab\e(B)
+ ("a~" ?\e,Ac\e(B)
+ ("a\"" ?\e,Ad\e(B)
+ ("a/" ?\e,Ae\e(B)
+ ("E`" ?\e,AH\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("E^" ?\e,AJ\e(B)
+ ("E\"" ?\e,AK\e(B)
+ ("E/" ?\e,AF\e(B)
+ ("e`" ?\e,Ah\e(B)
+ ("e'" ?\e,Ai\e(B)
+ ("e^" ?\e,Aj\e(B)
+ ("e\"" ?\e,Ak\e(B)
+ ("e/" ?\e,Af\e(B)
+ ("I`" ?\e,AL\e(B)
+ ("i`" ?\e,Al\e(B)
+ ("I'" ?\e,AM\e(B)
+ ("i'" ?\e,Am\e(B)
+ ("I^" ?\e,AN\e(B)
+ ("i^" ?\e,An\e(B)
+ ("I\"" ?\e,AO\e(B)
+ ("i\"" ?\e,Ao\e(B)
+ ("O`" ?\e,AR\e(B)
+ ("o`" ?\e,Ar\e(B)
+ ("O'" ?\e,AS\e(B)
+ ("o'" ?\e,As\e(B)
+ ("O^" ?\e,AT\e(B)
+ ("o^" ?\e,At\e(B)
+ ("O~" ?\e,AU\e(B)
+ ("o~" ?\e,Au\e(B)
+ ("O\"" ?\e,AV\e(B)
+ ("o\"" ?\e,Av\e(B)
+ ("O/" ?\e,AX\e(B)
+ ("o/" ?\e,Ax\e(B)
+ ("U`" ?\e,AY\e(B)
+ ("u`" ?\e,Ay\e(B)
+ ("U'" ?\e,AZ\e(B)
+ ("u'" ?\e,Az\e(B)
+ ("U^" ?\e,A[\e(B)
+ ("u^" ?\e,A{\e(B)
+ ("U\"" ?\e,A\\e(B)
+ ("u\"" ?\e,A|\e(B)
+ ("Y'" ?\e,A]\e(B)
+ ("y'" ?\e,A}\e(B)
+ ("y\"" ?\e,A\7f\e(B)
+ ("D/" ?\e,AP\e(B)
+ ("d/" ?\e,Ap\e(B)
+ ("T/" ?\e,A^\e(B)
+ ("t/" ?\e,A~\e(B)
+ ("s/" ?\e,A_\e(B)
+ ("C/" ?\e,AG\e(B)
+ ("c/" ?\e,Ag\e(B)
+ ("N~" ?\e,AQ\e(B)
+ ("n~" ?\e,Aq\e(B)
+ ("?/" ?\e,A?\e(B)
+ ("!/" ?\e,A!\e(B)
+ ("<<" ?\e,A+\e(B)
+ (">>" ?\e,A;\e(B)
+
+ ("A``" ["A`"])
+ ("A''" ["A'"])
+ ("A^^" ["A^"])
+ ("A~~" ["A~"])
+ ("A\"\"" ["A\""])
+ ("A//" ["A/"])
+ ("a``" ["a`"])
+ ("a''" ["a'"])
+ ("a^^" ["a^"])
+ ("a~~" ["a~"])
+ ("a\"\"" ["a\""])
+ ("a//" ["a/"])
+ ("E``" ["E`"])
+ ("E''" ["E'"])
+ ("E^^" ["E^"])
+ ("E\"\"" ["E\""])
+ ("E//" ["E/"])
+ ("e``" ["e`"])
+ ("e''" ["e'"])
+ ("e^^" ["e^"])
+ ("e\"\"" ["e\""])
+ ("e//" ["e/"])
+ ("I``" ["I`"])
+ ("i``" ["i`"])
+ ("I''" ["I'"])
+ ("i''" ["i'"])
+ ("I^^" ["I^"])
+ ("i^^" ["i^"])
+ ("I\"\"" ["I\""])
+ ("i\"\"" ["i\""])
+ ("O``" ["O`"])
+ ("o``" ["o`"])
+ ("O''" ["O'"])
+ ("o''" ["o'"])
+ ("O^^" ["O^"])
+ ("o^^" ["o^"])
+ ("O~~" ["O~"])
+ ("o~~" ["o~"])
+ ("O\"\"" ["O\""])
+ ("o\"\"" ["o\""])
+ ("O//" ["O/"])
+ ("o//" ["o/"])
+ ("U``" ["U`"])
+ ("u``" ["u`"])
+ ("U''" ["U'"])
+ ("u''" ["u'"])
+ ("U^^" ["U^"])
+ ("u^^" ["u^"])
+ ("U\"\"" ["U\""])
+ ("u\"\"" ["u\""])
+ ("Y''" ["Y'"])
+ ("y''" ["y'"])
+ ("y\"\"" ["y\""])
+ ("D//" ["D/"])
+ ("d//" ["d/"])
+ ("T//" ["T/"])
+ ("t//" ["t/"])
+ ("s//" ["s/"])
+ ("C//" ["C/"])
+ ("c//" ["c/"])
+ ("N~~" ["N~"])
+ ("n~~" ["n~"])
+ ("?//" ["?/"])
+ ("!//" ["!/"])
+ ("<<<" ["<<"])
+ (">>>" [">>"])
+ )
+
+(quail-define-package
+ "latin-2-alt-postfix" "Latin-2" "2<" t
+ "Latin-2 character input method with postfix modifiers
+
+ | postfix | examples
+ ------------+---------+----------
+ acute | ' | a' -> \e,Ba\e(B
+ ogonek | ` | a` -> \e,B1\e(B
+ diaeresis | \" | a\" -> \e,Bd\e(B
+ circumflex | ^ | a^ -> \e,Bb\e(B
+ breve | ~ | a~ -> \e,Bc\e(B
+ cedilla | ` | c` -> \e,Bg\e(B
+ caron | ~ | c~ -> \e,Bh\e(B
+ dbl. acute | \" | o\" -> \e,Bu\e(B
+ ring | ` | u` -> \e,By\e(B
+ dot | ` | z` -> \e,B?\e(B
+ stroke | / | d/ -> \e,Bp\e(B
+ others | / | s/ -> \e,B_\e(B
+
+It would be natural to use period and comma for dots/rings and
+cedillas/ogoneks, but that would inconvenient in practice, because
+periods and commas are needed very often after a letter.
+
+Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A'" ?\e,BA\e(B)
+ ("A`" ?\e,B!\e(B)
+ ("A\"" ?\e,BD\e(B)
+ ("A^" ?\e,BB\e(B)
+ ("A~" ?\e,BC\e(B)
+ ("C'" ?\e,BF\e(B)
+ ("C`" ?\e,BG\e(B)
+ ("C~" ?\e,BH\e(B)
+ ("D/" ?\e,BP\e(B)
+ ("D~" ?\e,BO\e(B)
+ ("E'" ?\e,BI\e(B)
+ ("E`" ?\e,BJ\e(B)
+ ("E\"" ?\e,BK\e(B)
+ ("E~" ?\e,BL\e(B)
+ ("I'" ?\e,BM\e(B)
+ ("I^" ?\e,BN\e(B)
+ ("L'" ?\e,BE\e(B)
+ ("L/" ?\e,B#\e(B)
+ ("L~" ?\e,B%\e(B)
+ ("N'" ?\e,BQ\e(B)
+ ("N~" ?\e,BR\e(B)
+ ("O'" ?\e,BS\e(B)
+ ("O\"" ?\e,BU\e(B)
+ ("O\"" ?\e,BV\e(B)
+ ("O^" ?\e,BT\e(B)
+ ("R'" ?\e,B@\e(B)
+ ("R~" ?\e,BX\e(B)
+ ("S'" ?\e,B&\e(B)
+ ("S`" ?\e,B*\e(B)
+ ("S~" ?\e,B)\e(B)
+ ("T`" ?\e,B^\e(B)
+ ("T~" ?\e,B+\e(B)
+ ("U'" ?\e,BZ\e(B)
+ ("U\"" ?\e,B[\e(B)
+ ("U\"" ?\e,B\\e(B)
+ ("U`" ?\e,BY\e(B)
+ ("Y'" ?\e,B]\e(B)
+ ("Z'" ?\e,B,\e(B)
+ ("Z`" ?\e,B/\e(B)
+ ("Z~" ?\e,B.\e(B)
+ ("a'" ?\e,Ba\e(B)
+ ("a`" ?\e,B1\e(B)
+ ("a\"" ?\e,Bd\e(B)
+ ("a^" ?\e,Bb\e(B)
+ ("a~" ?\e,Bc\e(B)
+ ("c'" ?\e,Bf\e(B)
+ ("c`" ?\e,Bg\e(B)
+ ("c~" ?\e,Bh\e(B)
+ ("d/" ?\e,Bp\e(B)
+ ("d~" ?\e,Bo\e(B)
+ ("e'" ?\e,Bi\e(B)
+ ("e`" ?\e,Bj\e(B)
+ ("e\"" ?\e,Bk\e(B)
+ ("e~" ?\e,Bl\e(B)
+ ("i'" ?\e,Bm\e(B)
+ ("i^" ?\e,Bn\e(B)
+ ("l'" ?\e,Be\e(B)
+ ("l/" ?\e,B3\e(B)
+ ("l~" ?\e,B5\e(B)
+ ("n'" ?\e,Bq\e(B)
+ ("n~" ?\e,Br\e(B)
+ ("o'" ?\e,Bs\e(B)
+ ("o\"" ?\e,Bu\e(B)
+ ("o\"" ?\e,Bv\e(B)
+ ("o^" ?\e,Bt\e(B)
+ ("r'" ?\e,B`\e(B)
+ ("r~" ?\e,Bx\e(B)
+ ("s'" ?\e,B6\e(B)
+ ("s`" ?\e,B:\e(B)
+ ("s/" ?\e,B_\e(B)
+ ("s~" ?\e,B9\e(B)
+ ("t`" ?\e,B~\e(B)
+ ("t~" ?\e,B;\e(B)
+ ("u'" ?\e,Bz\e(B)
+ ("u\"" ?\e,B{\e(B)
+ ("u\"" ?\e,B|\e(B)
+ ("u`" ?\e,By\e(B)
+ ("y'" ?\e,B}\e(B)
+ ("z'" ?\e,B<\e(B)
+ ("z`" ?\e,B?\e(B)
+ ("z~" ?\e,B>\e(B)
+
+ ("A''" ["A'"])
+ ("A``" ["A`"])
+ ("A\"\"" ["A\""])
+ ("A^^" ["A^"])
+ ("A~~" ["A~"])
+ ("C''" ["C'"])
+ ("C``" ["C`"])
+ ("C~~" ["C~"])
+ ("D//" ["D/"])
+ ("D~~" ["D~"])
+ ("E''" ["E'"])
+ ("E``" ["E`"])
+ ("E\"\"" ["E\""])
+ ("E~~" ["E~"])
+ ("I''" ["I'"])
+ ("I^^" ["I^"])
+ ("L''" ["L'"])
+ ("L//" ["L/"])
+ ("L~~" ["L~"])
+ ("N''" ["N'"])
+ ("N~~" ["N~"])
+ ("O''" ["O'"])
+ ("O::" ["O:"])
+ ("O\"\"" ["O\""])
+ ("O^^" ["O^"])
+ ("R''" ["R'"])
+ ("R~~" ["R~"])
+ ("S''" ["S'"])
+ ("S``" ["S`"])
+ ("S~~" ["S~"])
+ ("T``" ["T`"])
+ ("T~~" ["T~"])
+ ("U''" ["U'"])
+ ("U::" ["U:"])
+ ("U\"\"" ["U\""])
+ ("U``" ["U`"])
+ ("Y''" ["Y'"])
+ ("Z''" ["Z'"])
+ ("Z``" ["Z`"])
+ ("Z~~" ["Z~"])
+ ("a''" ["a'"])
+ ("a``" ["a`"])
+ ("a\"\"" ["a\""])
+ ("a^^" ["a^"])
+ ("a~~" ["a~"])
+ ("c''" ["c'"])
+ ("c``" ["c`"])
+ ("c~~" ["c~"])
+ ("d//" ["d/"])
+ ("d~~" ["d~"])
+ ("e''" ["e'"])
+ ("e``" ["e`"])
+ ("e\"\"" ["e\""])
+ ("e~~" ["e~"])
+ ("i''" ["i'"])
+ ("i^^" ["i^"])
+ ("l''" ["l'"])
+ ("l//" ["l/"])
+ ("l~~" ["l~"])
+ ("n''" ["n'"])
+ ("n~~" ["n~"])
+ ("o''" ["o'"])
+ ("o::" ["o:"])
+ ("o\"\"" ["o\""])
+ ("o^^" ["o^"])
+ ("r''" ["r'"])
+ ("r~~" ["r~"])
+ ("s''" ["s'"])
+ ("s``" ["s`"])
+ ("s//" ["s/"])
+ ("s~~" ["s~"])
+ ("t``" ["t`"])
+ ("t~~" ["t~"])
+ ("u''" ["u'"])
+ ("u::" ["u:"])
+ ("u\"\"" ["u\""])
+ ("u``" ["u`"])
+ ("y''" ["y'"])
+ ("z''" ["z'"])
+ ("z``" ["z`"])
+ ("z~~" ["z~"])
+ )
+
+(quail-define-package
+ "latin-3-alt-postfix" "Latin-3" "3<" t
+ "Latin-3 character input method with postfix modifiers
+
+ | postfix | examples
+ ------------+---------+----------
+ acute | ' | a' -> \e,Ca\e(B
+ grave | ` | a` -> \e,C`\e(B
+ circumflex | ^ | a^ -> \e,Cb\e(B
+ diaeresis | \" | a\" -> \e,Cd\e(B
+ dot | / | c/ -> \e,Ce\e(B i/ -> \e,C9\e(B I/ -> \e,C)\e(B
+ cedilla | ` | c` -> \e,Cg\e(B
+ breve | ~ | g~ -> \e,C;\e(B
+ tilde | ~ | n~ -> \e,Cq\e(B
+ stroke | / | h/ -> \e,C1\e(B
+ others | / | s/ -> \e,C_\e(B
+
+It would be natural to use period and comma for dots and cedillas, but
+that would inconvenient in practice, because periods and commas are
+needed very often after a letter.
+
+Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A`" ?\e,C@\e(B)
+ ("A'" ?\e,CA\e(B)
+ ("A^" ?\e,CB\e(B)
+ ("A\"" ?\e,CD\e(B)
+ ("C/" ?\e,CE\e(B)
+ ("C^" ?\e,CF\e(B)
+ ("C`" ?\e,CG\e(B)
+ ("E`" ?\e,CH\e(B)
+ ("E'" ?\e,CI\e(B)
+ ("E^" ?\e,CJ\e(B)
+ ("E\"" ?\e,CK\e(B)
+ ("G~" ?\e,C+\e(B)
+ ("G/" ?\e,CU\e(B)
+ ("G^" ?\e,CX\e(B)
+ ("H/" ?\e,C!\e(B)
+ ("H^" ?\e,C&\e(B)
+ ("I/" ?\e,C)\e(B)
+ ("I`" ?\e,CL\e(B)
+ ("I'" ?\e,CM\e(B)
+ ("I^" ?\e,CN\e(B)
+ ("I\"" ?\e,CO\e(B)
+ ("J^" ?\e,C,\e(B)
+ ("N~" ?\e,CQ\e(B)
+ ("O`" ?\e,CR\e(B)
+ ("O'" ?\e,CS\e(B)
+ ("O^" ?\e,CT\e(B)
+ ("O\"" ?\e,CV\e(B)
+ ("S`" ?\e,C*\e(B)
+ ("S^" ?\e,C^\e(B)
+ ("U`" ?\e,CY\e(B)
+ ("U'" ?\e,CZ\e(B)
+ ("U^" ?\e,C[\e(B)
+ ("U\"" ?\e,C\\e(B)
+ ("U~" ?\e,C]\e(B)
+ ("Z/" ?\e,C/\e(B)
+ ("a`" ?\e,C`\e(B)
+ ("a'" ?\e,Ca\e(B)
+ ("a^" ?\e,Cb\e(B)
+ ("a\"" ?\e,Cd\e(B)
+ ("c/" ?\e,Ce\e(B)
+ ("c^" ?\e,Cf\e(B)
+ ("c`" ?\e,Cg\e(B)
+ ("e`" ?\e,Ch\e(B)
+ ("e'" ?\e,Ci\e(B)
+ ("e^" ?\e,Cj\e(B)
+ ("e\"" ?\e,Ck\e(B)
+ ("g~" ?\e,C;\e(B)
+ ("g/" ?\e,Cu\e(B)
+ ("g^" ?\e,Cx\e(B)
+ ("h/" ?\e,C1\e(B)
+ ("h^" ?\e,C6\e(B)
+ ("i/" ?\e,C9\e(B)
+ ("i`" ?\e,Cl\e(B)
+ ("i'" ?\e,Cm\e(B)
+ ("i^" ?\e,Cn\e(B)
+ ("i\"" ?\e,Co\e(B)
+ ("j^" ?\e,C<\e(B)
+ ("n~" ?\e,Cq\e(B)
+ ("o`" ?\e,Cr\e(B)
+ ("o'" ?\e,Cs\e(B)
+ ("o^" ?\e,Ct\e(B)
+ ("o\"" ?\e,Cv\e(B)
+ ("s`" ?\e,C:\e(B)
+ ("s/" ?\e,C_\e(B)
+ ("s^" ?\e,C~\e(B)
+ ("u`" ?\e,Cy\e(B)
+ ("u'" ?\e,Cz\e(B)
+ ("u^" ?\e,C{\e(B)
+ ("u\"" ?\e,C|\e(B)
+ ("u~" ?\e,C}\e(B)
+ ("z/" ?\e,C?\e(B)
+
+ ("A``" ["A`"])
+ ("A''" ["A'"])
+ ("A^^" ["A^"])
+ ("A\"\"" ["A\""])
+ ("C//" ["C/"])
+ ("C^^" ["C^"])
+ ("C``" ["C`"])
+ ("E``" ["E`"])
+ ("E''" ["E'"])
+ ("E^^" ["E^"])
+ ("E\"\"" ["E\""])
+ ("G~~" ["G~"])
+ ("G//" ["G/"])
+ ("G^^" ["G^"])
+ ("H//" ["H/"])
+ ("H^^" ["H^"])
+ ("I//" ["I/"])
+ ("I``" ["I`"])
+ ("I''" ["I'"])
+ ("I^^" ["I^"])
+ ("I\"\"" ["I\""])
+ ("J^^" ["J^"])
+ ("N~~" ["N~"])
+ ("O``" ["O`"])
+ ("O''" ["O'"])
+ ("O^^" ["O^"])
+ ("O\"\"" ["O\""])
+ ("S``" ["S`"])
+ ("S^^" ["S^"])
+ ("U``" ["U`"])
+ ("U''" ["U'"])
+ ("U^^" ["U^"])
+ ("U\"\"" ["U\""])
+ ("U~~" ["U~"])
+ ("Z//" ["Z/"])
+ ("a``" ["a`"])
+ ("a''" ["a'"])
+ ("a^^" ["a^"])
+ ("a\"\"" ["a\""])
+ ("c//" ["c/"])
+ ("c^^" ["c^"])
+ ("c``" ["c`"])
+ ("e``" ["e`"])
+ ("e''" ["e'"])
+ ("e^^" ["e^"])
+ ("e\"\"" ["e\""])
+ ("g~~" ["g~"])
+ ("g//" ["g/"])
+ ("g^^" ["g^"])
+ ("h//" ["h/"])
+ ("h^^" ["h^"])
+ ("i//" ["i/"])
+ ("i``" ["i`"])
+ ("i''" ["i'"])
+ ("i^^" ["i^"])
+ ("i\"\"" ["i\""])
+ ("j^^" ["j^"])
+ ("n~~" ["n~"])
+ ("o``" ["o`"])
+ ("o''" ["o'"])
+ ("o^^" ["o^"])
+ ("o\"\"" ["o\""])
+ ("s``" ["s`"])
+ ("s//" ["s/"])
+ ("s^^" ["s^"])
+ ("u``" ["u`"])
+ ("u''" ["u'"])
+ ("u^^" ["u^"])
+ ("u\"\"" ["u\""])
+ ("u~~" ["u~"])
+ ("z//" ["z/"])
+ )
+
+(quail-define-package
+ "latin-4-alt-postfix" "Latin-4" "4<" t
+ "Latin-4 characters input method with postfix modifiers
+
+ | postfix | examples
+ ------------+---------+----------
+ acute | ' | a' -> \e,Da\e(B
+ circumflex | ^ | a^ -> \e,Db\e(B
+ diaeresis | \" | a\" -> \e,Dd\e(B
+ ogonek | ` | a` -> \e,D1\e(B
+ macron | - | a- -> \e,D`\e(B
+ tilde | ~ | a~ -> \e,Dc\e(B
+ caron | ~ | c~ -> \e,Dh\e(B
+ dot | ~ | e~ -> \e,Dl\e(B
+ cedilla | ` | k` -> \e,Ds\e(B g` -> \e,D;\e(B
+ stroke | / | d/ -> \e,Dp\e(B
+ nordic | / | a/ -> \e,De\e(B e/ -> \e,Df\e(B o/ -> \e,Dx\e(B
+ others | / | s/ -> \e,D_\e(B n/ -> \e,D?\e(B k/ -> \e,D"\e(B
+
+It would be natural to use period and comma for dots and
+cedillas/ogoneks, but that would inconvenient in practice, because
+periods and commas are needed very often after a letter.
+
+Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A`" ?\e,D!\e(B)
+ ("A-" ?\e,D@\e(B)
+ ("A'" ?\e,DA\e(B)
+ ("A^" ?\e,DB\e(B)
+ ("A~" ?\e,DC\e(B)
+ ("A\"" ?\e,DD\e(B)
+ ("A/" ?\e,DE\e(B)
+ ("C~" ?\e,DH\e(B)
+ ("D/" ?\e,DP\e(B)
+ ("E/" ?\e,DF\e(B)
+ ("E-" ?\e,D*\e(B)
+ ("E'" ?\e,DI\e(B)
+ ("E`" ?\e,DJ\e(B)
+ ("E\"" ?\e,DK\e(B)
+ ("E~" ?\e,DL\e(B)
+ ("G`" ?\e,D+\e(B)
+ ("I~" ?\e,D%\e(B)
+ ("I`" ?\e,DG\e(B)
+ ("I'" ?\e,DM\e(B)
+ ("I^" ?\e,DN\e(B)
+ ("I-" ?\e,DO\e(B)
+ ("K`" ?\e,DS\e(B)
+ ("L`" ?\e,D&\e(B)
+ ("N/" ?\e,D=\e(B)
+ ("N`" ?\e,DQ\e(B)
+ ("O-" ?\e,DR\e(B)
+ ("O^" ?\e,DT\e(B)
+ ("O~" ?\e,DU\e(B)
+ ("O\"" ?\e,DV\e(B)
+ ("O/" ?\e,DX\e(B)
+ ("R`" ?\e,D#\e(B)
+ ("S~" ?\e,D)\e(B)
+ ("T/" ?\e,D,\e(B)
+ ("U`" ?\e,DY\e(B)
+ ("U'" ?\e,DZ\e(B)
+ ("U^" ?\e,D[\e(B)
+ ("U\"" ?\e,D\\e(B)
+ ("U~" ?\e,D]\e(B)
+ ("U-" ?\e,D^\e(B)
+ ("Z~" ?\e,D.\e(B)
+ ("a`" ?\e,D1\e(B)
+ ("a-" ?\e,D`\e(B)
+ ("a'" ?\e,Da\e(B)
+ ("a^" ?\e,Db\e(B)
+ ("a~" ?\e,Dc\e(B)
+ ("a\"" ?\e,Dd\e(B)
+ ("a/" ?\e,De\e(B)
+ ("c~" ?\e,Dh\e(B)
+ ("d/" ?\e,Dp\e(B)
+ ("e/" ?\e,Df\e(B)
+ ("e-" ?\e,D:\e(B)
+ ("e'" ?\e,Di\e(B)
+ ("e`" ?\e,Dj\e(B)
+ ("e\"" ?\e,Dk\e(B)
+ ("e~" ?\e,Dl\e(B)
+ ("g`" ?\e,D;\e(B)
+ ("i~" ?\e,D5\e(B)
+ ("i`" ?\e,Dg\e(B)
+ ("i'" ?\e,Dm\e(B)
+ ("i^" ?\e,Dn\e(B)
+ ("i-" ?\e,Do\e(B)
+ ("k/" ?\e,D"\e(B)
+ ("k`" ?\e,Ds\e(B)
+ ("l`" ?\e,D6\e(B)
+ ("n/" ?\e,D?\e(B)
+ ("n`" ?\e,Dq\e(B)
+ ("o-" ?\e,Dr\e(B)
+ ("o^" ?\e,Dt\e(B)
+ ("o~" ?\e,Du\e(B)
+ ("o\"" ?\e,Dv\e(B)
+ ("o/" ?\e,Dx\e(B)
+ ("r`" ?\e,D3\e(B)
+ ("s/" ?\e,D_\e(B)
+ ("s~" ?\e,D9\e(B)
+ ("t/" ?\e,D<\e(B)
+ ("u`" ?\e,Dy\e(B)
+ ("u'" ?\e,Dz\e(B)
+ ("u^" ?\e,D{\e(B)
+ ("u\"" ?\e,D|\e(B)
+ ("u~" ?\e,D}\e(B)
+ ("u-" ?\e,D~\e(B)
+ ("z~" ?\e,D>\e(B)
+
+ ("A``" ["A`"])
+ ("A--" ["A-"])
+ ("A''" ["A'"])
+ ("A^^" ["A^"])
+ ("A~~" ["A~"])
+ ("A\"\"" ["A\""])
+ ("A//" ["A/"])
+ ("C~~" ["C~"])
+ ("D//" ["D/"])
+ ("E//" ["E/"])
+ ("E--" ["E-"])
+ ("E''" ["E'"])
+ ("E``" ["E`"])
+ ("E\"\"" ["E\""])
+ ("E~~" ["E~"])
+ ("G``" ["G`"])
+ ("I~~" ["I~"])
+ ("I``" ["I`"])
+ ("I''" ["I'"])
+ ("I^^" ["I^"])
+ ("I--" ["I-"])
+ ("K``" ["K`"])
+ ("L``" ["L`"])
+ ("N//" ["N/"])
+ ("N``" ["N`"])
+ ("O--" ["O-"])
+ ("O^^" ["O^"])
+ ("O~~" ["O~"])
+ ("O\"\"" ["O\""])
+ ("O//" ["O/"])
+ ("R``" ["R`"])
+ ("S~~" ["S~"])
+ ("T//" ["T/"])
+ ("U``" ["U`"])
+ ("U''" ["U'"])
+ ("U^^" ["U^"])
+ ("U\"\"" ["U\""])
+ ("U~~" ["U~"])
+ ("U--" ["U-"])
+ ("Z~~" ["Z~"])
+ ("a``" ["a`"])
+ ("a--" ["a-"])
+ ("a''" ["a'"])
+ ("a^^" ["a^"])
+ ("a~~" ["a~"])
+ ("a\"\"" ["a\""])
+ ("a//" ["a/"])
+ ("c~~" ["c~"])
+ ("d//" ["d/"])
+ ("e//" ["e/"])
+ ("e--" ["e-"])
+ ("e''" ["e'"])
+ ("e``" ["e`"])
+ ("e\"\"" ["e\""])
+ ("e~~" ["e~"])
+ ("g``" ["g`"])
+ ("i~~" ["i~"])
+ ("i``" ["i`"])
+ ("i''" ["i'"])
+ ("i^^" ["i^"])
+ ("i--" ["i-"])
+ ("k//" ["k/"])
+ ("k``" ["k`"])
+ ("l``" ["l`"])
+ ("n//" ["n/"])
+ ("n``" ["n`"])
+ ("o--" ["o-"])
+ ("o^^" ["o^"])
+ ("o~~" ["o~"])
+ ("o\"\"" ["o\""])
+ ("o//" ["o/"])
+ ("r``" ["r`"])
+ ("s//" ["s/"])
+ ("s~~" ["s~"])
+ ("t//" ["t/"])
+ ("u``" ["u`"])
+ ("u''" ["u'"])
+ ("u^^" ["u^"])
+ ("u\"\"" ["u\""])
+ ("u~~" ["u~"])
+ ("u--" ["u-"])
+ ("z~~" ["z~"])
+ )
+
+(quail-define-package
+ "latin-5-alt-postfix" "Latin-5" "5<" t
+ "Latin-5 characters input method with postfix modifiers
+
+ | postfix | examples
+ ------------+---------+----------
+ acute | ' | a' -> \e,Ma\e(B
+ grave | ` | a` -> \e,M`\e(B
+ circumflex | ^ | a^ -> \e,Mb\e(B
+ diaeresis | \" | a\" -> \e,Md\e(B
+ tilde | ~ | a~ -> \e,Mc\e(B
+ breve | ~ | g~ -> \e,Mp\e(B
+ cedilla | ` | c` -> \e,Mg\e(B
+ dot | / | i/ -> \e,M}\e(B I/ -> \e,M]\e(B
+ nordic | / | a/ -> \e,Me\e(B e/ -> \e,Mf\e(B o/ -> \e,Mx\e(B
+ others | / | s/ -> \e,M_\e(B
+
+It would be natural to use period and comma for dots and cedillas, but
+that would inconvenient in practice, because periods and commas are
+needed very often after a letter.
+
+Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A'" ?\e,MA\e(B)
+ ("A/" ?\e,ME\e(B)
+ ("A\"" ?\e,MD\e(B)
+ ("A^" ?\e,MB\e(B)
+ ("A`" ?\e,M@\e(B)
+ ("A~" ?\e,MC\e(B)
+ ("C`" ?\e,MG\e(B)
+ ("E'" ?\e,MI\e(B)
+ ("E/" ?\e,MF\e(B)
+ ("E\"" ?\e,MK\e(B)
+ ("E^" ?\e,MJ\e(B)
+ ("E`" ?\e,MH\e(B)
+ ("G~" ?\e,MP\e(B)
+ ("I'" ?\e,MM\e(B)
+ ("I/" ?\e,M]\e(B)
+ ("I\"" ?\e,MO\e(B)
+ ("I^" ?\e,MN\e(B)
+ ("I`" ?\e,ML\e(B)
+ ("N~" ?\e,MQ\e(B)
+ ("O'" ?\e,MS\e(B)
+ ("O/" ?\e,MX\e(B)
+ ("O\"" ?\e,MV\e(B)
+ ("O^" ?\e,MT\e(B)
+ ("O`" ?\e,MR\e(B)
+ ("O~" ?\e,MU\e(B)
+ ("S`" ?\e,M^\e(B)
+ ("U'" ?\e,MZ\e(B)
+ ("U\"" ?\e,M\\e(B)
+ ("U^" ?\e,M[\e(B)
+ ("U`" ?\e,MY\e(B)
+ ("a'" ?\e,Ma\e(B)
+ ("a/" ?\e,Me\e(B)
+ ("a\"" ?\e,Md\e(B)
+ ("a^" ?\e,Mb\e(B)
+ ("a`" ?\e,M`\e(B)
+ ("a~" ?\e,Mc\e(B)
+ ("c`" ?\e,Mg\e(B)
+ ("e'" ?\e,Mi\e(B)
+ ("e/" ?\e,Mf\e(B)
+ ("e\"" ?\e,Mk\e(B)
+ ("e^" ?\e,Mj\e(B)
+ ("e`" ?\e,Mh\e(B)
+ ("g~" ?\e,Mp\e(B)
+ ("i'" ?\e,Mm\e(B)
+ ("i/" ?\e,M}\e(B)
+ ("i\"" ?\e,Mo\e(B)
+ ("i^" ?\e,Mn\e(B)
+ ("i`" ?\e,Ml\e(B)
+ ("n~" ?\e,Mq\e(B)
+ ("o'" ?\e,Ms\e(B)
+ ("o/" ?\e,Mx\e(B)
+ ("o\"" ?\e,Mv\e(B)
+ ("o^" ?\e,Mt\e(B)
+ ("o`" ?\e,Mr\e(B)
+ ("o~" ?\e,Mu\e(B)
+ ("s`" ?\e,M~\e(B)
+ ("s/" ?\e,M_\e(B)
+ ("u'" ?\e,Mz\e(B)
+ ("u\"" ?\e,M|\e(B)
+ ("u^" ?\e,M{\e(B)
+ ("u`" ?\e,My\e(B)
+ ("y\"" ?\e,M\7f\e(B)
+
+ ("A''" ["A'"])
+ ("A//" ["A/"])
+ ("A\"\"" ["A\""])
+ ("A^^" ["A^"])
+ ("A``" ["A`"])
+ ("A~~" ["A~"])
+ ("C``" ["C`"])
+ ("E''" ["E'"])
+ ("E//" ["E/"])
+ ("E\"\"" ["E\""])
+ ("E^^" ["E^"])
+ ("E``" ["E`"])
+ ("G~~" ["G~"])
+ ("I''" ["I'"])
+ ("I//" ["I/"])
+ ("I\"\"" ["I\""])
+ ("I^^" ["I^"])
+ ("I``" ["I`"])
+ ("N~~" ["N~"])
+ ("O''" ["O'"])
+ ("O//" ["O/"])
+ ("O\"\"" ["O\""])
+ ("O^^" ["O^"])
+ ("O``" ["O`"])
+ ("O~~" ["O~"])
+ ("S``" ["S`"])
+ ("U''" ["U'"])
+ ("U\"\"" ["U\""])
+ ("U^^" ["U^"])
+ ("U``" ["U`"])
+ ("a''" ["a'"])
+ ("a//" ["a/"])
+ ("a\"\"" ["a\""])
+ ("a^^" ["a^"])
+ ("a``" ["a`"])
+ ("a~~" ["a~"])
+ ("c``" ["c`"])
+ ("e''" ["e'"])
+ ("e//" ["e/"])
+ ("e\"\"" ["e\""])
+ ("e^^" ["e^"])
+ ("e``" ["e`"])
+ ("g~~" ["g~"])
+ ("i''" ["i'"])
+ ("i//" ["i/"])
+ ("i\"\"" ["i\""])
+ ("i^^" ["i^"])
+ ("i``" ["i`"])
+ ("n~~" ["n~"])
+ ("o''" ["o'"])
+ ("o//" ["o/"])
+ ("o\"\"" ["o\""])
+ ("o^^" ["o^"])
+ ("o``" ["o`"])
+ ("o~~" ["o~"])
+ ("s``" ["s`"])
+ ("s//" ["s/"])
+ ("u''" ["u'"])
+ ("u\"\"" ["u\""])
+ ("u^^" ["u^"])
+ ("u``" ["u`"])
+ ("y\"\"" ["y\""])
+ )
+
+(quail-define-package
+ "danish-alt-postfix" "Latin-1" "DA<" t
+ "Danish input method (rule: AE -> \e,AF\e(B, OE -> \e,AX\e(B, AA -> \e,AE\e(B, E' -> \e,AI\e(B)
+
+Doubling the postfix separates the letter and postfix: e.g. aee -> ae
+"
+ nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("AE" ?\e,AF\e(B)
+ ("ae" ?\e,Af\e(B)
+ ("OE" ?\e,AX\e(B)
+ ("oe" ?\e,Ax\e(B)
+ ("AA" ?\e,AE\e(B)
+ ("aa" ?\e,Ae\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("e'" ?\e,Ai\e(B)
+
+ ("AEE" ["AE"])
+ ("aee" ["ae"])
+ ("OEE" ["OE"])
+ ("oee" ["oe"])
+ ("AAA" ["AA"])
+ ("aaa" ["aa"])
+ ("E''" ["E'"])
+ ("e''" ["e'"])
+ )
+
+(quail-define-package
+ "esperanto-alt-postfix" "Latin-3" "EO<" t
+ "Esperanto input method with postfix modifiers
+
+A following ^ or x will produce an accented character,
+e.g. c^ -> \e,Cf\e(B, gx -> \e,Cx\e(B, u^ -> \e,C}\e(B.
+
+Doubling the postfix separates the letter and postfix,
+e.g. a'' -> a'.
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("Cx" ?\e,CF\e(B)
+ ("C^" ?\e,CF\e(B)
+ ("cx" ?\e,Cf\e(B)
+ ("c^" ?\e,Cf\e(B)
+ ("Gx" ?\e,CX\e(B)
+ ("G^" ?\e,CX\e(B)
+ ("gx" ?\e,Cx\e(B)
+ ("g^" ?\e,Cx\e(B)
+ ("Hx" ?\e,C&\e(B)
+ ("H^" ?\e,C&\e(B)
+ ("hx" ?\e,C6\e(B)
+ ("h^" ?\e,C6\e(B)
+ ("Jx" ?\e,C,\e(B)
+ ("J^" ?\e,C,\e(B)
+ ("jx" ?\e,C<\e(B)
+ ("j^" ?\e,C<\e(B)
+ ("Sx" ?\e,C^\e(B)
+ ("S^" ?\e,C^\e(B)
+ ("sx" ?\e,C~\e(B)
+ ("s^" ?\e,C~\e(B)
+ ("Ux" ?\e,C]\e(B)
+ ("U^" ?\e,C]\e(B)
+ ("ux" ?\e,C}\e(B)
+ ("u^" ?\e,C}\e(B)
+
+ ("Cxx" ["Cx"])
+ ("C^^" ["C^"])
+ ("cxx" ["cx"])
+ ("c^^" ["c^"])
+ ("Gxx" ["Gx"])
+ ("G^^" ["G^"])
+ ("gxx" ["gx"])
+ ("g^^" ["g^"])
+ ("Hxx" ["Hx"])
+ ("H^^" ["H^"])
+ ("hxx" ["hx"])
+ ("h^^" ["h^"])
+ ("Jxx" ["Jx"])
+ ("J^^" ["J^"])
+ ("jxx" ["jx"])
+ ("j^^" ["j^"])
+ ("Sxx" ["Sx"])
+ ("S^^" ["S^"])
+ ("sxx" ["sx"])
+ ("s^^" ["s^"])
+ ("Uxx" ["Ux"])
+ ("U^^" ["U^"])
+ ("uxx" ["ux"])
+ ("u^^" ["u^"])
+ )
+
+(quail-define-package
+ "finnish-alt-postfix" "Latin-1" "FI<" t
+ "Finnish (Suomi) input method
+
+AE -> \e,AD\e(B
+AEE -> AE
+OE -> \e,AV\e(B
+OEE -> OE
+"
+ nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("AE" ?\e,AD\e(B)
+ ("ae" ?\e,Ad\e(B)
+ ("OE" ?\e,AV\e(B)
+ ("oe" ?\e,Av\e(B)
+
+ ("AEE" ["AE"])
+ ("aee" ["ae"])
+ ("OEE" ["OE"])
+ ("oee" ["oe"])
+ )
+
+(quail-define-package
+ "french-alt-postfix" "Latin-1" "FR<" t
+ "French (Fran\e,Ag\e(Bais) input method with postfix modifiers
+
+` pour grave, ' pour aigu, ^ pour circonflexe, et \" pour tr\e,Ai\e(Bma.
+Par exemple: a` -> \e,A`\e(B, e' -> \e,Ai\e(B.
+
+\e,AG\e(B, \e,A+\e(B, et \e,A;\e(B sont produits par C/, <<, et >>.
+
+En doublant la frappe des diacritiques, ils s'isoleront de la lettre.
+Par exemple: e'' -> e'
+
+<e dans l'o> n'est pas disponible."
+ nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A`" ?\e,A@\e(B)
+ ("A^" ?\e,AB\e(B)
+ ("a`" ?\e,A`\e(B)
+ ("a^" ?\e,Ab\e(B)
+ ("E`" ?\e,AH\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("E^" ?\e,AJ\e(B)
+ ("E\"" ?\e,AK\e(B)
+ ("e`" ?\e,Ah\e(B)
+ ("e'" ?\e,Ai\e(B)
+ ("e^" ?\e,Aj\e(B)
+ ("e\"" ?\e,Ak\e(B)
+ ("I^" ?\e,AN\e(B)
+ ("I\"" ?\e,AO\e(B)
+ ("i^" ?\e,An\e(B)
+ ("i\"" ?\e,Ao\e(B)
+ ("O^" ?\e,AT\e(B)
+ ("o^" ?\e,At\e(B)
+ ("U`" ?\e,AY\e(B)
+ ("U^" ?\e,A[\e(B)
+ ("U\"" ?\e,A\\e(B)
+ ("u`" ?\e,Ay\e(B)
+ ("u^" ?\e,A{\e(B)
+ ("u\"" ?\e,A|\e(B)
+ ("C/" ?\e,AG\e(B)
+ ("c/" ?\e,Ag\e(B)
+ ("<<" ?\e,A+\e(B)
+ (">>" ?\e,A;\e(B)
+
+ ("A``" ["A`"])
+ ("A^^" ["A^"])
+ ("a``" ["a`"])
+ ("a^^" ["a^"])
+ ("E``" ["E`"])
+ ("E''" ["E'"])
+ ("E^^" ["E^"])
+ ("E\"\"" ["E\""])
+ ("e``" ["e`"])
+ ("e''" ["e'"])
+ ("e^^" ["e^"])
+ ("e\"\"" ["e\""])
+ ("I^^" ["I^"])
+ ("I\"\"" ["I\""])
+ ("i^^" ["i^"])
+ ("i\"\"" ["i\""])
+ ("O^^" ["O^"])
+ ("o^^" ["o^"])
+ ("U``" ["U`"])
+ ("U^^" ["U^"])
+ ("U\"\"" ["U\""])
+ ("u``" ["u`"])
+ ("u^^" ["u^"])
+ ("u\"\"" ["u\""])
+ ("C//" ["C/"])
+ ("c//" ["c/"])
+ ("<<<" ["<<"])
+ (">>>" [">>"])
+ )
+
+(quail-define-package
+ "german-alt-postfix" "Latin-1" "DE<" t
+ "German (Deutsch) input method
+
+ae -> \e,Ad\e(B
+aee -> ae
+oe -> \e,Av\e(B
+oee -> oe
+ue -> \e,A|\e(B
+uee -> ue
+sz -> \e,A_\e(B
+szz -> sz
+"
+ nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("AE" ?\e,AD\e(B)
+ ("ae" ?\e,Ad\e(B)
+ ("OE" ?\e,AV\e(B)
+ ("oe" ?\e,Av\e(B)
+ ("UE" ?\e,A\\e(B)
+ ("ue" ?\e,A|\e(B)
+ ("sz" ?\e,A_\e(B)
+
+ ("AEE" ["AE"])
+ ("aee" ["ae"])
+ ("OEE" ["OE"])
+ ("oee" ["oe"])
+ ("UEE" ["UE"])
+ ("uee" ["ue"])
+ ("szz" ["sz"])
+ )
+
+(quail-define-package
+ "icelandic-alt-postfix" "Latin-1" "IS<" t
+ "Icelandic (\e,AM\e(Bslenska) input method with postfix modifiers
+
+A' -> \e,AA\e(B
+E' -> \e,AI\e(B
+I' -> \e,AM\e(B
+O' -> \e,AS\e(B
+U' -> \e,AZ\e(B
+Y' -> \e,A]\e(B
+AE -> \e,AF\e(B
+OE -> \e,AV\e(B
+D/ -> \e,AP\e(B (eth)
+T/ -> \e,A^\e(B (thorn)
+
+Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A'" ?\e,AA\e(B)
+ ("a'" ?\e,Aa\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("e'" ?\e,Ai\e(B)
+ ("I'" ?\e,AM\e(B)
+ ("i'" ?\e,Am\e(B)
+ ("O'" ?\e,AS\e(B)
+ ("o'" ?\e,As\e(B)
+ ("U'" ?\e,AZ\e(B)
+ ("u'" ?\e,Az\e(B)
+ ("Y'" ?\e,A]\e(B)
+ ("y'" ?\e,A}\e(B)
+ ("AE" ?\e,AF\e(B)
+ ("ae" ?\e,Af\e(B)
+ ("OE" ?\e,AV\e(B)
+ ("oe" ?\e,Av\e(B)
+ ("D/" ?\e,AP\e(B)
+ ("d/" ?\e,Ap\e(B)
+ ("T/" ?\e,A^\e(B)
+ ("t/" ?\e,A~\e(B)
+
+ ("A''" ["A'"])
+ ("a''" ["a'"])
+ ("E''" ["E'"])
+ ("e''" ["e'"])
+ ("I''" ["I'"])
+ ("i''" ["i'"])
+ ("O''" ["O'"])
+ ("o''" ["o'"])
+ ("U''" ["U'"])
+ ("u''" ["u'"])
+ ("Y''" ["Y'"])
+ ("y''" ["y'"])
+ ("AEE" ["AE"])
+ ("aee" ["ae"])
+ ("OEE" ["OE"])
+ ("oee" ["oe"])
+ ("D//" ["D/"])
+ ("d//" ["d/"])
+ ("T//" ["T/"])
+ ("t//" ["t/"])
+ )
+
+(quail-define-package
+ "italian-alt-postfix" "Latin-1" "IT<" t
+ "Italian (Italiano) input method with postfix modifiers
+
+A` -> \e,A@\e(B
+E` -> \e,AH\e(B
+I` -> \e,AL\e(B
+O` -> \e,AR\e(B
+U` -> \e,AY\e(B
+
+Doubling the postfix separates the letter and postfix: e.g. a`` -> a`
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A`" ?\e,A@\e(B)
+ ("a`" ?\e,A`\e(B)
+ ("E`" ?\e,AH\e(B)
+ ("e`" ?\e,Ah\e(B)
+ ("I`" ?\e,AL\e(B)
+ ("i`" ?\e,Al\e(B)
+ ("O`" ?\e,AR\e(B)
+ ("o`" ?\e,Ar\e(B)
+ ("U`" ?\e,AY\e(B)
+ ("u`" ?\e,Ay\e(B)
+
+ ("A``" ["A`"])
+ ("a``" ["a`"])
+ ("E``" ["E`"])
+ ("e``" ["e`"])
+ ("I``" ["I`"])
+ ("i``" ["i`"])
+ ("O``" ["O`"])
+ ("o``" ["o`"])
+ ("U``" ["U`"])
+ ("u``" ["u`"])
+ )
+
+(quail-define-package
+ "norwegian-alt-postfix" "Latin-1" "NO<" t
+ "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)
+
+Doubling the postfix separates the letter and postfix: e.g. aee -> ae
+"
+ nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("AE" ?\e,AF\e(B)
+ ("ae" ?\e,Af\e(B)
+ ("OE" ?\e,AX\e(B)
+ ("oe" ?\e,Ax\e(B)
+ ("AA" ?\e,AE\e(B)
+ ("aa" ?\e,Ae\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("e'" ?\e,Ai\e(B)
+
+ ("AEE" ["AE"])
+ ("aee" ["ae"])
+ ("OEE" ["OE"])
+ ("oee" ["oe"])
+ ("AAA" ["AA"])
+ ("aaa" ["aa"])
+ ("E''" ["E'"])
+ ("e''" ["e'"])
+ )
+
+(quail-define-package
+ "scandinavian-alt-postfix" "Latin-1" "SC<" t
+ "Scandinavian input method with postfix modifiers
+Supported languages are Swidish, Norwegian, Danish, and Finnish.
+
+ae -> \e,Af\e(B
+oe -> \e,Ax\e(B
+aa -> \e,Ae\e(B
+a\" -> \e,Ad\e(B
+o\" -> \e,Av\e(B
+e' -> \e,Ai\e(B
+
+Doubling the postfix separates the letter and postfix:
+aee -> ae, o\"\" -> o\", etc.
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("AE" ?\e,AF\e(B)
+ ("ae" ?\e,Af\e(B)
+ ("OE" ?\e,AX\e(B)
+ ("oe" ?\e,Ax\e(B)
+ ("AA" ?\e,AE\e(B)
+ ("aa" ?\e,Ae\e(B)
+ ("A\"" ?\e,AD\e(B)
+ ("a\"" ?\e,Ad\e(B)
+ ("O\"" ?\e,AV\e(B)
+ ("o\"" ?\e,Av\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("e'" ?\e,Ai\e(B)
+
+ ("AEE" ["AE"])
+ ("aee" ["ae"])
+ ("OEE" ["OE"])
+ ("oee" ["oe"])
+ ("AAA" ["AA"])
+ ("aaa" ["aa"])
+ ("A\"\"" ["A\""])
+ ("a\"\"" ["a\""])
+ ("O\"\"" ["O\""])
+ ("o\"\"" ["o\""])
+ ("E''" ["E'"])
+ ("e''" ["e'"])
+ )
+
+(quail-define-package
+ "spanish-alt-postfix" "Latin-1" "ES<" t
+ "Spanish (Espa\e,Aq\e(Bol) input method with postfix modifiers
+
+A' -> \e,AA\e(B
+E' -> \e,AI\e(B
+I' -> \e,AM\e(B
+O' -> \e,AS\e(B
+U' -> \e,AZ\e(B
+N~ -> \e,AQ\e(B
+!/ -> \e,A!\e(B
+?/ -> \e,A?\e(B
+
+Doubling the postfix separates the letter and postfix:
+a'' -> a', n~~ -> n~, etc.
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A'" ?\e,AA\e(B)
+ ("a'" ?\e,Aa\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("e'" ?\e,Ai\e(B)
+ ("I'" ?\e,AM\e(B)
+ ("i'" ?\e,Am\e(B)
+ ("O'" ?\e,AS\e(B)
+ ("o'" ?\e,As\e(B)
+ ("U'" ?\e,AZ\e(B)
+ ("u'" ?\e,Az\e(B)
+ ("N~" ?\e,AQ\e(B)
+ ("n~" ?\e,Aq\e(B)
+ ("?/" ?\e,A?\e(B)
+ ("!/" ?\e,A!\e(B)
+
+ ("A''" ["A'"])
+ ("a''" ["a'"])
+ ("E''" ["E'"])
+ ("e''" ["e'"])
+ ("I''" ["I'"])
+ ("i''" ["i'"])
+ ("O''" ["O'"])
+ ("o''" ["o'"])
+ ("U''" ["U'"])
+ ("u''" ["u'"])
+ ("N~~" ["N~"])
+ ("n~~" ["n~"])
+ ("?//" ["?/"])
+ ("!//" ["!/"])
+ )
+
+(quail-define-package
+ "swedish-alt-postfix" "Latin-1" "SV<" t
+ "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)
+
+Doubling the postfix separates the letter and postfix: e.g. aee -> ae
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("AA" ?\e,AE\e(B)
+ ("aa" ?\e,Ae\e(B)
+ ("AE" ?\e,AD\e(B)
+ ("ae" ?\e,Ad\e(B)
+ ("OE" ?\e,AV\e(B)
+ ("oe" ?\e,Av\e(B)
+ ("E'" ?\e,AI\e(B)
+ ("e'" ?\e,Ai\e(B)
+
+ ("AAA" ["AA"])
+ ("aaa" ["aa"])
+ ("AEE" ["AE"])
+ ("aee" ["ae"])
+ ("OEE" ["OE"])
+ ("oee" ["oe"])
+ ("E''" ["E'"])
+ ("e''" ["e'"])
+ )
+
+(quail-define-package
+ "turkish-alt-postfix" "Latin-3" "TR<" t
+ "Turkish (T\e,C|\e(Brk\e,Cg\e(Be) input method with postfix modifiers
+
+Note for I, \e,C9\e(B, \e,C)\e(B, i.
+
+A^ -> \e,CB\e(B
+C` -> \e,CG\e(B
+G^ -> \e,C+\e(B
+I -> I
+i -> \e,C9\e(B
+I/ -> \e,C)\e(B
+i/ -> i
+O\" -> \e,CV\e(B
+S` -> \e,C*\e(B
+U\" -> \e,C\\e(B
+U^ -> \e,C[\e(B
+
+Doubling the postfix separates the letter and postfix: e.g. a^^ -> a^
+" nil t nil nil nil nil nil nil nil nil t)
+
+(quail-define-rules
+ ("A^" ?\e,CB\e(B)
+ ("a^" ?\e,Cb\e(B)
+ ("C`" ?\e,CG\e(B)
+ ("c`" ?\e,Cg\e(B)
+ ("G^" ?\e,C+\e(B)
+ ("g^" ?\e,C;\e(B)
+ ("I/" ?\e,C)\e(B)
+ ("i" ?\e,C9\e(B)
+ ("i/" ?i)
+ ("O\"" ?\e,CV\e(B)
+ ("o\"" ?\e,Cv\e(B)
+ ("S`" ?\e,C*\e(B)
+ ("s`" ?\e,C:\e(B)
+ ("U\"" ?\e,C\\e(B)
+ ("u\"" ?\e,C|\e(B)
+ ("U^" ?\e,C[\e(B)
+ ("u^" ?\e,C{\e(B)
+
+ ("A^^" ["A^"])
+ ("a^^" ["a^"])
+ ("C``" ["C`"])
+ ("c``" ["c`"])
+ ("G^^" ["G^"])
+ ("g^^" ["g^"])
+ ("I//" ["I/"])
+ ("i" ["i"])
+ ("i//" ["i/"])
+ ("O\"\"" ["O\""])
+ ("o\"\"" ["o\""])
+ ("S``" ["S`"])
+ ("s``" ["s`"])
+ ("U\"\"" ["U\""])
+ ("u\"\"" ["u\""])
+ ("U^^" ["U^"])
+ ("u^^" ["u^"])
+ )