FEATURES: add notes about compilation env changes
[unleashed.git] / include / sys / kiconv_latin1.h
bloba4e167a02125d9b123f89ab9d800f8a00c787338
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
22 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
26 * COPYRIGHT AND PERMISSION NOTICE
28 * Copyright (c) 1991-2006 Unicode, Inc. All rights reserved. Distributed under
29 * the Terms of Use in http://www.unicode.org/copyright.html.
31 * Permission is hereby granted, free of charge, to any person obtaining
32 * a copy of the Unicode data files and any associated documentation (the
33 * "Data Files") or Unicode software and any associated documentation (the
34 * "Software") to deal in the Data Files or Software without restriction,
35 * including without limitation the rights to use, copy, modify, merge,
36 * publish, distribute, and/or sell copies of the Data Files or Software, and
37 * to permit persons to whom the Data Files or Software are furnished to do so,
38 * provided that (a) the above copyright notice(s) and this permission notice
39 * appear with all copies of the Data Files or Software, (b) both the above
40 * copyright notice(s) and this permission notice appear in associated
41 * documentation, and (c) there is clear notice in each modified Data File or
42 * in the Software as well as in the documentation associated with the Data
43 * File(s) or Software that the data or software has been modified.
45 * THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
46 * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
47 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
48 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
49 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
50 * CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
51 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
52 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
53 * OF THE DATA FILES OR SOFTWARE.
55 * Except as contained in this notice, the name of a copyright holder shall not
56 * be used in advertising or otherwise to promote the sale, use or other
57 * dealings in these Data Files or Software without prior written authorization
58 * of the copyright holder.
60 * Unicode and the Unicode logo are trademarks of Unicode, Inc., and may be
61 * registered in some jurisdictions. All other trademarks and registered
62 * trademarks mentioned herein are the property of their respective owners.
65 * This file has been modified by Sun Microsystems, Inc.
68 #ifndef _SYS_KICONV_LATIN1_H
69 #define _SYS_KICONV_LATIN1_H
71 #pragma ident "%Z%%M% %I% %E% SMI"
73 #ifdef __cplusplus
74 extern "C" {
75 #endif
77 #include <sys/kiconv.h>
79 #ifdef _KERNEL
82 * Mapping tables from CP1252, ISO 8859-1, ISO 8859-15, and CP850 to UTF-8.
84 * Indices are calculated by subtracting 0x80 from single byte character code
85 * values.
87 * Each component has up to three UTF-8 character bytes; the first byte will
88 * be used to figure out on how many bytes should be taken. If size figured
89 * out has a value less than zero, that means that component isn't valid and
90 * has no assigned character.
92 static const kiconv_to_utf8_tbl_comp_t to_u8_tbl[4][128] = {
93 { /* CP1252 -> UTF-8 */
94 { 0xE2, 0x82, 0xAC }, /* 0x80 */
95 { 0xFE, 0xFE, 0xFE }, /* 0x81 (illegal character) */
96 { 0xE2, 0x80, 0x9A }, /* 0x82 */
97 { 0xC6, 0x92, 0x00 }, /* 0x83 */
98 { 0xE2, 0x80, 0x9E }, /* 0x84 */
99 { 0xE2, 0x80, 0xA6 }, /* 0x85 */
100 { 0xE2, 0x80, 0xA0 }, /* 0x86 */
101 { 0xE2, 0x80, 0xA1 }, /* 0x87 */
102 { 0xCB, 0x86, 0x00 }, /* 0x88 */
103 { 0xE2, 0x80, 0xB0 }, /* 0x89 */
104 { 0xC5, 0xA0, 0x00 }, /* 0x8A */
105 { 0xE2, 0x80, 0xB9 }, /* 0x8B */
106 { 0xC5, 0x92, 0x00 }, /* 0x8C */
107 { 0xFE, 0xFE, 0xFE }, /* 0x8D (illegal character) */
108 { 0xC5, 0xBD, 0x00 }, /* 0x8E */
109 { 0xFE, 0xFE, 0xFE }, /* 0x8F (illegal character) */
110 { 0xFE, 0xFE, 0xFE }, /* 0x90 (illegal character) */
111 { 0xE2, 0x80, 0x98 }, /* 0x91 */
112 { 0xE2, 0x80, 0x99 }, /* 0x92 */
113 { 0xE2, 0x80, 0x9C }, /* 0x93 */
114 { 0xE2, 0x80, 0x9D }, /* 0x94 */
115 { 0xE2, 0x80, 0xA2 }, /* 0x95 */
116 { 0xE2, 0x80, 0x93 }, /* 0x96 */
117 { 0xE2, 0x80, 0x94 }, /* 0x97 */
118 { 0xCB, 0x9C, 0x00 }, /* 0x98 */
119 { 0xE2, 0x84, 0xA2 }, /* 0x99 */
120 { 0xC5, 0xA1, 0x00 }, /* 0x9A */
121 { 0xE2, 0x80, 0xBA }, /* 0x9B */
122 { 0xC5, 0x93, 0x00 }, /* 0x9C */
123 { 0xFE, 0xFE, 0xFE }, /* 0x9D (illegal character) */
124 { 0xC5, 0xBE, 0x00 }, /* 0x9E */
125 { 0xC5, 0xB8, 0x00 }, /* 0x9F */
126 { 0xC2, 0xA0, 0x00 }, /* 0xA0 */
127 { 0xC2, 0xA1, 0x00 }, /* 0xA1 */
128 { 0xC2, 0xA2, 0x00 }, /* 0xA2 */
129 { 0xC2, 0xA3, 0x00 }, /* 0xA3 */
130 { 0xC2, 0xA4, 0x00 }, /* 0xA4 */
131 { 0xC2, 0xA5, 0x00 }, /* 0xA5 */
132 { 0xC2, 0xA6, 0x00 }, /* 0xA6 */
133 { 0xC2, 0xA7, 0x00 }, /* 0xA7 */
134 { 0xC2, 0xA8, 0x00 }, /* 0xA8 */
135 { 0xC2, 0xA9, 0x00 }, /* 0xA9 */
136 { 0xC2, 0xAA, 0x00 }, /* 0xAA */
137 { 0xC2, 0xAB, 0x00 }, /* 0xAB */
138 { 0xC2, 0xAC, 0x00 }, /* 0xAC */
139 { 0xC2, 0xAD, 0x00 }, /* 0xAD */
140 { 0xC2, 0xAE, 0x00 }, /* 0xAE */
141 { 0xC2, 0xAF, 0x00 }, /* 0xAF */
142 { 0xC2, 0xB0, 0x00 }, /* 0xB0 */
143 { 0xC2, 0xB1, 0x00 }, /* 0xB1 */
144 { 0xC2, 0xB2, 0x00 }, /* 0xB2 */
145 { 0xC2, 0xB3, 0x00 }, /* 0xB3 */
146 { 0xC2, 0xB4, 0x00 }, /* 0xB4 */
147 { 0xC2, 0xB5, 0x00 }, /* 0xB5 */
148 { 0xC2, 0xB6, 0x00 }, /* 0xB6 */
149 { 0xC2, 0xB7, 0x00 }, /* 0xB7 */
150 { 0xC2, 0xB8, 0x00 }, /* 0xB8 */
151 { 0xC2, 0xB9, 0x00 }, /* 0xB9 */
152 { 0xC2, 0xBA, 0x00 }, /* 0xBA */
153 { 0xC2, 0xBB, 0x00 }, /* 0xBB */
154 { 0xC2, 0xBC, 0x00 }, /* 0xBC */
155 { 0xC2, 0xBD, 0x00 }, /* 0xBD */
156 { 0xC2, 0xBE, 0x00 }, /* 0xBE */
157 { 0xC2, 0xBF, 0x00 }, /* 0xBF */
158 { 0xC3, 0x80, 0x00 }, /* 0xC0 */
159 { 0xC3, 0x81, 0x00 }, /* 0xC1 */
160 { 0xC3, 0x82, 0x00 }, /* 0xC2 */
161 { 0xC3, 0x83, 0x00 }, /* 0xC3 */
162 { 0xC3, 0x84, 0x00 }, /* 0xC4 */
163 { 0xC3, 0x85, 0x00 }, /* 0xC5 */
164 { 0xC3, 0x86, 0x00 }, /* 0xC6 */
165 { 0xC3, 0x87, 0x00 }, /* 0xC7 */
166 { 0xC3, 0x88, 0x00 }, /* 0xC8 */
167 { 0xC3, 0x89, 0x00 }, /* 0xC9 */
168 { 0xC3, 0x8A, 0x00 }, /* 0xCA */
169 { 0xC3, 0x8B, 0x00 }, /* 0xCB */
170 { 0xC3, 0x8C, 0x00 }, /* 0xCC */
171 { 0xC3, 0x8D, 0x00 }, /* 0xCD */
172 { 0xC3, 0x8E, 0x00 }, /* 0xCE */
173 { 0xC3, 0x8F, 0x00 }, /* 0xCF */
174 { 0xC3, 0x90, 0x00 }, /* 0xD0 */
175 { 0xC3, 0x91, 0x00 }, /* 0xD1 */
176 { 0xC3, 0x92, 0x00 }, /* 0xD2 */
177 { 0xC3, 0x93, 0x00 }, /* 0xD3 */
178 { 0xC3, 0x94, 0x00 }, /* 0xD4 */
179 { 0xC3, 0x95, 0x00 }, /* 0xD5 */
180 { 0xC3, 0x96, 0x00 }, /* 0xD6 */
181 { 0xC3, 0x97, 0x00 }, /* 0xD7 */
182 { 0xC3, 0x98, 0x00 }, /* 0xD8 */
183 { 0xC3, 0x99, 0x00 }, /* 0xD9 */
184 { 0xC3, 0x9A, 0x00 }, /* 0xDA */
185 { 0xC3, 0x9B, 0x00 }, /* 0xDB */
186 { 0xC3, 0x9C, 0x00 }, /* 0xDC */
187 { 0xC3, 0x9D, 0x00 }, /* 0xDD */
188 { 0xC3, 0x9E, 0x00 }, /* 0xDE */
189 { 0xC3, 0x9F, 0x00 }, /* 0xDF */
190 { 0xC3, 0xA0, 0x00 }, /* 0xE0 */
191 { 0xC3, 0xA1, 0x00 }, /* 0xE1 */
192 { 0xC3, 0xA2, 0x00 }, /* 0xE2 */
193 { 0xC3, 0xA3, 0x00 }, /* 0xE3 */
194 { 0xC3, 0xA4, 0x00 }, /* 0xE4 */
195 { 0xC3, 0xA5, 0x00 }, /* 0xE5 */
196 { 0xC3, 0xA6, 0x00 }, /* 0xE6 */
197 { 0xC3, 0xA7, 0x00 }, /* 0xE7 */
198 { 0xC3, 0xA8, 0x00 }, /* 0xE8 */
199 { 0xC3, 0xA9, 0x00 }, /* 0xE9 */
200 { 0xC3, 0xAA, 0x00 }, /* 0xEA */
201 { 0xC3, 0xAB, 0x00 }, /* 0xEB */
202 { 0xC3, 0xAC, 0x00 }, /* 0xEC */
203 { 0xC3, 0xAD, 0x00 }, /* 0xED */
204 { 0xC3, 0xAE, 0x00 }, /* 0xEE */
205 { 0xC3, 0xAF, 0x00 }, /* 0xEF */
206 { 0xC3, 0xB0, 0x00 }, /* 0xF0 */
207 { 0xC3, 0xB1, 0x00 }, /* 0xF1 */
208 { 0xC3, 0xB2, 0x00 }, /* 0xF2 */
209 { 0xC3, 0xB3, 0x00 }, /* 0xF3 */
210 { 0xC3, 0xB4, 0x00 }, /* 0xF4 */
211 { 0xC3, 0xB5, 0x00 }, /* 0xF5 */
212 { 0xC3, 0xB6, 0x00 }, /* 0xF6 */
213 { 0xC3, 0xB7, 0x00 }, /* 0xF7 */
214 { 0xC3, 0xB8, 0x00 }, /* 0xF8 */
215 { 0xC3, 0xB9, 0x00 }, /* 0xF9 */
216 { 0xC3, 0xBA, 0x00 }, /* 0xFA */
217 { 0xC3, 0xBB, 0x00 }, /* 0xFB */
218 { 0xC3, 0xBC, 0x00 }, /* 0xFC */
219 { 0xC3, 0xBD, 0x00 }, /* 0xFD */
220 { 0xC3, 0xBE, 0x00 }, /* 0xFE */
221 { 0xC3, 0xBF, 0x00 }, /* 0xFF */
223 { /* ISO 8859-1 -> UTF-8 */
224 { 0xC2, 0x80, 0x00 }, /* 0x80 */
225 { 0xC2, 0x81, 0x00 }, /* 0x81 */
226 { 0xC2, 0x82, 0x00 }, /* 0x82 */
227 { 0xC2, 0x83, 0x00 }, /* 0x83 */
228 { 0xC2, 0x84, 0x00 }, /* 0x84 */
229 { 0xC2, 0x85, 0x00 }, /* 0x85 */
230 { 0xC2, 0x86, 0x00 }, /* 0x86 */
231 { 0xC2, 0x87, 0x00 }, /* 0x87 */
232 { 0xC2, 0x88, 0x00 }, /* 0x88 */
233 { 0xC2, 0x89, 0x00 }, /* 0x89 */
234 { 0xC2, 0x8A, 0x00 }, /* 0x8A */
235 { 0xC2, 0x8B, 0x00 }, /* 0x8B */
236 { 0xC2, 0x8C, 0x00 }, /* 0x8C */
237 { 0xC2, 0x8D, 0x00 }, /* 0x8D */
238 { 0xC2, 0x8E, 0x00 }, /* 0x8E */
239 { 0xC2, 0x8F, 0x00 }, /* 0x8F */
240 { 0xC2, 0x90, 0x00 }, /* 0x90 */
241 { 0xC2, 0x91, 0x00 }, /* 0x91 */
242 { 0xC2, 0x92, 0x00 }, /* 0x92 */
243 { 0xC2, 0x93, 0x00 }, /* 0x93 */
244 { 0xC2, 0x94, 0x00 }, /* 0x94 */
245 { 0xC2, 0x95, 0x00 }, /* 0x95 */
246 { 0xC2, 0x96, 0x00 }, /* 0x96 */
247 { 0xC2, 0x97, 0x00 }, /* 0x97 */
248 { 0xC2, 0x98, 0x00 }, /* 0x98 */
249 { 0xC2, 0x99, 0x00 }, /* 0x99 */
250 { 0xC2, 0x9A, 0x00 }, /* 0x9A */
251 { 0xC2, 0x9B, 0x00 }, /* 0x9B */
252 { 0xC2, 0x9C, 0x00 }, /* 0x9C */
253 { 0xC2, 0x9D, 0x00 }, /* 0x9D */
254 { 0xC2, 0x9E, 0x00 }, /* 0x9E */
255 { 0xC2, 0x9F, 0x00 }, /* 0x9F */
256 { 0xC2, 0xA0, 0x00 }, /* 0xA0 */
257 { 0xC2, 0xA1, 0x00 }, /* 0xA1 */
258 { 0xC2, 0xA2, 0x00 }, /* 0xA2 */
259 { 0xC2, 0xA3, 0x00 }, /* 0xA3 */
260 { 0xC2, 0xA4, 0x00 }, /* 0xA4 */
261 { 0xC2, 0xA5, 0x00 }, /* 0xA5 */
262 { 0xC2, 0xA6, 0x00 }, /* 0xA6 */
263 { 0xC2, 0xA7, 0x00 }, /* 0xA7 */
264 { 0xC2, 0xA8, 0x00 }, /* 0xA8 */
265 { 0xC2, 0xA9, 0x00 }, /* 0xA9 */
266 { 0xC2, 0xAA, 0x00 }, /* 0xAA */
267 { 0xC2, 0xAB, 0x00 }, /* 0xAB */
268 { 0xC2, 0xAC, 0x00 }, /* 0xAC */
269 { 0xC2, 0xAD, 0x00 }, /* 0xAD */
270 { 0xC2, 0xAE, 0x00 }, /* 0xAE */
271 { 0xC2, 0xAF, 0x00 }, /* 0xAF */
272 { 0xC2, 0xB0, 0x00 }, /* 0xB0 */
273 { 0xC2, 0xB1, 0x00 }, /* 0xB1 */
274 { 0xC2, 0xB2, 0x00 }, /* 0xB2 */
275 { 0xC2, 0xB3, 0x00 }, /* 0xB3 */
276 { 0xC2, 0xB4, 0x00 }, /* 0xB4 */
277 { 0xC2, 0xB5, 0x00 }, /* 0xB5 */
278 { 0xC2, 0xB6, 0x00 }, /* 0xB6 */
279 { 0xC2, 0xB7, 0x00 }, /* 0xB7 */
280 { 0xC2, 0xB8, 0x00 }, /* 0xB8 */
281 { 0xC2, 0xB9, 0x00 }, /* 0xB9 */
282 { 0xC2, 0xBA, 0x00 }, /* 0xBA */
283 { 0xC2, 0xBB, 0x00 }, /* 0xBB */
284 { 0xC2, 0xBC, 0x00 }, /* 0xBC */
285 { 0xC2, 0xBD, 0x00 }, /* 0xBD */
286 { 0xC2, 0xBE, 0x00 }, /* 0xBE */
287 { 0xC2, 0xBF, 0x00 }, /* 0xBF */
288 { 0xC3, 0x80, 0x00 }, /* 0xC0 */
289 { 0xC3, 0x81, 0x00 }, /* 0xC1 */
290 { 0xC3, 0x82, 0x00 }, /* 0xC2 */
291 { 0xC3, 0x83, 0x00 }, /* 0xC3 */
292 { 0xC3, 0x84, 0x00 }, /* 0xC4 */
293 { 0xC3, 0x85, 0x00 }, /* 0xC5 */
294 { 0xC3, 0x86, 0x00 }, /* 0xC6 */
295 { 0xC3, 0x87, 0x00 }, /* 0xC7 */
296 { 0xC3, 0x88, 0x00 }, /* 0xC8 */
297 { 0xC3, 0x89, 0x00 }, /* 0xC9 */
298 { 0xC3, 0x8A, 0x00 }, /* 0xCA */
299 { 0xC3, 0x8B, 0x00 }, /* 0xCB */
300 { 0xC3, 0x8C, 0x00 }, /* 0xCC */
301 { 0xC3, 0x8D, 0x00 }, /* 0xCD */
302 { 0xC3, 0x8E, 0x00 }, /* 0xCE */
303 { 0xC3, 0x8F, 0x00 }, /* 0xCF */
304 { 0xC3, 0x90, 0x00 }, /* 0xD0 */
305 { 0xC3, 0x91, 0x00 }, /* 0xD1 */
306 { 0xC3, 0x92, 0x00 }, /* 0xD2 */
307 { 0xC3, 0x93, 0x00 }, /* 0xD3 */
308 { 0xC3, 0x94, 0x00 }, /* 0xD4 */
309 { 0xC3, 0x95, 0x00 }, /* 0xD5 */
310 { 0xC3, 0x96, 0x00 }, /* 0xD6 */
311 { 0xC3, 0x97, 0x00 }, /* 0xD7 */
312 { 0xC3, 0x98, 0x00 }, /* 0xD8 */
313 { 0xC3, 0x99, 0x00 }, /* 0xD9 */
314 { 0xC3, 0x9A, 0x00 }, /* 0xDA */
315 { 0xC3, 0x9B, 0x00 }, /* 0xDB */
316 { 0xC3, 0x9C, 0x00 }, /* 0xDC */
317 { 0xC3, 0x9D, 0x00 }, /* 0xDD */
318 { 0xC3, 0x9E, 0x00 }, /* 0xDE */
319 { 0xC3, 0x9F, 0x00 }, /* 0xDF */
320 { 0xC3, 0xA0, 0x00 }, /* 0xE0 */
321 { 0xC3, 0xA1, 0x00 }, /* 0xE1 */
322 { 0xC3, 0xA2, 0x00 }, /* 0xE2 */
323 { 0xC3, 0xA3, 0x00 }, /* 0xE3 */
324 { 0xC3, 0xA4, 0x00 }, /* 0xE4 */
325 { 0xC3, 0xA5, 0x00 }, /* 0xE5 */
326 { 0xC3, 0xA6, 0x00 }, /* 0xE6 */
327 { 0xC3, 0xA7, 0x00 }, /* 0xE7 */
328 { 0xC3, 0xA8, 0x00 }, /* 0xE8 */
329 { 0xC3, 0xA9, 0x00 }, /* 0xE9 */
330 { 0xC3, 0xAA, 0x00 }, /* 0xEA */
331 { 0xC3, 0xAB, 0x00 }, /* 0xEB */
332 { 0xC3, 0xAC, 0x00 }, /* 0xEC */
333 { 0xC3, 0xAD, 0x00 }, /* 0xED */
334 { 0xC3, 0xAE, 0x00 }, /* 0xEE */
335 { 0xC3, 0xAF, 0x00 }, /* 0xEF */
336 { 0xC3, 0xB0, 0x00 }, /* 0xF0 */
337 { 0xC3, 0xB1, 0x00 }, /* 0xF1 */
338 { 0xC3, 0xB2, 0x00 }, /* 0xF2 */
339 { 0xC3, 0xB3, 0x00 }, /* 0xF3 */
340 { 0xC3, 0xB4, 0x00 }, /* 0xF4 */
341 { 0xC3, 0xB5, 0x00 }, /* 0xF5 */
342 { 0xC3, 0xB6, 0x00 }, /* 0xF6 */
343 { 0xC3, 0xB7, 0x00 }, /* 0xF7 */
344 { 0xC3, 0xB8, 0x00 }, /* 0xF8 */
345 { 0xC3, 0xB9, 0x00 }, /* 0xF9 */
346 { 0xC3, 0xBA, 0x00 }, /* 0xFA */
347 { 0xC3, 0xBB, 0x00 }, /* 0xFB */
348 { 0xC3, 0xBC, 0x00 }, /* 0xFC */
349 { 0xC3, 0xBD, 0x00 }, /* 0xFD */
350 { 0xC3, 0xBE, 0x00 }, /* 0xFE */
351 { 0xC3, 0xBF, 0x00 }, /* 0xFF */
353 { /* ISO 8859-15 -> UTF-8 */
354 { 0xC2, 0x80, 0x00 }, /* 0x80 */
355 { 0xC2, 0x81, 0x00 }, /* 0x81 */
356 { 0xC2, 0x82, 0x00 }, /* 0x82 */
357 { 0xC2, 0x83, 0x00 }, /* 0x83 */
358 { 0xC2, 0x84, 0x00 }, /* 0x84 */
359 { 0xC2, 0x85, 0x00 }, /* 0x85 */
360 { 0xC2, 0x86, 0x00 }, /* 0x86 */
361 { 0xC2, 0x87, 0x00 }, /* 0x87 */
362 { 0xC2, 0x88, 0x00 }, /* 0x88 */
363 { 0xC2, 0x89, 0x00 }, /* 0x89 */
364 { 0xC2, 0x8A, 0x00 }, /* 0x8A */
365 { 0xC2, 0x8B, 0x00 }, /* 0x8B */
366 { 0xC2, 0x8C, 0x00 }, /* 0x8C */
367 { 0xC2, 0x8D, 0x00 }, /* 0x8D */
368 { 0xC2, 0x8E, 0x00 }, /* 0x8E */
369 { 0xC2, 0x8F, 0x00 }, /* 0x8F */
370 { 0xC2, 0x90, 0x00 }, /* 0x90 */
371 { 0xC2, 0x91, 0x00 }, /* 0x91 */
372 { 0xC2, 0x92, 0x00 }, /* 0x92 */
373 { 0xC2, 0x93, 0x00 }, /* 0x93 */
374 { 0xC2, 0x94, 0x00 }, /* 0x94 */
375 { 0xC2, 0x95, 0x00 }, /* 0x95 */
376 { 0xC2, 0x96, 0x00 }, /* 0x96 */
377 { 0xC2, 0x97, 0x00 }, /* 0x97 */
378 { 0xC2, 0x98, 0x00 }, /* 0x98 */
379 { 0xC2, 0x99, 0x00 }, /* 0x99 */
380 { 0xC2, 0x9A, 0x00 }, /* 0x9A */
381 { 0xC2, 0x9B, 0x00 }, /* 0x9B */
382 { 0xC2, 0x9C, 0x00 }, /* 0x9C */
383 { 0xC2, 0x9D, 0x00 }, /* 0x9D */
384 { 0xC2, 0x9E, 0x00 }, /* 0x9E */
385 { 0xC2, 0x9F, 0x00 }, /* 0x9F */
386 { 0xC2, 0xA0, 0x00 }, /* 0xA0 */
387 { 0xC2, 0xA1, 0x00 }, /* 0xA1 */
388 { 0xC2, 0xA2, 0x00 }, /* 0xA2 */
389 { 0xC2, 0xA3, 0x00 }, /* 0xA3 */
390 { 0xE2, 0x82, 0xAC }, /* 0xA4 */
391 { 0xC2, 0xA5, 0x00 }, /* 0xA5 */
392 { 0xC5, 0xA0, 0x00 }, /* 0xA6 */
393 { 0xC2, 0xA7, 0x00 }, /* 0xA7 */
394 { 0xC5, 0xA1, 0x00 }, /* 0xA8 */
395 { 0xC2, 0xA9, 0x00 }, /* 0xA9 */
396 { 0xC2, 0xAA, 0x00 }, /* 0xAA */
397 { 0xC2, 0xAB, 0x00 }, /* 0xAB */
398 { 0xC2, 0xAC, 0x00 }, /* 0xAC */
399 { 0xC2, 0xAD, 0x00 }, /* 0xAD */
400 { 0xC2, 0xAE, 0x00 }, /* 0xAE */
401 { 0xC2, 0xAF, 0x00 }, /* 0xAF */
402 { 0xC2, 0xB0, 0x00 }, /* 0xB0 */
403 { 0xC2, 0xB1, 0x00 }, /* 0xB1 */
404 { 0xC2, 0xB2, 0x00 }, /* 0xB2 */
405 { 0xC2, 0xB3, 0x00 }, /* 0xB3 */
406 { 0xC5, 0xBD, 0x00 }, /* 0xB4 */
407 { 0xC2, 0xB5, 0x00 }, /* 0xB5 */
408 { 0xC2, 0xB6, 0x00 }, /* 0xB6 */
409 { 0xC2, 0xB7, 0x00 }, /* 0xB7 */
410 { 0xC5, 0xBE, 0x00 }, /* 0xB8 */
411 { 0xC2, 0xB9, 0x00 }, /* 0xB9 */
412 { 0xC2, 0xBA, 0x00 }, /* 0xBA */
413 { 0xC2, 0xBB, 0x00 }, /* 0xBB */
414 { 0xC5, 0x92, 0x00 }, /* 0xBC */
415 { 0xC5, 0x93, 0x00 }, /* 0xBD */
416 { 0xC5, 0xB8, 0x00 }, /* 0xBE */
417 { 0xC2, 0xBF, 0x00 }, /* 0xBF */
418 { 0xC3, 0x80, 0x00 }, /* 0xC0 */
419 { 0xC3, 0x81, 0x00 }, /* 0xC1 */
420 { 0xC3, 0x82, 0x00 }, /* 0xC2 */
421 { 0xC3, 0x83, 0x00 }, /* 0xC3 */
422 { 0xC3, 0x84, 0x00 }, /* 0xC4 */
423 { 0xC3, 0x85, 0x00 }, /* 0xC5 */
424 { 0xC3, 0x86, 0x00 }, /* 0xC6 */
425 { 0xC3, 0x87, 0x00 }, /* 0xC7 */
426 { 0xC3, 0x88, 0x00 }, /* 0xC8 */
427 { 0xC3, 0x89, 0x00 }, /* 0xC9 */
428 { 0xC3, 0x8A, 0x00 }, /* 0xCA */
429 { 0xC3, 0x8B, 0x00 }, /* 0xCB */
430 { 0xC3, 0x8C, 0x00 }, /* 0xCC */
431 { 0xC3, 0x8D, 0x00 }, /* 0xCD */
432 { 0xC3, 0x8E, 0x00 }, /* 0xCE */
433 { 0xC3, 0x8F, 0x00 }, /* 0xCF */
434 { 0xC3, 0x90, 0x00 }, /* 0xD0 */
435 { 0xC3, 0x91, 0x00 }, /* 0xD1 */
436 { 0xC3, 0x92, 0x00 }, /* 0xD2 */
437 { 0xC3, 0x93, 0x00 }, /* 0xD3 */
438 { 0xC3, 0x94, 0x00 }, /* 0xD4 */
439 { 0xC3, 0x95, 0x00 }, /* 0xD5 */
440 { 0xC3, 0x96, 0x00 }, /* 0xD6 */
441 { 0xC3, 0x97, 0x00 }, /* 0xD7 */
442 { 0xC3, 0x98, 0x00 }, /* 0xD8 */
443 { 0xC3, 0x99, 0x00 }, /* 0xD9 */
444 { 0xC3, 0x9A, 0x00 }, /* 0xDA */
445 { 0xC3, 0x9B, 0x00 }, /* 0xDB */
446 { 0xC3, 0x9C, 0x00 }, /* 0xDC */
447 { 0xC3, 0x9D, 0x00 }, /* 0xDD */
448 { 0xC3, 0x9E, 0x00 }, /* 0xDE */
449 { 0xC3, 0x9F, 0x00 }, /* 0xDF */
450 { 0xC3, 0xA0, 0x00 }, /* 0xE0 */
451 { 0xC3, 0xA1, 0x00 }, /* 0xE1 */
452 { 0xC3, 0xA2, 0x00 }, /* 0xE2 */
453 { 0xC3, 0xA3, 0x00 }, /* 0xE3 */
454 { 0xC3, 0xA4, 0x00 }, /* 0xE4 */
455 { 0xC3, 0xA5, 0x00 }, /* 0xE5 */
456 { 0xC3, 0xA6, 0x00 }, /* 0xE6 */
457 { 0xC3, 0xA7, 0x00 }, /* 0xE7 */
458 { 0xC3, 0xA8, 0x00 }, /* 0xE8 */
459 { 0xC3, 0xA9, 0x00 }, /* 0xE9 */
460 { 0xC3, 0xAA, 0x00 }, /* 0xEA */
461 { 0xC3, 0xAB, 0x00 }, /* 0xEB */
462 { 0xC3, 0xAC, 0x00 }, /* 0xEC */
463 { 0xC3, 0xAD, 0x00 }, /* 0xED */
464 { 0xC3, 0xAE, 0x00 }, /* 0xEE */
465 { 0xC3, 0xAF, 0x00 }, /* 0xEF */
466 { 0xC3, 0xB0, 0x00 }, /* 0xF0 */
467 { 0xC3, 0xB1, 0x00 }, /* 0xF1 */
468 { 0xC3, 0xB2, 0x00 }, /* 0xF2 */
469 { 0xC3, 0xB3, 0x00 }, /* 0xF3 */
470 { 0xC3, 0xB4, 0x00 }, /* 0xF4 */
471 { 0xC3, 0xB5, 0x00 }, /* 0xF5 */
472 { 0xC3, 0xB6, 0x00 }, /* 0xF6 */
473 { 0xC3, 0xB7, 0x00 }, /* 0xF7 */
474 { 0xC3, 0xB8, 0x00 }, /* 0xF8 */
475 { 0xC3, 0xB9, 0x00 }, /* 0xF9 */
476 { 0xC3, 0xBA, 0x00 }, /* 0xFA */
477 { 0xC3, 0xBB, 0x00 }, /* 0xFB */
478 { 0xC3, 0xBC, 0x00 }, /* 0xFC */
479 { 0xC3, 0xBD, 0x00 }, /* 0xFD */
480 { 0xC3, 0xBE, 0x00 }, /* 0xFE */
481 { 0xC3, 0xBF, 0x00 }, /* 0xFF */
483 { /* CP850 -> UTF-8 */
484 { 0xC3, 0x87, 0x00 }, /* 0x80 */
485 { 0xC3, 0xBC, 0x00 }, /* 0x81 */
486 { 0xC3, 0xA9, 0x00 }, /* 0x82 */
487 { 0xC3, 0xA2, 0x00 }, /* 0x83 */
488 { 0xC3, 0xA4, 0x00 }, /* 0x84 */
489 { 0xC3, 0xA0, 0x00 }, /* 0x85 */
490 { 0xC3, 0xA5, 0x00 }, /* 0x86 */
491 { 0xC3, 0xA7, 0x00 }, /* 0x87 */
492 { 0xC3, 0xAA, 0x00 }, /* 0x88 */
493 { 0xC3, 0xAB, 0x00 }, /* 0x89 */
494 { 0xC3, 0xA8, 0x00 }, /* 0x8A */
495 { 0xC3, 0xAF, 0x00 }, /* 0x8B */
496 { 0xC3, 0xAE, 0x00 }, /* 0x8C */
497 { 0xC3, 0xAC, 0x00 }, /* 0x8D */
498 { 0xC3, 0x84, 0x00 }, /* 0x8E */
499 { 0xC3, 0x85, 0x00 }, /* 0x8F */
500 { 0xC3, 0x89, 0x00 }, /* 0x90 */
501 { 0xC3, 0xA6, 0x00 }, /* 0x91 */
502 { 0xC3, 0x86, 0x00 }, /* 0x92 */
503 { 0xC3, 0xB4, 0x00 }, /* 0x93 */
504 { 0xC3, 0xB6, 0x00 }, /* 0x94 */
505 { 0xC3, 0xB2, 0x00 }, /* 0x95 */
506 { 0xC3, 0xBB, 0x00 }, /* 0x96 */
507 { 0xC3, 0xB9, 0x00 }, /* 0x97 */
508 { 0xC3, 0xBF, 0x00 }, /* 0x98 */
509 { 0xC3, 0x96, 0x00 }, /* 0x99 */
510 { 0xC3, 0x9C, 0x00 }, /* 0x9A */
511 { 0xC3, 0xB8, 0x00 }, /* 0x9B */
512 { 0xC2, 0xA3, 0x00 }, /* 0x9C */
513 { 0xC3, 0x98, 0x00 }, /* 0x9D */
514 { 0xC3, 0x97, 0x00 }, /* 0x9E */
515 { 0xC6, 0x92, 0x00 }, /* 0x9F */
516 { 0xC3, 0xA1, 0x00 }, /* 0xA0 */
517 { 0xC3, 0xAD, 0x00 }, /* 0xA1 */
518 { 0xC3, 0xB3, 0x00 }, /* 0xA2 */
519 { 0xC3, 0xBA, 0x00 }, /* 0xA3 */
520 { 0xC3, 0xB1, 0x00 }, /* 0xA4 */
521 { 0xC3, 0x91, 0x00 }, /* 0xA5 */
522 { 0xC2, 0xAA, 0x00 }, /* 0xA6 */
523 { 0xC2, 0xBA, 0x00 }, /* 0xA7 */
524 { 0xC2, 0xBF, 0x00 }, /* 0xA8 */
525 { 0xC2, 0xAE, 0x00 }, /* 0xA9 */
526 { 0xC2, 0xAC, 0x00 }, /* 0xAA */
527 { 0xC2, 0xBD, 0x00 }, /* 0xAB */
528 { 0xC2, 0xBC, 0x00 }, /* 0xAC */
529 { 0xC2, 0xA1, 0x00 }, /* 0xAD */
530 { 0xC2, 0xAB, 0x00 }, /* 0xAE */
531 { 0xC2, 0xBB, 0x00 }, /* 0xAF */
532 { 0xE2, 0x96, 0x91 }, /* 0xB0 */
533 { 0xE2, 0x96, 0x92 }, /* 0xB1 */
534 { 0xE2, 0x96, 0x93 }, /* 0xB2 */
535 { 0xE2, 0x94, 0x82 }, /* 0xB3 */
536 { 0xE2, 0x94, 0xA4 }, /* 0xB4 */
537 { 0xC3, 0x81, 0x00 }, /* 0xB5 */
538 { 0xC3, 0x82, 0x00 }, /* 0xB6 */
539 { 0xC3, 0x80, 0x00 }, /* 0xB7 */
540 { 0xC2, 0xA9, 0x00 }, /* 0xB8 */
541 { 0xE2, 0x95, 0xA3 }, /* 0xB9 */
542 { 0xE2, 0x95, 0x91 }, /* 0xBA */
543 { 0xE2, 0x95, 0x97 }, /* 0xBB */
544 { 0xE2, 0x95, 0x9D }, /* 0xBC */
545 { 0xC2, 0xA2, 0x00 }, /* 0xBD */
546 { 0xC2, 0xA5, 0x00 }, /* 0xBE */
547 { 0xE2, 0x94, 0x90 }, /* 0xBF */
548 { 0xE2, 0x94, 0x94 }, /* 0xC0 */
549 { 0xE2, 0x94, 0xB4 }, /* 0xC1 */
550 { 0xE2, 0x94, 0xAC }, /* 0xC2 */
551 { 0xE2, 0x94, 0x9C }, /* 0xC3 */
552 { 0xE2, 0x94, 0x80 }, /* 0xC4 */
553 { 0xE2, 0x94, 0xBC }, /* 0xC5 */
554 { 0xC3, 0xA3, 0x00 }, /* 0xC6 */
555 { 0xC3, 0x83, 0x00 }, /* 0xC7 */
556 { 0xE2, 0x95, 0x9A }, /* 0xC8 */
557 { 0xE2, 0x95, 0x94 }, /* 0xC9 */
558 { 0xE2, 0x95, 0xA9 }, /* 0xCA */
559 { 0xE2, 0x95, 0xA6 }, /* 0xCB */
560 { 0xE2, 0x95, 0xA0 }, /* 0xCC */
561 { 0xE2, 0x95, 0x90 }, /* 0xCD */
562 { 0xE2, 0x95, 0xAC }, /* 0xCE */
563 { 0xC2, 0xA4, 0x00 }, /* 0xCF */
564 { 0xC3, 0xB0, 0x00 }, /* 0xD0 */
565 { 0xC3, 0x90, 0x00 }, /* 0xD1 */
566 { 0xC3, 0x8A, 0x00 }, /* 0xD2 */
567 { 0xC3, 0x8B, 0x00 }, /* 0xD3 */
568 { 0xC3, 0x88, 0x00 }, /* 0xD4 */
569 { 0xC4, 0xB1, 0x00 }, /* 0xD5 */
570 { 0xC3, 0x8D, 0x00 }, /* 0xD6 */
571 { 0xC3, 0x8E, 0x00 }, /* 0xD7 */
572 { 0xC3, 0x8F, 0x00 }, /* 0xD8 */
573 { 0xE2, 0x94, 0x98 }, /* 0xD9 */
574 { 0xE2, 0x94, 0x8C }, /* 0xDA */
575 { 0xE2, 0x96, 0x88 }, /* 0xDB */
576 { 0xE2, 0x96, 0x84 }, /* 0xDC */
577 { 0xC2, 0xA6, 0x00 }, /* 0xDD */
578 { 0xC3, 0x8C, 0x00 }, /* 0xDE */
579 { 0xE2, 0x96, 0x80 }, /* 0xDF */
580 { 0xC3, 0x93, 0x00 }, /* 0xE0 */
581 { 0xC3, 0x9F, 0x00 }, /* 0xE1 */
582 { 0xC3, 0x94, 0x00 }, /* 0xE2 */
583 { 0xC3, 0x92, 0x00 }, /* 0xE3 */
584 { 0xC3, 0xB5, 0x00 }, /* 0xE4 */
585 { 0xC3, 0x95, 0x00 }, /* 0xE5 */
586 { 0xC2, 0xB5, 0x00 }, /* 0xE6 */
587 { 0xC3, 0xBE, 0x00 }, /* 0xE7 */
588 { 0xC3, 0x9E, 0x00 }, /* 0xE8 */
589 { 0xC3, 0x9A, 0x00 }, /* 0xE9 */
590 { 0xC3, 0x9B, 0x00 }, /* 0xEA */
591 { 0xC3, 0x99, 0x00 }, /* 0xEB */
592 { 0xC3, 0xBD, 0x00 }, /* 0xEC */
593 { 0xC3, 0x9D, 0x00 }, /* 0xED */
594 { 0xC2, 0xAF, 0x00 }, /* 0xEE */
595 { 0xC2, 0xB4, 0x00 }, /* 0xEF */
596 { 0xC2, 0xAD, 0x00 }, /* 0xF0 */
597 { 0xC2, 0xB1, 0x00 }, /* 0xF1 */
598 { 0xE2, 0x80, 0x97 }, /* 0xF2 */
599 { 0xC2, 0xBE, 0x00 }, /* 0xF3 */
600 { 0xC2, 0xB6, 0x00 }, /* 0xF4 */
601 { 0xC2, 0xA7, 0x00 }, /* 0xF5 */
602 { 0xC3, 0xB7, 0x00 }, /* 0xF6 */
603 { 0xC2, 0xB8, 0x00 }, /* 0xF7 */
604 { 0xC2, 0xB0, 0x00 }, /* 0xF8 */
605 { 0xC2, 0xA8, 0x00 }, /* 0xF9 */
606 { 0xC2, 0xB7, 0x00 }, /* 0xFA */
607 { 0xC2, 0xB9, 0x00 }, /* 0xFB */
608 { 0xC2, 0xB3, 0x00 }, /* 0xFC */
609 { 0xC2, 0xB2, 0x00 }, /* 0xFD */
610 { 0xE2, 0x96, 0xA0 }, /* 0xFE */
611 { 0xC2, 0xA0, 0x00 }, /* 0xFF */
616 * Mapping tables from UTF-8 to CP1252, ISO 8859-1, ISO 8859-15, and CP850.
618 * Each table is sorted with UTF-8 values to be used with binary search.
619 * UTF-8 character byte values are saved at uint32_t:24 contiguously as
620 * scalar values.
622 static const kiconv_to_sb_tbl_comp_t to_sb_tbl[4][128] = {
623 { /* UTF-8 -> CP1252 */
624 { 0x00C2A0, 0xA0 },
625 { 0x00C2A1, 0xA1 },
626 { 0x00C2A2, 0xA2 },
627 { 0x00C2A3, 0xA3 },
628 { 0x00C2A4, 0xA4 },
629 { 0x00C2A5, 0xA5 },
630 { 0x00C2A6, 0xA6 },
631 { 0x00C2A7, 0xA7 },
632 { 0x00C2A8, 0xA8 },
633 { 0x00C2A9, 0xA9 },
634 { 0x00C2AA, 0xAA },
635 { 0x00C2AB, 0xAB },
636 { 0x00C2AC, 0xAC },
637 { 0x00C2AD, 0xAD },
638 { 0x00C2AE, 0xAE },
639 { 0x00C2AF, 0xAF },
640 { 0x00C2B0, 0xB0 },
641 { 0x00C2B1, 0xB1 },
642 { 0x00C2B2, 0xB2 },
643 { 0x00C2B3, 0xB3 },
644 { 0x00C2B4, 0xB4 },
645 { 0x00C2B5, 0xB5 },
646 { 0x00C2B6, 0xB6 },
647 { 0x00C2B7, 0xB7 },
648 { 0x00C2B8, 0xB8 },
649 { 0x00C2B9, 0xB9 },
650 { 0x00C2BA, 0xBA },
651 { 0x00C2BB, 0xBB },
652 { 0x00C2BC, 0xBC },
653 { 0x00C2BD, 0xBD },
654 { 0x00C2BE, 0xBE },
655 { 0x00C2BF, 0xBF },
656 { 0x00C380, 0xC0 },
657 { 0x00C381, 0xC1 },
658 { 0x00C382, 0xC2 },
659 { 0x00C383, 0xC3 },
660 { 0x00C384, 0xC4 },
661 { 0x00C385, 0xC5 },
662 { 0x00C386, 0xC6 },
663 { 0x00C387, 0xC7 },
664 { 0x00C388, 0xC8 },
665 { 0x00C389, 0xC9 },
666 { 0x00C38A, 0xCA },
667 { 0x00C38B, 0xCB },
668 { 0x00C38C, 0xCC },
669 { 0x00C38D, 0xCD },
670 { 0x00C38E, 0xCE },
671 { 0x00C38F, 0xCF },
672 { 0x00C390, 0xD0 },
673 { 0x00C391, 0xD1 },
674 { 0x00C392, 0xD2 },
675 { 0x00C393, 0xD3 },
676 { 0x00C394, 0xD4 },
677 { 0x00C395, 0xD5 },
678 { 0x00C396, 0xD6 },
679 { 0x00C397, 0xD7 },
680 { 0x00C398, 0xD8 },
681 { 0x00C399, 0xD9 },
682 { 0x00C39A, 0xDA },
683 { 0x00C39B, 0xDB },
684 { 0x00C39C, 0xDC },
685 { 0x00C39D, 0xDD },
686 { 0x00C39E, 0xDE },
687 { 0x00C39F, 0xDF },
688 { 0x00C3A0, 0xE0 },
689 { 0x00C3A1, 0xE1 },
690 { 0x00C3A2, 0xE2 },
691 { 0x00C3A3, 0xE3 },
692 { 0x00C3A4, 0xE4 },
693 { 0x00C3A5, 0xE5 },
694 { 0x00C3A6, 0xE6 },
695 { 0x00C3A7, 0xE7 },
696 { 0x00C3A8, 0xE8 },
697 { 0x00C3A9, 0xE9 },
698 { 0x00C3AA, 0xEA },
699 { 0x00C3AB, 0xEB },
700 { 0x00C3AC, 0xEC },
701 { 0x00C3AD, 0xED },
702 { 0x00C3AE, 0xEE },
703 { 0x00C3AF, 0xEF },
704 { 0x00C3B0, 0xF0 },
705 { 0x00C3B1, 0xF1 },
706 { 0x00C3B2, 0xF2 },
707 { 0x00C3B3, 0xF3 },
708 { 0x00C3B4, 0xF4 },
709 { 0x00C3B5, 0xF5 },
710 { 0x00C3B6, 0xF6 },
711 { 0x00C3B7, 0xF7 },
712 { 0x00C3B8, 0xF8 },
713 { 0x00C3B9, 0xF9 },
714 { 0x00C3BA, 0xFA },
715 { 0x00C3BB, 0xFB },
716 { 0x00C3BC, 0xFC },
717 { 0x00C3BD, 0xFD },
718 { 0x00C3BE, 0xFE },
719 { 0x00C3BF, 0xFF },
720 { 0x00C592, 0x8C },
721 { 0x00C593, 0x9C },
722 { 0x00C5A0, 0x8A },
723 { 0x00C5A1, 0x9A },
724 { 0x00C5B8, 0x9F },
725 { 0x00C5BD, 0x8E },
726 { 0x00C5BE, 0x9E },
727 { 0x00C692, 0x83 },
728 { 0x00CB86, 0x88 },
729 { 0x00CB9C, 0x98 },
730 { 0xE28093, 0x96 },
731 { 0xE28094, 0x97 },
732 { 0xE28098, 0x91 },
733 { 0xE28099, 0x92 },
734 { 0xE2809A, 0x82 },
735 { 0xE2809C, 0x93 },
736 { 0xE2809D, 0x94 },
737 { 0xE2809E, 0x84 },
738 { 0xE280A0, 0x86 },
739 { 0xE280A1, 0x87 },
740 { 0xE280A2, 0x95 },
741 { 0xE280A6, 0x85 },
742 { 0xE280B0, 0x89 },
743 { 0xE280B9, 0x8B },
744 { 0xE280BA, 0x9B },
745 { 0xE282AC, 0x80 },
746 { 0xE284A2, 0x99 },
747 { 0xFFFFFF, 0x00 },
748 { 0xFFFFFF, 0x00 },
749 { 0xFFFFFF, 0x00 },
750 { 0xFFFFFF, 0x00 },
751 { 0xFFFFFF, 0x00 },
753 { /* UTF-8 -> ISO 8859-1 */
754 { 0x00C280, 0x80 },
755 { 0x00C281, 0x81 },
756 { 0x00C282, 0x82 },
757 { 0x00C283, 0x83 },
758 { 0x00C284, 0x84 },
759 { 0x00C285, 0x85 },
760 { 0x00C286, 0x86 },
761 { 0x00C287, 0x87 },
762 { 0x00C288, 0x88 },
763 { 0x00C289, 0x89 },
764 { 0x00C28A, 0x8A },
765 { 0x00C28B, 0x8B },
766 { 0x00C28C, 0x8C },
767 { 0x00C28D, 0x8D },
768 { 0x00C28E, 0x8E },
769 { 0x00C28F, 0x8F },
770 { 0x00C290, 0x90 },
771 { 0x00C291, 0x91 },
772 { 0x00C292, 0x92 },
773 { 0x00C293, 0x93 },
774 { 0x00C294, 0x94 },
775 { 0x00C295, 0x95 },
776 { 0x00C296, 0x96 },
777 { 0x00C297, 0x97 },
778 { 0x00C298, 0x98 },
779 { 0x00C299, 0x99 },
780 { 0x00C29A, 0x9A },
781 { 0x00C29B, 0x9B },
782 { 0x00C29C, 0x9C },
783 { 0x00C29D, 0x9D },
784 { 0x00C29E, 0x9E },
785 { 0x00C29F, 0x9F },
786 { 0x00C2A0, 0xA0 },
787 { 0x00C2A1, 0xA1 },
788 { 0x00C2A2, 0xA2 },
789 { 0x00C2A3, 0xA3 },
790 { 0x00C2A4, 0xA4 },
791 { 0x00C2A5, 0xA5 },
792 { 0x00C2A6, 0xA6 },
793 { 0x00C2A7, 0xA7 },
794 { 0x00C2A8, 0xA8 },
795 { 0x00C2A9, 0xA9 },
796 { 0x00C2AA, 0xAA },
797 { 0x00C2AB, 0xAB },
798 { 0x00C2AC, 0xAC },
799 { 0x00C2AD, 0xAD },
800 { 0x00C2AE, 0xAE },
801 { 0x00C2AF, 0xAF },
802 { 0x00C2B0, 0xB0 },
803 { 0x00C2B1, 0xB1 },
804 { 0x00C2B2, 0xB2 },
805 { 0x00C2B3, 0xB3 },
806 { 0x00C2B4, 0xB4 },
807 { 0x00C2B5, 0xB5 },
808 { 0x00C2B6, 0xB6 },
809 { 0x00C2B7, 0xB7 },
810 { 0x00C2B8, 0xB8 },
811 { 0x00C2B9, 0xB9 },
812 { 0x00C2BA, 0xBA },
813 { 0x00C2BB, 0xBB },
814 { 0x00C2BC, 0xBC },
815 { 0x00C2BD, 0xBD },
816 { 0x00C2BE, 0xBE },
817 { 0x00C2BF, 0xBF },
818 { 0x00C380, 0xC0 },
819 { 0x00C381, 0xC1 },
820 { 0x00C382, 0xC2 },
821 { 0x00C383, 0xC3 },
822 { 0x00C384, 0xC4 },
823 { 0x00C385, 0xC5 },
824 { 0x00C386, 0xC6 },
825 { 0x00C387, 0xC7 },
826 { 0x00C388, 0xC8 },
827 { 0x00C389, 0xC9 },
828 { 0x00C38A, 0xCA },
829 { 0x00C38B, 0xCB },
830 { 0x00C38C, 0xCC },
831 { 0x00C38D, 0xCD },
832 { 0x00C38E, 0xCE },
833 { 0x00C38F, 0xCF },
834 { 0x00C390, 0xD0 },
835 { 0x00C391, 0xD1 },
836 { 0x00C392, 0xD2 },
837 { 0x00C393, 0xD3 },
838 { 0x00C394, 0xD4 },
839 { 0x00C395, 0xD5 },
840 { 0x00C396, 0xD6 },
841 { 0x00C397, 0xD7 },
842 { 0x00C398, 0xD8 },
843 { 0x00C399, 0xD9 },
844 { 0x00C39A, 0xDA },
845 { 0x00C39B, 0xDB },
846 { 0x00C39C, 0xDC },
847 { 0x00C39D, 0xDD },
848 { 0x00C39E, 0xDE },
849 { 0x00C39F, 0xDF },
850 { 0x00C3A0, 0xE0 },
851 { 0x00C3A1, 0xE1 },
852 { 0x00C3A2, 0xE2 },
853 { 0x00C3A3, 0xE3 },
854 { 0x00C3A4, 0xE4 },
855 { 0x00C3A5, 0xE5 },
856 { 0x00C3A6, 0xE6 },
857 { 0x00C3A7, 0xE7 },
858 { 0x00C3A8, 0xE8 },
859 { 0x00C3A9, 0xE9 },
860 { 0x00C3AA, 0xEA },
861 { 0x00C3AB, 0xEB },
862 { 0x00C3AC, 0xEC },
863 { 0x00C3AD, 0xED },
864 { 0x00C3AE, 0xEE },
865 { 0x00C3AF, 0xEF },
866 { 0x00C3B0, 0xF0 },
867 { 0x00C3B1, 0xF1 },
868 { 0x00C3B2, 0xF2 },
869 { 0x00C3B3, 0xF3 },
870 { 0x00C3B4, 0xF4 },
871 { 0x00C3B5, 0xF5 },
872 { 0x00C3B6, 0xF6 },
873 { 0x00C3B7, 0xF7 },
874 { 0x00C3B8, 0xF8 },
875 { 0x00C3B9, 0xF9 },
876 { 0x00C3BA, 0xFA },
877 { 0x00C3BB, 0xFB },
878 { 0x00C3BC, 0xFC },
879 { 0x00C3BD, 0xFD },
880 { 0x00C3BE, 0xFE },
881 { 0x00C3BF, 0xFF },
883 { /* UTF-8 -> ISO 8859-15 */
884 { 0x00C280, 0x80 },
885 { 0x00C281, 0x81 },
886 { 0x00C282, 0x82 },
887 { 0x00C283, 0x83 },
888 { 0x00C284, 0x84 },
889 { 0x00C285, 0x85 },
890 { 0x00C286, 0x86 },
891 { 0x00C287, 0x87 },
892 { 0x00C288, 0x88 },
893 { 0x00C289, 0x89 },
894 { 0x00C28A, 0x8A },
895 { 0x00C28B, 0x8B },
896 { 0x00C28C, 0x8C },
897 { 0x00C28D, 0x8D },
898 { 0x00C28E, 0x8E },
899 { 0x00C28F, 0x8F },
900 { 0x00C290, 0x90 },
901 { 0x00C291, 0x91 },
902 { 0x00C292, 0x92 },
903 { 0x00C293, 0x93 },
904 { 0x00C294, 0x94 },
905 { 0x00C295, 0x95 },
906 { 0x00C296, 0x96 },
907 { 0x00C297, 0x97 },
908 { 0x00C298, 0x98 },
909 { 0x00C299, 0x99 },
910 { 0x00C29A, 0x9A },
911 { 0x00C29B, 0x9B },
912 { 0x00C29C, 0x9C },
913 { 0x00C29D, 0x9D },
914 { 0x00C29E, 0x9E },
915 { 0x00C29F, 0x9F },
916 { 0x00C2A0, 0xA0 },
917 { 0x00C2A1, 0xA1 },
918 { 0x00C2A2, 0xA2 },
919 { 0x00C2A3, 0xA3 },
920 { 0x00C2A5, 0xA5 },
921 { 0x00C2A7, 0xA7 },
922 { 0x00C2A9, 0xA9 },
923 { 0x00C2AA, 0xAA },
924 { 0x00C2AB, 0xAB },
925 { 0x00C2AC, 0xAC },
926 { 0x00C2AD, 0xAD },
927 { 0x00C2AE, 0xAE },
928 { 0x00C2AF, 0xAF },
929 { 0x00C2B0, 0xB0 },
930 { 0x00C2B1, 0xB1 },
931 { 0x00C2B2, 0xB2 },
932 { 0x00C2B3, 0xB3 },
933 { 0x00C2B5, 0xB5 },
934 { 0x00C2B6, 0xB6 },
935 { 0x00C2B7, 0xB7 },
936 { 0x00C2B9, 0xB9 },
937 { 0x00C2BA, 0xBA },
938 { 0x00C2BB, 0xBB },
939 { 0x00C2BF, 0xBF },
940 { 0x00C380, 0xC0 },
941 { 0x00C381, 0xC1 },
942 { 0x00C382, 0xC2 },
943 { 0x00C383, 0xC3 },
944 { 0x00C384, 0xC4 },
945 { 0x00C385, 0xC5 },
946 { 0x00C386, 0xC6 },
947 { 0x00C387, 0xC7 },
948 { 0x00C388, 0xC8 },
949 { 0x00C389, 0xC9 },
950 { 0x00C38A, 0xCA },
951 { 0x00C38B, 0xCB },
952 { 0x00C38C, 0xCC },
953 { 0x00C38D, 0xCD },
954 { 0x00C38E, 0xCE },
955 { 0x00C38F, 0xCF },
956 { 0x00C390, 0xD0 },
957 { 0x00C391, 0xD1 },
958 { 0x00C392, 0xD2 },
959 { 0x00C393, 0xD3 },
960 { 0x00C394, 0xD4 },
961 { 0x00C395, 0xD5 },
962 { 0x00C396, 0xD6 },
963 { 0x00C397, 0xD7 },
964 { 0x00C398, 0xD8 },
965 { 0x00C399, 0xD9 },
966 { 0x00C39A, 0xDA },
967 { 0x00C39B, 0xDB },
968 { 0x00C39C, 0xDC },
969 { 0x00C39D, 0xDD },
970 { 0x00C39E, 0xDE },
971 { 0x00C39F, 0xDF },
972 { 0x00C3A0, 0xE0 },
973 { 0x00C3A1, 0xE1 },
974 { 0x00C3A2, 0xE2 },
975 { 0x00C3A3, 0xE3 },
976 { 0x00C3A4, 0xE4 },
977 { 0x00C3A5, 0xE5 },
978 { 0x00C3A6, 0xE6 },
979 { 0x00C3A7, 0xE7 },
980 { 0x00C3A8, 0xE8 },
981 { 0x00C3A9, 0xE9 },
982 { 0x00C3AA, 0xEA },
983 { 0x00C3AB, 0xEB },
984 { 0x00C3AC, 0xEC },
985 { 0x00C3AD, 0xED },
986 { 0x00C3AE, 0xEE },
987 { 0x00C3AF, 0xEF },
988 { 0x00C3B0, 0xF0 },
989 { 0x00C3B1, 0xF1 },
990 { 0x00C3B2, 0xF2 },
991 { 0x00C3B3, 0xF3 },
992 { 0x00C3B4, 0xF4 },
993 { 0x00C3B5, 0xF5 },
994 { 0x00C3B6, 0xF6 },
995 { 0x00C3B7, 0xF7 },
996 { 0x00C3B8, 0xF8 },
997 { 0x00C3B9, 0xF9 },
998 { 0x00C3BA, 0xFA },
999 { 0x00C3BB, 0xFB },
1000 { 0x00C3BC, 0xFC },
1001 { 0x00C3BD, 0xFD },
1002 { 0x00C3BE, 0xFE },
1003 { 0x00C3BF, 0xFF },
1004 { 0x00C592, 0xBC },
1005 { 0x00C593, 0xBD },
1006 { 0x00C5A0, 0xA6 },
1007 { 0x00C5A1, 0xA8 },
1008 { 0x00C5B8, 0xBE },
1009 { 0x00C5BD, 0xB4 },
1010 { 0x00C5BE, 0xB8 },
1011 { 0xE282AC, 0xA4 },
1013 { /* UTF-8 -> CP850 */
1014 { 0x00C2A0, 0xFF },
1015 { 0x00C2A1, 0xAD },
1016 { 0x00C2A2, 0xBD },
1017 { 0x00C2A3, 0x9C },
1018 { 0x00C2A4, 0xCF },
1019 { 0x00C2A5, 0xBE },
1020 { 0x00C2A6, 0xDD },
1021 { 0x00C2A7, 0xF5 },
1022 { 0x00C2A8, 0xF9 },
1023 { 0x00C2A9, 0xB8 },
1024 { 0x00C2AA, 0xA6 },
1025 { 0x00C2AB, 0xAE },
1026 { 0x00C2AC, 0xAA },
1027 { 0x00C2AD, 0xF0 },
1028 { 0x00C2AE, 0xA9 },
1029 { 0x00C2AF, 0xEE },
1030 { 0x00C2B0, 0xF8 },
1031 { 0x00C2B1, 0xF1 },
1032 { 0x00C2B2, 0xFD },
1033 { 0x00C2B3, 0xFC },
1034 { 0x00C2B4, 0xEF },
1035 { 0x00C2B5, 0xE6 },
1036 { 0x00C2B6, 0xF4 },
1037 { 0x00C2B7, 0xFA },
1038 { 0x00C2B8, 0xF7 },
1039 { 0x00C2B9, 0xFB },
1040 { 0x00C2BA, 0xA7 },
1041 { 0x00C2BB, 0xAF },
1042 { 0x00C2BC, 0xAC },
1043 { 0x00C2BD, 0xAB },
1044 { 0x00C2BE, 0xF3 },
1045 { 0x00C2BF, 0xA8 },
1046 { 0x00C380, 0xB7 },
1047 { 0x00C381, 0xB5 },
1048 { 0x00C382, 0xB6 },
1049 { 0x00C383, 0xC7 },
1050 { 0x00C384, 0x8E },
1051 { 0x00C385, 0x8F },
1052 { 0x00C386, 0x92 },
1053 { 0x00C387, 0x80 },
1054 { 0x00C388, 0xD4 },
1055 { 0x00C389, 0x90 },
1056 { 0x00C38A, 0xD2 },
1057 { 0x00C38B, 0xD3 },
1058 { 0x00C38C, 0xDE },
1059 { 0x00C38D, 0xD6 },
1060 { 0x00C38E, 0xD7 },
1061 { 0x00C38F, 0xD8 },
1062 { 0x00C390, 0xD1 },
1063 { 0x00C391, 0xA5 },
1064 { 0x00C392, 0xE3 },
1065 { 0x00C393, 0xE0 },
1066 { 0x00C394, 0xE2 },
1067 { 0x00C395, 0xE5 },
1068 { 0x00C396, 0x99 },
1069 { 0x00C397, 0x9E },
1070 { 0x00C398, 0x9D },
1071 { 0x00C399, 0xEB },
1072 { 0x00C39A, 0xE9 },
1073 { 0x00C39B, 0xEA },
1074 { 0x00C39C, 0x9A },
1075 { 0x00C39D, 0xED },
1076 { 0x00C39E, 0xE8 },
1077 { 0x00C39F, 0xE1 },
1078 { 0x00C3A0, 0x85 },
1079 { 0x00C3A1, 0xA0 },
1080 { 0x00C3A2, 0x83 },
1081 { 0x00C3A3, 0xC6 },
1082 { 0x00C3A4, 0x84 },
1083 { 0x00C3A5, 0x86 },
1084 { 0x00C3A6, 0x91 },
1085 { 0x00C3A7, 0x87 },
1086 { 0x00C3A8, 0x8A },
1087 { 0x00C3A9, 0x82 },
1088 { 0x00C3AA, 0x88 },
1089 { 0x00C3AB, 0x89 },
1090 { 0x00C3AC, 0x8D },
1091 { 0x00C3AD, 0xA1 },
1092 { 0x00C3AE, 0x8C },
1093 { 0x00C3AF, 0x8B },
1094 { 0x00C3B0, 0xD0 },
1095 { 0x00C3B1, 0xA4 },
1096 { 0x00C3B2, 0x95 },
1097 { 0x00C3B3, 0xA2 },
1098 { 0x00C3B4, 0x93 },
1099 { 0x00C3B5, 0xE4 },
1100 { 0x00C3B6, 0x94 },
1101 { 0x00C3B7, 0xF6 },
1102 { 0x00C3B8, 0x9B },
1103 { 0x00C3B9, 0x97 },
1104 { 0x00C3BA, 0xA3 },
1105 { 0x00C3BB, 0x96 },
1106 { 0x00C3BC, 0x81 },
1107 { 0x00C3BD, 0xEC },
1108 { 0x00C3BE, 0xE7 },
1109 { 0x00C3BF, 0x98 },
1110 { 0x00C4B1, 0xD5 },
1111 { 0x00C692, 0x9F },
1112 { 0xE28097, 0xF2 },
1113 { 0xE29480, 0xC4 },
1114 { 0xE29482, 0xB3 },
1115 { 0xE2948C, 0xDA },
1116 { 0xE29490, 0xBF },
1117 { 0xE29494, 0xC0 },
1118 { 0xE29498, 0xD9 },
1119 { 0xE2949C, 0xC3 },
1120 { 0xE294A4, 0xB4 },
1121 { 0xE294AC, 0xC2 },
1122 { 0xE294B4, 0xC1 },
1123 { 0xE294BC, 0xC5 },
1124 { 0xE29590, 0xCD },
1125 { 0xE29591, 0xBA },
1126 { 0xE29594, 0xC9 },
1127 { 0xE29597, 0xBB },
1128 { 0xE2959A, 0xC8 },
1129 { 0xE2959D, 0xBC },
1130 { 0xE295A0, 0xCC },
1131 { 0xE295A3, 0xB9 },
1132 { 0xE295A6, 0xCB },
1133 { 0xE295A9, 0xCA },
1134 { 0xE295AC, 0xCE },
1135 { 0xE29680, 0xDF },
1136 { 0xE29684, 0xDC },
1137 { 0xE29688, 0xDB },
1138 { 0xE29691, 0xB0 },
1139 { 0xE29692, 0xB1 },
1140 { 0xE29693, 0xB2 },
1141 { 0xE296A0, 0xFE },
1145 #endif /* _KERNEL */
1147 #ifdef __cplusplus
1149 #endif
1151 #endif /* _SYS_KICONV_LATIN1_H */