(Emacsen): Bump numbers.
[gnus] / contrib / ucs-tables.el
1 ;;; ucs-tables.el --- translation to, from and via Unicode  -*- coding: iso-2022-7bit -*-
2
3 ;; Copyright (C) 2001  Free Software Foundation, Inc.
4
5 ;; Author: Dave Love <fx@gnu.org>
6 ;; Keywords: i18n
7
8 ;; This file is part of GNU Emacs.
9
10 ;; This file is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
13 ;; any later version.
14
15 ;; This file is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ;; GNU General Public License for more details.
19
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs; see the file COPYING.  If not, write to
22 ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 ;; Boston, MA 02111-1307, USA.
24
25 ;;; Commentary:
26
27 ;; This file provides tables mapping between Unicode numbers and
28 ;; emacs-mule characters from the iso-8859 charsets (and others).  It
29 ;; also provides some auxiliary functions.
30
31 ;; These tables are used to construct other mappings between the Mule
32 ;; iso8859 charsets and the emacs-unicode charsets and a table that
33 ;; unifies iso8859 characters using a single charset as far as
34 ;; possible.  These tables are used by latin1-disp.el to display some
35 ;; Unicode characters without a Unicode font and by utf-8.el to unify
36 ;; Latin-N as far as possible on encoding.
37
38 ;; More drastically, they can be used to unify 8859 into Latin-1 plus
39 ;; mule-unicode-0100-24ff on decoding, with the corresponding
40 ;; adjustments on encoding; see `ucs-unify-8859'.  Be wary of using
41 ;; unification when, for instance, editing Lisp files such as this one
42 ;; which are supposed to contain distinct 8859 charsets.  Also, it can
43 ;; make reading and writing of emacs-mule and iso-2022-based encodings
44 ;; not idempotent.
45
46 ;; Global minor modes are provided to unify on encoding and decoding.
47
48 ;; The translation table `ucs-mule-to-mule-unicode' is populated.
49 ;; This is used by the `mule-utf-8' coding system to encode extra
50 ;; characters.
51
52 ;; Command `ucs-insert' is convenient for inserting a given Unicode.
53 ;; (See also the `ucs' input method.)
54
55 ;;; Code:
56
57 (when (featurep 'xemacs)
58   (error "This file cannot be used with XEmacs.  For XEmacs, use latin-unity instead"))
59
60 ;;; Define tables, to be populated later.
61
62 (defvar ucs-mule-8859-to-ucs-table (make-translation-table)
63   "Translation table from Emacs ISO-8859 characters to Unicode.
64 This maps Emacs characters from the non-Latin-1
65 ...-iso8859-... charsets to their Unicode code points.  This is a
66 many-to-one mapping.")
67
68 (defvar ucs-mule-8859-to-mule-unicode (make-translation-table)
69   "Translation table from Emacs ISO-8859 characters to Mule Unicode.
70 This maps Emacs characters from the non-Latin-1
71 ...-iso8859-... charsets to characters from the
72 mule-unicode-... charsets.  This is a many-to-one mapping.  The
73 characters translated to are suitable for encoding using the
74 `mule-utf-8' coding system.")
75
76 ;; (defvar ucs-ucs-to-mule-8859-table (make-translation-table)
77 ;;   "Translation table from Unicode to Emacs ISO-8859 characters.
78 ;; This maps Unicode code points to corresponding Emacs characters from
79 ;; the ...-iso8859-... charsets.  This is made a one-to-one mapping where
80 ;; the same character occurs in more than one set by preferring the Emacs
81 ;; iso-8859-N character with lowest N.")
82
83 ;; (defvar ucs-mule-unicode-to-mule-8859 (make-translation-table)
84 ;;   "Translation table from Mule Unicode to Emacs ISO-8859 characters.
85 ;; This maps non-Latin-1 Emacs characters from the
86 ;; mule-unicode-... charsets used by the `mule-utf-8' coding system to
87 ;; characters from the ...-iso8859-... charsets.  This is made a
88 ;; one-to-one mapping where the same character occurs in more than one
89 ;; set by preferring the Emacs iso-8859-N character with lowest N.")
90
91 (defvar ucs-8859-1-encode-table nil
92   "Used as `translation-table-for-encode' for iso-8859-2.
93 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
94
95 (defvar ucs-8859-2-encode-table nil
96   "Used as `translation-table-for-encode' for iso-8859-2.
97 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
98
99 (defvar ucs-8859-3-encode-table nil
100   "Used as `translation-table-for-encode' for iso-8859-3.
101 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
102
103 (defvar ucs-8859-4-encode-table nil
104   "Used as `translation-table-for-encode' for iso-8859-4.
105 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
106
107 (defvar ucs-8859-5-encode-table nil
108   "Used as `translation-table-for-encode' for iso-8859-5.
109 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
110
111 (defvar ucs-8859-7-encode-table nil
112   "Used as `translation-table-for-encode' for iso-8859-7.
113 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
114
115 (defvar ucs-8859-8-encode-table nil
116   "Used as `translation-table-for-encode' for iso-8859-8.
117 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
118
119 (defvar ucs-8859-9-encode-table nil
120   "Used as `translation-table-for-encode' for iso-8859-9.
121 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
122
123 (defvar ucs-8859-14-encode-table nil
124   "Used as `translation-table-for-encode' for iso-8859-14.
125 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
126
127 (defvar ucs-8859-15-encode-table nil
128   "Used as `translation-table-for-encode' for iso-8859-15.
129 Translates from the iso8859 charsets and `mule-unicode-0100-24ff'.")
130
131 ;; Probably defined by utf-8.el.
132 (defvar ucs-mule-to-mule-unicode (make-translation-table))
133 (unless (get 'ucs-mule-to-mule-unicode 'translation-table)
134   (define-translation-table 'ucs-mule-to-mule-unicode ucs-mule-to-mule-unicode))
135 ;;; Set up the tables.
136
137 ;; Most of these tables were derived from ones in Mule-UCS.
138
139 ;; There doesn't seem to be a need to make these let bindings into
140 ;; defvars, so we'll let the data get GC'ed.
141 (let ((ucs-8859-2-alist
142        '((?\\e,B \e(B . ?\x00A0) ;; NO-BREAK SPACE
143          (?\\e,B!\e(B . ?\x0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
144          (?\\e,B"\e(B . ?\x02D8) ;; BREVE
145          (?\\e,B#\e(B . ?\x0141) ;; LATIN CAPITAL LETTER L WITH STROKE
146          (?\\e,B$\e(B . ?\x00A4) ;; CURRENCY SIGN
147          (?\\e,B%\e(B . ?\x013D) ;; LATIN CAPITAL LETTER L WITH CARON
148          (?\\e,B&\e(B . ?\x015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
149          (?\\e,B'\e(B . ?\x00A7) ;; SECTION SIGN
150          (?\\e,B(\e(B . ?\x00A8) ;; DIAERESIS
151          (?\\e,B)\e(B . ?\x0160) ;; LATIN CAPITAL LETTER S WITH CARON
152          (?\\e,B*\e(B . ?\x015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
153          (?\\e,B+\e(B . ?\x0164) ;; LATIN CAPITAL LETTER T WITH CARON
154          (?\\e,B,\e(B . ?\x0179) ;; LATIN CAPITAL LETTER Z WITH ACUTE
155          (?\\e,B-\e(B . ?\x00AD) ;; SOFT HYPHEN
156          (?\\e,B.\e(B . ?\x017D) ;; LATIN CAPITAL LETTER Z WITH CARON
157          (?\\e,B/\e(B . ?\x017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
158          (?\\e,B0\e(B . ?\x00B0) ;; DEGREE SIGN
159          (?\\e,B1\e(B . ?\x0105) ;; LATIN SMALL LETTER A WITH OGONEK
160          (?\\e,B2\e(B . ?\x02DB) ;; OGONEK
161          (?\\e,B3\e(B . ?\x0142) ;; LATIN SMALL LETTER L WITH STROKE
162          (?\\e,B4\e(B . ?\x00B4) ;; ACUTE ACCENT
163          (?\\e,B5\e(B . ?\x013E) ;; LATIN SMALL LETTER L WITH CARON
164          (?\\e,B6\e(B . ?\x015B) ;; LATIN SMALL LETTER S WITH ACUTE
165          (?\\e,B7\e(B . ?\x02C7) ;; CARON
166          (?\\e,B8\e(B . ?\x00B8) ;; CEDILLA
167          (?\\e,B9\e(B . ?\x0161) ;; LATIN SMALL LETTER S WITH CARON
168          (?\\e,B:\e(B . ?\x015F) ;; LATIN SMALL LETTER S WITH CEDILLA
169          (?\\e,B;\e(B . ?\x0165) ;; LATIN SMALL LETTER T WITH CARON
170          (?\\e,B<\e(B . ?\x017A) ;; LATIN SMALL LETTER Z WITH ACUTE
171          (?\\e,B=\e(B . ?\x02DD) ;; DOUBLE ACUTE ACCENT
172          (?\\e,B>\e(B . ?\x017E) ;; LATIN SMALL LETTER Z WITH CARON
173          (?\\e,B?\e(B . ?\x017C) ;; LATIN SMALL LETTER Z WITH DOT ABOVE
174          (?\\e,B@\e(B . ?\x0154) ;; LATIN CAPITAL LETTER R WITH ACUTE
175          (?\\e,BA\e(B . ?\x00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
176          (?\\e,BB\e(B . ?\x00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
177          (?\\e,BC\e(B . ?\x0102) ;; LATIN CAPITAL LETTER A WITH BREVE
178          (?\\e,BD\e(B . ?\x00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
179          (?\\e,BE\e(B . ?\x0139) ;; LATIN CAPITAL LETTER L WITH ACUTE
180          (?\\e,BF\e(B . ?\x0106) ;; LATIN CAPITAL LETTER C WITH ACUTE
181          (?\\e,BG\e(B . ?\x00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
182          (?\\e,BH\e(B . ?\x010C) ;; LATIN CAPITAL LETTER C WITH CARON
183          (?\\e,BI\e(B . ?\x00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
184          (?\\e,BJ\e(B . ?\x0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
185          (?\\e,BK\e(B . ?\x00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
186          (?\\e,BL\e(B . ?\x011A) ;; LATIN CAPITAL LETTER E WITH CARON
187          (?\\e,BM\e(B . ?\x00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
188          (?\\e,BN\e(B . ?\x00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
189          (?\\e,BO\e(B . ?\x010E) ;; LATIN CAPITAL LETTER D WITH CARON
190          (?\\e,BP\e(B . ?\x0110) ;; LATIN CAPITAL LETTER D WITH STROKE
191          (?\\e,BQ\e(B . ?\x0143) ;; LATIN CAPITAL LETTER N WITH ACUTE
192          (?\\e,BR\e(B . ?\x0147) ;; LATIN CAPITAL LETTER N WITH CARON
193          (?\\e,BS\e(B . ?\x00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
194          (?\\e,BT\e(B . ?\x00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
195          (?\\e,BU\e(B . ?\x0150) ;; LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
196          (?\\e,BV\e(B . ?\x00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
197          (?\\e,BW\e(B . ?\x00D7) ;; MULTIPLICATION SIGN
198          (?\\e,BX\e(B . ?\x0158) ;; LATIN CAPITAL LETTER R WITH CARON
199          (?\\e,BY\e(B . ?\x016E) ;; LATIN CAPITAL LETTER U WITH RING ABOVE
200          (?\\e,BZ\e(B . ?\x00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
201          (?\\e,B[\e(B . ?\x0170) ;; LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
202          (?\\e,B\\e(B . ?\x00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
203          (?\\e,B]\e(B . ?\x00DD) ;; LATIN CAPITAL LETTER Y WITH ACUTE
204          (?\\e,B^\e(B . ?\x0162) ;; LATIN CAPITAL LETTER T WITH CEDILLA
205          (?\\e,B_\e(B . ?\x00DF) ;; LATIN SMALL LETTER SHARP S
206          (?\\e,B`\e(B . ?\x0155) ;; LATIN SMALL LETTER R WITH ACUTE
207          (?\\e,Ba\e(B . ?\x00E1) ;; LATIN SMALL LETTER A WITH ACUTE
208          (?\\e,Bb\e(B . ?\x00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
209          (?\\e,Bc\e(B . ?\x0103) ;; LATIN SMALL LETTER A WITH BREVE
210          (?\\e,Bd\e(B . ?\x00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
211          (?\\e,Be\e(B . ?\x013A) ;; LATIN SMALL LETTER L WITH ACUTE
212          (?\\e,Bf\e(B . ?\x0107) ;; LATIN SMALL LETTER C WITH ACUTE
213          (?\\e,Bg\e(B . ?\x00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
214          (?\\e,Bh\e(B . ?\x010D) ;; LATIN SMALL LETTER C WITH CARON
215          (?\\e,Bi\e(B . ?\x00E9) ;; LATIN SMALL LETTER E WITH ACUTE
216          (?\\e,Bj\e(B . ?\x0119) ;; LATIN SMALL LETTER E WITH OGONEK
217          (?\\e,Bk\e(B . ?\x00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
218          (?\\e,Bl\e(B . ?\x011B) ;; LATIN SMALL LETTER E WITH CARON
219          (?\\e,Bm\e(B . ?\x00ED) ;; LATIN SMALL LETTER I WITH ACUTE
220          (?\\e,Bn\e(B . ?\x00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
221          (?\\e,Bo\e(B . ?\x010F) ;; LATIN SMALL LETTER D WITH CARON
222          (?\\e,Bp\e(B . ?\x0111) ;; LATIN SMALL LETTER D WITH STROKE
223          (?\\e,Bq\e(B . ?\x0144) ;; LATIN SMALL LETTER N WITH ACUTE
224          (?\\e,Br\e(B . ?\x0148) ;; LATIN SMALL LETTER N WITH CARON
225          (?\\e,Bs\e(B . ?\x00F3) ;; LATIN SMALL LETTER O WITH ACUTE
226          (?\\e,Bt\e(B . ?\x00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
227          (?\\e,Bu\e(B . ?\x0151) ;; LATIN SMALL LETTER O WITH DOUBLE ACUTE
228          (?\\e,Bv\e(B . ?\x00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
229          (?\\e,Bw\e(B . ?\x00F7) ;; DIVISION SIGN
230          (?\\e,Bx\e(B . ?\x0159) ;; LATIN SMALL LETTER R WITH CARON
231          (?\\e,By\e(B . ?\x016F) ;; LATIN SMALL LETTER U WITH RING ABOVE
232          (?\\e,Bz\e(B . ?\x00FA) ;; LATIN SMALL LETTER U WITH ACUTE
233          (?\\e,B{\e(B . ?\x0171) ;; LATIN SMALL LETTER U WITH DOUBLE ACUTE
234          (?\\e,B|\e(B . ?\x00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
235          (?\\e,B}\e(B . ?\x00FD) ;; LATIN SMALL LETTER Y WITH ACUTE
236          (?\\e,B~\e(B . ?\x0163) ;; LATIN SMALL LETTER T WITH CEDILLA
237          (?\\e,B\7f\e(B . ?\x02D9) ;; DOT ABOVE
238          ))
239
240       (ucs-8859-3-alist
241        '((?\\e,C \e(B . ?\x00A0) ;; NO-BREAK SPACE
242          (?\\e,C!\e(B . ?\x0126) ;; LATIN CAPITAL LETTER H WITH STROKE
243          (?\\e,C"\e(B . ?\x02D8) ;; BREVE
244          (?\\e,C#\e(B . ?\x00A3) ;; POUND SIGN
245          (?\\e,C$\e(B . ?\x00A4) ;; CURRENCY SIGN
246          (?\\e,C&\e(B . ?\x0124) ;; LATIN CAPITAL LETTER H WITH CIRCUMFLEX
247          (?\\e,C'\e(B . ?\x00A7) ;; SECTION SIGN
248          (?\\e,C(\e(B . ?\x00A8) ;; DIAERESIS
249          (?\\e,C)\e(B . ?\x0130) ;; LATIN CAPITAL LETTER I WITH DOT ABOVE
250          (?\\e,C*\e(B . ?\x015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
251          (?\\e,C+\e(B . ?\x011E) ;; LATIN CAPITAL LETTER G WITH BREVE
252          (?\\e,C,\e(B . ?\x0134) ;; LATIN CAPITAL LETTER J WITH CIRCUMFLEX
253          (?\\e,C-\e(B . ?\x00AD) ;; SOFT HYPHEN
254          (?\\e,C/\e(B . ?\x017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
255          (?\\e,C0\e(B . ?\x00B0) ;; DEGREE SIGN
256          (?\\e,C1\e(B . ?\x0127) ;; LATIN SMALL LETTER H WITH STROKE
257          (?\\e,C2\e(B . ?\x00B2) ;; SUPERSCRIPT TWO
258          (?\\e,C3\e(B . ?\x00B3) ;; SUPERSCRIPT THREE
259          (?\\e,C4\e(B . ?\x00B4) ;; ACUTE ACCENT
260          (?\\e,C5\e(B . ?\x00B5) ;; MICRO SIGN
261          (?\\e,C6\e(B . ?\x0125) ;; LATIN SMALL LETTER H WITH CIRCUMFLEX
262          (?\\e,C7\e(B . ?\x00B7) ;; MIDDLE DOT
263          (?\\e,C8\e(B . ?\x00B8) ;; CEDILLA
264          (?\\e,C9\e(B . ?\x0131) ;; LATIN SMALL LETTER DOTLESS I
265          (?\\e,C:\e(B . ?\x015F) ;; LATIN SMALL LETTER S WITH CEDILLA
266          (?\\e,C;\e(B . ?\x011F) ;; LATIN SMALL LETTER G WITH BREVE
267          (?\\e,C<\e(B . ?\x0135) ;; LATIN SMALL LETTER J WITH CIRCUMFLEX
268          (?\\e,C=\e(B . ?\x00BD) ;; VULGAR FRACTION ONE HALF
269          (?\\e,C?\e(B . ?\x017C) ;; LATIN SMALL LETTER Z WITH DOT ABOVE
270          (?\\e,C@\e(B . ?\x00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
271          (?\\e,CA\e(B . ?\x00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
272          (?\\e,CB\e(B . ?\x00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
273          (?\\e,CD\e(B . ?\x00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
274          (?\\e,CE\e(B . ?\x010A) ;; LATIN CAPITAL LETTER C WITH DOT ABOVE
275          (?\\e,CF\e(B . ?\x0108) ;; LATIN CAPITAL LETTER C WITH CIRCUMFLEX
276          (?\\e,CG\e(B . ?\x00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
277          (?\\e,CH\e(B . ?\x00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
278          (?\\e,CI\e(B . ?\x00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
279          (?\\e,CJ\e(B . ?\x00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
280          (?\\e,CK\e(B . ?\x00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
281          (?\\e,CL\e(B . ?\x00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
282          (?\\e,CM\e(B . ?\x00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
283          (?\\e,CN\e(B . ?\x00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
284          (?\\e,CO\e(B . ?\x00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
285          (?\\e,CQ\e(B . ?\x00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
286          (?\\e,CR\e(B . ?\x00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
287          (?\\e,CS\e(B . ?\x00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
288          (?\\e,CT\e(B . ?\x00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
289          (?\\e,CU\e(B . ?\x0120) ;; LATIN CAPITAL LETTER G WITH DOT ABOVE
290          (?\\e,CV\e(B . ?\x00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
291          (?\\e,CW\e(B . ?\x00D7) ;; MULTIPLICATION SIGN
292          (?\\e,CX\e(B . ?\x011C) ;; LATIN CAPITAL LETTER G WITH CIRCUMFLEX
293          (?\\e,CY\e(B . ?\x00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
294          (?\\e,CZ\e(B . ?\x00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
295          (?\\e,C[\e(B . ?\x00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
296          (?\\e,C\\e(B . ?\x00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
297          (?\\e,C]\e(B . ?\x016C) ;; LATIN CAPITAL LETTER U WITH BREVE
298          (?\\e,C^\e(B . ?\x015C) ;; LATIN CAPITAL LETTER S WITH CIRCUMFLEX
299          (?\\e,C_\e(B . ?\x00DF) ;; LATIN SMALL LETTER SHARP S
300          (?\\e,C`\e(B . ?\x00E0) ;; LATIN SMALL LETTER A WITH GRAVE
301          (?\\e,Ca\e(B . ?\x00E1) ;; LATIN SMALL LETTER A WITH ACUTE
302          (?\\e,Cb\e(B . ?\x00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
303          (?\\e,Cd\e(B . ?\x00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
304          (?\\e,Ce\e(B . ?\x010B) ;; LATIN SMALL LETTER C WITH DOT ABOVE
305          (?\\e,Cf\e(B . ?\x0109) ;; LATIN SMALL LETTER C WITH CIRCUMFLEX
306          (?\\e,Cg\e(B . ?\x00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
307          (?\\e,Ch\e(B . ?\x00E8) ;; LATIN SMALL LETTER E WITH GRAVE
308          (?\\e,Ci\e(B . ?\x00E9) ;; LATIN SMALL LETTER E WITH ACUTE
309          (?\\e,Cj\e(B . ?\x00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
310          (?\\e,Ck\e(B . ?\x00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
311          (?\\e,Cl\e(B . ?\x00EC) ;; LATIN SMALL LETTER I WITH GRAVE
312          (?\\e,Cm\e(B . ?\x00ED) ;; LATIN SMALL LETTER I WITH ACUTE
313          (?\\e,Cn\e(B . ?\x00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
314          (?\\e,Co\e(B . ?\x00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
315          (?\\e,Cq\e(B . ?\x00F1) ;; LATIN SMALL LETTER N WITH TILDE
316          (?\\e,Cr\e(B . ?\x00F2) ;; LATIN SMALL LETTER O WITH GRAVE
317          (?\\e,Cs\e(B . ?\x00F3) ;; LATIN SMALL LETTER O WITH ACUTE
318          (?\\e,Ct\e(B . ?\x00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
319          (?\\e,Cu\e(B . ?\x0121) ;; LATIN SMALL LETTER G WITH DOT ABOVE
320          (?\\e,Cv\e(B . ?\x00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
321          (?\\e,Cw\e(B . ?\x00F7) ;; DIVISION SIGN
322          (?\\e,Cx\e(B . ?\x011D) ;; LATIN SMALL LETTER G WITH CIRCUMFLEX
323          (?\\e,Cy\e(B . ?\x00F9) ;; LATIN SMALL LETTER U WITH GRAVE
324          (?\\e,Cz\e(B . ?\x00FA) ;; LATIN SMALL LETTER U WITH ACUTE
325          (?\\e,C{\e(B . ?\x00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
326          (?\\e,C|\e(B . ?\x00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
327          (?\\e,C}\e(B . ?\x016D) ;; LATIN SMALL LETTER U WITH BREVE
328          (?\\e,C~\e(B . ?\x015D) ;; LATIN SMALL LETTER S WITH CIRCUMFLEX
329          (?\\e,C\7f\e(B . ?\x02D9) ;; DOT ABOVE
330          ))
331
332       (ucs-8859-4-alist
333        '((?\\e,D \e(B . ?\x00A0) ;; NO-BREAK SPACE
334          (?\\e,D!\e(B . ?\x0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
335          (?\\e,D"\e(B . ?\x0138) ;; LATIN SMALL LETTER KRA
336          (?\\e,D#\e(B . ?\x0156) ;; LATIN CAPITAL LETTER R WITH CEDILLA
337          (?\\e,D$\e(B . ?\x00A4) ;; CURRENCY SIGN
338          (?\\e,D%\e(B . ?\x0128) ;; LATIN CAPITAL LETTER I WITH TILDE
339          (?\\e,D&\e(B . ?\x013B) ;; LATIN CAPITAL LETTER L WITH CEDILLA
340          (?\\e,D'\e(B . ?\x00A7) ;; SECTION SIGN
341          (?\\e,D(\e(B . ?\x00A8) ;; DIAERESIS
342          (?\\e,D)\e(B . ?\x0160) ;; LATIN CAPITAL LETTER S WITH CARON
343          (?\\e,D*\e(B . ?\x0112) ;; LATIN CAPITAL LETTER E WITH MACRON
344          (?\\e,D+\e(B . ?\x0122) ;; LATIN CAPITAL LETTER G WITH CEDILLA
345          (?\\e,D,\e(B . ?\x0166) ;; LATIN CAPITAL LETTER T WITH STROKE
346          (?\\e,D-\e(B . ?\x00AD) ;; SOFT HYPHEN
347          (?\\e,D.\e(B . ?\x017D) ;; LATIN CAPITAL LETTER Z WITH CARON
348          (?\\e,D/\e(B . ?\x00AF) ;; MACRON
349          (?\\e,D0\e(B . ?\x00B0) ;; DEGREE SIGN
350          (?\\e,D1\e(B . ?\x0105) ;; LATIN SMALL LETTER A WITH OGONEK
351          (?\\e,D2\e(B . ?\x02DB) ;; OGONEK
352          (?\\e,D3\e(B . ?\x0157) ;; LATIN SMALL LETTER R WITH CEDILLA
353          (?\\e,D4\e(B . ?\x00B4) ;; ACUTE ACCENT
354          (?\\e,D5\e(B . ?\x0129) ;; LATIN SMALL LETTER I WITH TILDE
355          (?\\e,D6\e(B . ?\x013C) ;; LATIN SMALL LETTER L WITH CEDILLA
356          (?\\e,D7\e(B . ?\x02C7) ;; CARON
357          (?\\e,D8\e(B . ?\x00B8) ;; CEDILLA
358          (?\\e,D9\e(B . ?\x0161) ;; LATIN SMALL LETTER S WITH CARON
359          (?\\e,D:\e(B . ?\x0113) ;; LATIN SMALL LETTER E WITH MACRON
360          (?\\e,D;\e(B . ?\x0123) ;; LATIN SMALL LETTER G WITH CEDILLA
361          (?\\e,D<\e(B . ?\x0167) ;; LATIN SMALL LETTER T WITH STROKE
362          (?\\e,D=\e(B . ?\x014A) ;; LATIN CAPITAL LETTER ENG
363          (?\\e,D>\e(B . ?\x017E) ;; LATIN SMALL LETTER Z WITH CARON
364          (?\\e,D?\e(B . ?\x014B) ;; LATIN SMALL LETTER ENG
365          (?\\e,D@\e(B . ?\x0100) ;; LATIN CAPITAL LETTER A WITH MACRON
366          (?\\e,DA\e(B . ?\x00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
367          (?\\e,DB\e(B . ?\x00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
368          (?\\e,DC\e(B . ?\x00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
369          (?\\e,DD\e(B . ?\x00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
370          (?\\e,DE\e(B . ?\x00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
371          (?\\e,DF\e(B . ?\x00C6) ;; LATIN CAPITAL LETTER AE
372          (?\\e,DG\e(B . ?\x012E) ;; LATIN CAPITAL LETTER I WITH OGONEK
373          (?\\e,DH\e(B . ?\x010C) ;; LATIN CAPITAL LETTER C WITH CARON
374          (?\\e,DI\e(B . ?\x00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
375          (?\\e,DJ\e(B . ?\x0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
376          (?\\e,DK\e(B . ?\x00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
377          (?\\e,DL\e(B . ?\x0116) ;; LATIN CAPITAL LETTER E WITH DOT ABOVE
378          (?\\e,DM\e(B . ?\x00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
379          (?\\e,DN\e(B . ?\x00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
380          (?\\e,DO\e(B . ?\x012A) ;; LATIN CAPITAL LETTER I WITH MACRON
381          (?\\e,DP\e(B . ?\x0110) ;; LATIN CAPITAL LETTER D WITH STROKE
382          (?\\e,DQ\e(B . ?\x0145) ;; LATIN CAPITAL LETTER N WITH CEDILLA
383          (?\\e,DR\e(B . ?\x014C) ;; LATIN CAPITAL LETTER O WITH MACRON
384          (?\\e,DS\e(B . ?\x0136) ;; LATIN CAPITAL LETTER K WITH CEDILLA
385          (?\\e,DT\e(B . ?\x00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
386          (?\\e,DU\e(B . ?\x00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
387          (?\\e,DV\e(B . ?\x00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
388          (?\\e,DW\e(B . ?\x00D7) ;; MULTIPLICATION SIGN
389          (?\\e,DX\e(B . ?\x00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
390          (?\\e,DY\e(B . ?\x0172) ;; LATIN CAPITAL LETTER U WITH OGONEK
391          (?\\e,DZ\e(B . ?\x00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
392          (?\\e,D[\e(B . ?\x00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
393          (?\\e,D\\e(B . ?\x00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
394          (?\\e,D]\e(B . ?\x0168) ;; LATIN CAPITAL LETTER U WITH TILDE
395          (?\\e,D^\e(B . ?\x016A) ;; LATIN CAPITAL LETTER U WITH MACRON
396          (?\\e,D_\e(B . ?\x00DF) ;; LATIN SMALL LETTER SHARP S
397          (?\\e,D`\e(B . ?\x0101) ;; LATIN SMALL LETTER A WITH MACRON
398          (?\\e,Da\e(B . ?\x00E1) ;; LATIN SMALL LETTER A WITH ACUTE
399          (?\\e,Db\e(B . ?\x00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
400          (?\\e,Dc\e(B . ?\x00E3) ;; LATIN SMALL LETTER A WITH TILDE
401          (?\\e,Dd\e(B . ?\x00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
402          (?\\e,De\e(B . ?\x00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
403          (?\\e,Df\e(B . ?\x00E6) ;; LATIN SMALL LETTER AE
404          (?\\e,Dg\e(B . ?\x012F) ;; LATIN SMALL LETTER I WITH OGONEK
405          (?\\e,Dh\e(B . ?\x010D) ;; LATIN SMALL LETTER C WITH CARON
406          (?\\e,Di\e(B . ?\x00E9) ;; LATIN SMALL LETTER E WITH ACUTE
407          (?\\e,Dj\e(B . ?\x0119) ;; LATIN SMALL LETTER E WITH OGONEK
408          (?\\e,Dk\e(B . ?\x00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
409          (?\\e,Dl\e(B . ?\x0117) ;; LATIN SMALL LETTER E WITH DOT ABOVE
410   &n