1 ;;; ucs-tables.el --- translation to, from and via Unicode -*- coding: iso-2022-7bit -*-
3 ;; Copyright (C) 2001 Free Software Foundation, Inc.
5 ;; Author: Dave Love <fx@gnu.org>
8 ;; This file is part of GNU Emacs.
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)
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.
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.
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.
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.
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
46 ;; Global minor modes are provided to unify on encoding and decoding.
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
52 ;; Command `ucs-insert' is convenient for inserting a given Unicode.
53 ;; (See also the `ucs' input method.)
57 (when (featurep 'xemacs)
58 (error "This file cannot be used with XEmacs. For XEmacs, use latin-unity instead"))
60 ;;; Define tables, to be populated later.
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.")
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.")
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.")
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.")
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'.")
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'.")
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'.")
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'.")
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'.")
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'.")
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'.")
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'.")
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'.")
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'.")
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.
137 ;; Most of these tables were derived from ones in Mule-UCS.
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
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
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