1 ;;; latin-pre.el --- Quail packages for inputting various European characters -*-coding: iso-2022-7bit;-*-
3 ;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 2000, 2002 Free Software Foundation, Inc.
7 ;; Keywords: mule, multilingual, latin, input method
9 ;; This file is part of GNU Emacs.
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation; either version 2, or (at your option)
16 ;; GNU Emacs is distributed in the hope that it will be useful,
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;; GNU General Public License for more details.
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 ;; Boston, MA 02111-1307, USA.
28 ;; Key translation maps were originally copied from iso-acc.el.
29 ;; latin-1-prefix: extra special characters added, adapted from the vim
30 ;; digraphs (from J.H.M.Dassen <jdassen@wi.leidenuniv.nl>)
31 ;; by R.F. Smith <rsmith@xs4all.nl>
34 ;; Author: W
\e,B3
\e(Bodek Bzyl <matwb@univ.gda.pl>
35 ;; Maintainer: W
\e,B3
\e(Bodek Bzyl <matwb@univ.gda.pl>
37 ;; latin-[89]-prefix: Dave Love <fx@gnu.org>
39 ;; You might make extra input sequences on the basis of the X
40 ;; locale/*/Compose files (which have both prefix and postfix
41 ;; sequences), but bear in mind that sequences which are logical in
42 ;; that context may not be sensible when they're not signalled with
43 ;; the Compose key. An example is a double space for NBSP.
50 "latin-1-prefix" "Latin-1" "1>" t
51 "Latin-1 characters input method with prefix modifiers
53 effect | prefix | examples
54 ------------+--------+----------
55 acute | ' | 'a ->
\e,Aa
\e(B, '' ->
\e,A4
\e(B
56 grave | ` | `a ->
\e,A`
\e(B
57 circumflex | ^ | ^a ->
\e,Ab
\e(B
58 diaeresis | \" | \"a ->
\e,Ad
\e(B \"\" ->
\e,A(
\e(B
59 tilde | ~ | ~a ->
\e,Ac
\e(B
60 cedilla | ~ | ~c ->
\e,Ag
\e(B
61 misc | \" ~ / | \"s ->
\e,A_
\e(B ~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
62 symbol | ~ | ~> ->
\e,A;
\e(B ~< ->
\e,A+
\e(B ~! ->
\e,A!
\e(B ~? ->
\e,A?
\e(B ~~ ->
\e,A8
\e(B
63 | ~ | ~s ->
\e,A'
\e(B ~x ->
\e,A$
\e(B ~. ->
\e,A7
\e(B ~$ ->
\e,A#
\e(B ~u ->
\e,A5
\e(B
64 | ~ | ~p ->
\e,A6
\e(B ~- ->
\e,A-
\e(B ~= ->
\e,A/
\e(B ~| ->
\e,A&
\e(B
65 symbol | _ / | _o ->
\e,A:
\e(B _a ->
\e,A*
\e(B // ->
\e,A0
\e(B /\\ ->
\e,AW
\e(B _y ->
\e,A%
\e(B
66 | _ / | _: ->
\e,Aw
\e(B /c ->
\e,A"
\e(B /2 ->
\e,A=
\e(B /4 ->
\e,A<
\e(B /3 ->
\e,A>
\e(B
67 | _ / | /= ->
\e,A,
\e(B
68 symbol | ^ | ^r ->
\e,A.
\e(B ^c ->
\e,A)
\e(B ^1 ->
\e,A9
\e(B ^2 ->
\e,A2
\e(B ^3 ->
\e,A3
\e(B
69 " nil t nil nil nil nil nil nil nil nil t)
153 ;; Symbols added by Roland Smith <rsmith@xs4all.nl>
179 (quail-define-package
180 "catalan-prefix" "Latin-1" "CA>" t
181 "Catalan and Spanish input method with prefix modifiers
183 effect | prefix | examples
184 ------------+--------+----------
185 acute | ' | 'a ->
\e,Aa
\e(B '' ->
\e,A4
\e(B
186 grave | ` | `a ->
\e,A`
\e(B
187 diaeresis | \" | \"i ->
\e,Ao
\e(B \"\" ->
\e,A(
\e(B
188 tilde | ~ | ~n ->
\e,Aq
\e(B
189 cedilla | ~ | ~c ->
\e,Ag
\e(B
190 symbol | ~ | ~> ->
\e,A;
\e(B ~< ->
\e,A+
\e(B ~! ->
\e,A!
\e(B ~? ->
\e,A?
\e(B
191 " nil t nil nil nil nil nil nil nil nil t)
228 (quail-define-package
229 "esperanto-prefix" "Latin-3" "EO>" t
230 "Esperanto input method with prefix modifiers
231 Key translation rules are:
232 ^H -> ?
\e,C&
\e(B ^J -> ?
\e,C,
\e(B ^h -> ?
\e,C6
\e(B ^j -> ?
\e,C<
\e(B ^C -> ?
\e,CF
\e(B ^G -> ?
\e,CX
\e(B,
233 ^S -> ?
\e,C^
\e(B ^c -> ?
\e,Cf
\e(B ^g -> ?
\e,Cx
\e(B ^s -> ?
\e,C~
\e(B ~U -> ?
\e,C]
\e(B ~u -> ?
\e,C}
\e(B
234 " nil t nil nil nil nil nil nil nil nil t)
254 (quail-define-package
255 "french-prefix" "French" "FR>" t
256 "French (Fran
\e,Ag
\e(Bais) input method with prefix modifiers
258 effect | prefix | examples
259 ------------+--------+----------
260 acute | ' | 'e ->
\e,Ai
\e(B
261 grave | ` | `a ->
\e,A`
\e(B
262 circumflex | ^ | ^a ->
\e,Ab
\e(B
263 diaeresis | \" | \"i ->
\e,Ao
\e(B
264 cedilla | ~ or , | ~c ->
\e,Ag
\e(B ,c ->
\e,Ag
\e(B
265 symbol | ~ | ~> ->
\e,A;
\e(B ~< ->
\e,A+
\e(B
266 " nil t nil nil nil nil nil nil nil nil t)
307 (quail-define-package
308 "romanian-prefix" "Romanian" "RO>" t
309 "Romanian (rom
\e,Bb
\e(Bne
\e,B:
\e(Bte) input method with prefix modifiers
311 effect | prefix | examples
312 ------------+--------+------------------
313 tilde | ~ | ~a ->
\e,Bc
\e(B
314 circumflex | ^ | ^a ->
\e,Bb
\e(B, ^i ->
\e,Bn
\e(B
315 cedilla | , | ,s ->
\e,B:
\e(B, ,t ->
\e,B~
\e(B
319 " nil t nil nil nil nil nil nil nil nil t)
322 ("~A" ?
\e,BC
\e(B) ("~a" ?
\e,Bc
\e(B)
323 ("^A" ?
\e,BB
\e(B) ("^a" ?
\e,Bb
\e(B)
324 ("^I" ?
\e,BN
\e(B) ("^i" ?
\e,Bn
\e(B)
325 (",S" ?
\e,B*
\e(B) (",s" ?
\e,B:
\e(B)
326 (",T" ?
\e,B^
\e(B) (",t" ?
\e,B~
\e(B)
327 ("^^" ?^) ("~~" ?~) (",," ?,))
329 (quail-define-package
330 "romanian-alt-prefix" "Romanian" "RO>" t
331 "Alternative Romanian (rom
\e,Bb
\e(Bne
\e,B:
\e(Bte) input method with prefix modifiers
333 effect | prefix | examples
334 ------------+--------+------------------
335 tilde | \" | \"a ->
\e,Bb
\e(B
336 circumflex | ' | 'a ->
\e,Bb
\e(B, 'i ->
\e,Bn
\e(B
337 cedilla | ' | 's ->
\e,B:
\e(B, 't ->
\e,B~
\e(B
340 " nil t nil nil nil nil nil nil nil nil t)
343 ("'A" ?
\e,BC
\e(B) ("'a" ?
\e,Bc
\e(B)
344 ("\"A" ?
\e,BB
\e(B) ("\"a" ?
\e,Bb
\e(B)
345 ("'I" ?
\e,BN
\e(B) ("'i" ?
\e,Bn
\e(B)
346 ("'S" ?
\e,B*
\e(B) ("'s" ?
\e,B:
\e(B)
347 ("'T" ?
\e,B^
\e(B) ("'t" ?
\e,B~
\e(B)
348 ("''" ?') ("\"\"" ?\"))
350 (quail-define-package
351 "german-prefix" "German" "DE>" t
352 "German (Deutsch) input method with prefix modifiers
353 Key translation rules are:
354 \"A ->
\e,AD
\e(B -> \"O ->
\e,AV
\e(B \"U ->
\e,A\
\e(B \"s -> ?
\e,A_
\e(B
355 " nil t nil nil nil nil nil nil nil nil t)
368 (quail-define-package
369 "irish-prefix" "Latin-1" "GA>" t
370 "Irish input method with prefix modifiers
371 Key translation rules are:
372 '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
373 " nil t nil nil nil nil nil nil nil nil t)
389 (quail-define-package
390 "portuguese-prefix" "Latin-1" "PT>" t
391 "Portuguese input method with prefix modifiers
393 effect | prefix | examples
394 ------------+--------+----------
395 acute | ' | 'a ->
\e,Aa
\e(B '' ->
\e,A4
\e(B
396 grave | ` | `a ->
\e,A`
\e(B
397 circumflex | ^ | ^a ->
\e,Ab
\e(B
398 diaeresis | \" | \"u ->
\e,A|
\e(B
399 tilde | ~ | ~a ->
\e,Ac
\e(B
400 cedilla | ' or , | 'c ->
\e,Ag
\e(B ,c ->
\e,Ag
\e(B
401 " nil t nil nil nil nil nil nil nil nil t)
440 (quail-define-package
441 "spanish-prefix" "Spanish" "ES>" t
442 "Spanish (Espa
\e,Aq
\e(Bol) input method with prefix modifiers
444 effect | prefix | examples
445 ------------+--------+----------
446 acute | ' | 'a ->
\e,Aa
\e(B
447 diaeresis | \" | \"u ->
\e,A|
\e(B
448 tilde | ~ | ~n ->
\e,Aq
\e(B
449 symbol | ~ | ~> ->
\e,A;
\e(B ~< ->
\e,A+
\e(B ~! ->
\e,A!
\e(B ~? ->
\e,A?
\e(B
450 " nil t nil nil nil nil nil nil nil nil t)
476 (quail-define-package
477 "latin-2-prefix" "Latin-2" "2>" t
478 "Latin-2 characters input method with prefix modifiers
480 effect | prefix | examples
481 ------------+--------+----------
482 acute | ' | 'a ->
\e,Ba
\e(B '' -> ?
\e,B4
\e(B
483 circumflex | ^ | ^a ->
\e,Bb
\e(B
484 diaeresis | \" | \"a ->
\e,Bd
\e(B \"\" ->
\e,B(
\e(B
485 breve | ~ | ~a ->
\e,Bc
\e(B
486 caron | ~ | ~c ->
\e,Bh
\e(B
487 cedilla | ` | `c ->
\e,Bg
\e(B `e -> ?
\e,Bj
\e(B
488 misc | ' ` ~ | 'd ->
\e,Bp
\e(B `l ->
\e,B3
\e(B `z ->
\e,B?
\e(B ~o ->
\e,Bu
\e(B ~u ->
\e,B{
\e(B
489 symbol | ~ | `. ->
\e,B
\7f\e(B ~~ ->
\e,B"
\e(B ~. -> ?
\e,B8
\e(B
490 " nil t nil nil nil nil nil nil nil nil t)
587 (quail-define-package
588 "latin-3-prefix" "Latin-3" "3>" t
589 "Latin-3 characters input method with prefix modifiers
591 effect | prefix | examples
592 ------------+--------+----------
593 acute | ' | 'a ->
\e,Ca
\e(B '' -> ?
\e,C4
\e(B
594 grave | ` | `a ->
\e,C`
\e(B
595 circumflex | ^ | ^a ->
\e,Cb
\e(B
596 diaeresis | \" | \"a ->
\e,Cd
\e(B \"\" ->
\e,C(
\e(B
597 cedilla | ~ | ~c ->
\e,Cg
\e(B ~s ->
\e,C:
\e(B ~~ ->
\e,C8
\e(B
598 dot above | / . | /g ->
\e,Cu
\e(B .o ->
\e,Cu
\e(B
599 misc | \" ~ / | \"s ->
\e,C_
\e(B ~g ->
\e,C;
\e(B ~u ->
\e,C}
\e(B /h ->
\e,C1
\e(B /i ->
\e,C9
\e(B
600 symbol | ~ | ~` ->
\e,C"
\e(B /# ->
\e,C#
\e(B /$ ->
\e,C$
\e(B // ->
\e,C0
\e(B
601 " nil t nil nil nil nil nil nil nil nil t)
701 (quail-define-package
702 "polish-slash" "Polish" "PL>" nil
703 "Polish diacritics in Latin-2 encoding are input as `/[acelnosxzACELNOSXZ]'.
704 For example, the character named `aogonek' is obtained by `/a'."
705 nil t t t nil nil nil nil nil nil t)
727 (quail-define-package
728 "latin-9-prefix" "Latin-9" "0>" t
729 "Latin-9 characters input method with prefix modifiers
731 effect | prefix | examples
732 ------------+--------+----------
733 acute | ' | 'a ->
\e,ba
\e(B
734 grave | ` | `a ->
\e,b`
\e(B
735 circumflex | ^ | ^a ->
\e,bb
\e(B
736 diaeresis | \" | \"a ->
\e,bd
\e(B, \"Y ->
\e,b>
\e(B
737 tilde | ~ | ~a ->
\e,bc
\e(B
738 caron | ~ | ~z ->
\e,b8
\e(B
739 cedilla | ~ | ~c ->
\e,bg
\e(B
740 misc | \" ~ / | \"s ->
\e,b_
\e(B ~d ->
\e,bp
\e(B ~t ->
\e,b~
\e(B /a ->
\e,be
\e(B /e ->
\e,bf
\e(B /o ->
\e,bx
\e(B
741 | \" ~ / | /o ->
\e,b=
\e(B
742 symbol | ~ | ~> ->
\e,b;
\e(B ~< ->
\e,b+
\e(B ~! ->
\e,b!
\e(B ~? ->
\e,b?
\e(B ~~ ->
\e,b8
\e(B
743 | ~ | ~s ->
\e,b'
\e(B ~e ->
\e,b$
\e(B ~. ->
\e,b7
\e(B ~$ ->
\e,b#
\e(B ~u ->
\e,b5
\e(B
744 | ~ | ~- ->
\e,b-
\e(B ~= ->
\e,b/
\e(B
745 symbol | _ / | _o ->
\e,b:
\e(B _a ->
\e,b*
\e(B // ->
\e,b0
\e(B /\\ ->
\e,bW
\e(B _y ->
\e,b%
\e(B
746 | _ / | _: ->
\e,bw
\e(B /c ->
\e,b"
\e(B ~p ->
\e,b6
\e(B
747 | _ / | /= ->
\e,b,
\e(B
748 symbol | ^ | ^r ->
\e,b.
\e(B ^c ->
\e,b)
\e(B ^1 ->
\e,b9
\e(B ^2 ->
\e,b2
\e(B ^3 ->
\e,b3
\e(B _a ->
\e,b*
\e(B
749 " nil t nil nil nil nil nil nil nil nil t)
838 ("/o" ?
\e,b=
\e(B) ; clash with
\e,bx
\e(B, but
\e,bf
\e(B uses /
843 ;; Is this the best option for Euro entry?
857 ;; Latin-8 was done by an Englishman -- Johnny Celt should take a
860 (quail-define-package
861 "latin-8-prefix" "Latin-8" "8>" t
862 "Latin-8 characters input method with prefix modifiers
864 effect | prefix | examples
865 ------------+--------+----------
866 acute | ' | 'a ->
\e,_a
\e(B
867 grave | ` | `a ->
\e,_`
\e(B
868 circumflex | ^ | ^w ->
\e,_p
\e(B
869 diaeresis | \" | \"a ->
\e,_d
\e(B
870 dot above | . | .b ->
\e,_"
\e(B
871 tilde | ~ | ~a ->
\e,_c
\e(B
872 cedilla | ~ | ~c ->
\e,_g
\e(B
873 misc | \" ~ / | \"s ->
\e,__
\e(B /a ->
\e,_e
\e(B /e ->
\e,_f
\e(B /o ->
\e,_x
\e(B
874 | ~ | ~s ->
\e,_'
\e(B ~$ ->
\e,_#
\e(B ~p ->
\e,_6
\e(B
875 symbol | ^ | ^r ->
\e,_.
\e(B ^c ->
\e,_)
\e(B
876 " nil t nil nil nil nil nil nil nil nil t)
878 ;; Basically following Latin-1, plus dottiness from Latin-3.
983 (quail-define-package
984 "latin-prefix" "Latin" "L>" t
985 "Latin characters input method with prefix modifiers.
986 This is the union of various input methods originally made for input
987 of characters from a single Latin-N charset.
989 effect | prefix | examples
990 ------------+--------+----------
991 acute | ' | 'a ->
\e,Aa
\e(B, '' ->
\e,A4
\e(B
992 grave | ` | `a ->
\e,A`
\e(B
993 circumflex | ^ | ^a ->
\e,Ab
\e(B
994 diaeresis | \" | \"a ->
\e,Ad
\e(B \"\" ->
\e,A(
\e(B
995 tilde | ~ | ~a ->
\e,Ac
\e(B
996 cedilla | ~ | ~c ->
\e,Ag
\e(B
997 breve | ~ | ~a ->
\e$,1 #
\e(B
998 caron | ~ | ~c ->
\e$,1 -
\e(B
999 dot above | ~ / . | ~o ->
\e$,1 A
\e(B /o ->
\e$,1 A
\e(B .o ->
\e$,1 A
\e(B
1000 misc | \" ~ / | \"s ->
\e,A_
\e(B ~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
1001 symbol | ~ | ~> ->
\e,A;
\e(B ~< ->
\e,A+
\e(B ~! ->
\e,A!
\e(B ~? ->
\e,A?
\e(B ~~ ->
\e,A8
\e(B
1002 symbol | _ / | _o ->
\e,A:
\e(B _a ->
\e,A*
\e(B // ->
\e,A0
\e(B /\\ ->
\e,AW
\e(B _y ->
\e,A%
\e(B
1003 symbol | ^ | ^r ->
\e,A.
\e(B ^c ->
\e,A)
\e(B ^1 ->
\e,A9
\e(B ^2 ->
\e,A2
\e(B ^3 ->
\e,A3
\e(B
1004 " nil t nil nil nil nil nil nil nil nil t)
1079 ("\"W" ?
\e$,1nd
\e(B)
1080 ("\"Y" ?
\e$,1!8
\e(B)
1088 ("\"w" ?
\e$,1ne
\e(B)
1089 ("\"y" ?
\e,A
\7f\e(B)
1175 ("~s" ?
\e$,1
\7f\e(B)
1185 ;;; latin-pre.el ends here