1 /*-------------------------------------------------------------------------*/
2 /* utf8encodings.c --- translation tables between an encoding and UTF-8 */
3 /* Copyright (c) : see below */
4 /*-------------------------------------------------------------------------*/
5 /*-------------------------------------------------------------------------*/
6 /* written (ie. converted the tables) by Erik van der Wal, May 2014 */
7 /*-------------------------------------------------------------------------*/
9 /*-------------------------------------------------------------------------*/
10 /* The data in this file is based on a number of files from unicode.org */
11 /* The specific source of the translation is referenced in the heading */
12 /* above each encoding */
13 /* All these files contained the following copyright notice: */
14 /* (I underlined the relevant part) */
15 /*-------------------------------------------------------------------------*/
17 # Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
19 # This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
20 # No claims are made as to fitness for any particular purpose. No
21 # warranties of any kind are expressed or implied. The recipient
22 # agrees to determine applicability of information provided. If this
23 # file has been provided on optical media by Unicode, Inc., the sole
24 # remedy for any claim will be exchange of defective media within 90
27 # Unicode, Inc. hereby grants the right to freely use the information
28 # --------------------------
29 # supplied in this file in the creation of products supporting the
30 # Unicode Standard, and to make copies of this file in any form for
31 # internal or external distribution as long as this notice remains
32 # ------------------------------
38 /* Since the character at index 0 can never be used, it is used to store */
39 /* the identification of the given encoding */
40 /* The encoding can be placed in random order, as long as it does start */
41 /* with the standard encoding and it ends with a NULL, to indicate the end */
43 /* Non-existent characters are encoded with the unicode character: */
44 /* 'REPLACEMENT CHARACTER' (typically a boxed question mark). */
46 #define REPLC_CHAR "\xef\xbf\xbd"
48 const char *utf8encodings
[][256] = {
49 /*--------------------------------------------------------------------------*/
51 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/stdenc.txt */
52 /*--------------------------------------------------------------------------*/
54 /* 0x00 */ "Standard", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
55 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
56 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
57 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
58 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
59 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
60 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
61 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
62 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&","\xe2\x80\x99",
63 /* 0x28 */ "(", ")", "*", "+", ",", "\xc2\xad",".", "/",
64 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
65 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
66 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
67 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
68 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
69 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
70 /* 0x60 */ "\xe2\x80\x98","a","b", "c", "d", "e", "f", "g",
71 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
72 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
73 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", REPLC_CHAR
,
74 /* 0x80 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
75 /* 0x84 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
76 /* 0x88 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
77 /* 0x8c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
78 /* 0x90 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
79 /* 0x94 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
80 /* 0x98 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
81 /* 0x9c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
82 /* 0xa0 */ REPLC_CHAR
, "\xc2\xa1", "\xc2\xa2", "\xc2\xa3",
83 /* 0xa4 */ "\xe2\x81\x84", "\xc2\xa5", "\xc6\x92", "\xc2\xa7",
84 /* 0xa8 */ "\xc2\xa4", "'", "\xe2\x80\x9c", "\xc2\xab",
85 /* 0xac */ "\xe2\x80\xb9", "\xe2\x80\xba", "\xef\xac\x81", "\xef\xac\x82",
86 /* 0xb0 */ REPLC_CHAR
, "\xe2\x80\x93", "\xe2\x80\xa0", "\xe2\x80\xa1",
87 /* 0xb4 */ "\xc2\xb7", REPLC_CHAR
, "\xc2\xb6", "\xe2\x80\xa2",
88 /* 0xb8 */ "\xe2\x80\x9a", "\xe2\x80\x9e", "\xe2\x80\x9d", "\xc2\xbb",
89 /* 0xbc */ "\xe2\x80\xa6", "\xe2\x80\xb0", REPLC_CHAR
, "\xc2\xbf",
90 /* 0xc0 */ REPLC_CHAR
, "`", "\xc2\xb4", "\xcb\x86",
91 /* 0xc4 */ "\xcb\x9c", "\xc2\xaf", "\xcb\x98", "\xcb\x99",
92 /* 0xc8 */ "\xc2\xa8", REPLC_CHAR
, "\xcb\x9a", "\xc2\xb8",
93 /* 0xcc */ REPLC_CHAR
, "\xcb\x9d", "\xcb\x9b", "\xcb\x87",
94 /* 0xd0 */ "\xe2\x80\x94", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
95 /* 0xd4 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
96 /* 0xd8 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
97 /* 0xdc */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
98 /* 0xe0 */ REPLC_CHAR
, "\xc3\x86", REPLC_CHAR
, "\xc2\xaa",
99 /* 0xe4 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
100 /* 0xe8 */ "\xc5\x81", "\xc3\x98", "\xc5\x92", "\xc2\xba",
101 /* 0xec */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
102 /* 0xf0 */ REPLC_CHAR
, "\xc3\xa6", REPLC_CHAR
, REPLC_CHAR
,
103 /* 0xf4 */ REPLC_CHAR
, "\xc4\xb1", REPLC_CHAR
, REPLC_CHAR
,
104 /* 0xf8 */ "\xc5\x82", "\xc3\xb8", "\xc5\x93", "\xc3\x9f",
105 /* 0xfc */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
107 /*--------------------------------------------------------------------------*/
109 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt */
110 /*--------------------------------------------------------------------------*/
112 /* 0x00 */ "Symbol", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
113 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
114 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
115 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
116 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
117 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
118 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
119 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
120 /* 0x20 */ " ", "!", "\xe2\x88\x80", "#",
121 /* 0x24 */ "\xe2\x88\x83", "%", "&", "\xe2\x88\x8b",
122 /* 0x28 */ "(", ")", "\xe2\x88\x97", "+",
123 /* 0x2c */ ",", "\xe2\x88\x92", ".", "/",
124 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
125 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
126 /* 0x40 */ "\xe2\x89\x85", "\xce\x91", "\xce\x92", "\xce\xa7",
127 /* 0x44 */ "\xce\x94", "\xce\x95", "\xce\xa6", "\xce\x93",
128 /* 0x48 */ "\xce\x97", "\xce\x99", "\xcf\x91", "\xce\x9a",
129 /* 0x4c */ "\xce\x9b", "\xce\x9c", "\xce\x9d", "\xce\x9f",
130 /* 0x50 */ "\xce\xa0", "\xce\x98", "\xce\xa1", "\xce\xa3",
131 /* 0x54 */ "\xce\xa4", "\xce\xa5", "\xcf\x82", "\xe2\x84\xa6",
132 /* 0x58 */ "\xce\x9e", "\xce\xa8", "\xce\x96", "[",
133 /* 0x5c */ "\xe2\x88\xb4", "]", "\xe2\x8a\xa5", "_",
134 /* 0x60 */ "\xef\xa3\xa5", "\xce\xb1", "\xce\xb2", "\xcf\x87",
135 /* 0x64 */ "\xce\xb4", "\xce\xb5", "\xcf\x86", "\xce\xb3",
136 /* 0x68 */ "\xce\xb7", "\xce\xb9", "\xcf\x95", "\xce\xba",
137 /* 0x6c */ "\xce\xbb", "\xc2\xb5", "\xce\xbd", "\xce\xbf",
138 /* 0x70 */ "\xcf\x80", "\xce\xb8", "\xcf\x81", "\xcf\x83",
139 /* 0x74 */ "\xcf\x84", "\xcf\x85", "\xcf\x96", "\xcf\x89",
140 /* 0x78 */ "\xce\xbe", "\xcf\x88", "\xce\xb6", "{",
141 /* 0x7c */ "|", "}", "\xe2\x88\xbc", REPLC_CHAR
,
142 /* 0x80 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
143 /* 0x84 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
144 /* 0x88 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
145 /* 0x8c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
146 /* 0x90 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
147 /* 0x94 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
148 /* 0x98 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
149 /* 0x9c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
150 /* 0xa0 */ "\xe2\x82\xac", "\xcf\x92", "\xe2\x80\xb2", "\xe2\x89\xa4",
151 /* 0xa4 */ "\xe2\x88\x95", "\xe2\x88\x9e", "\xc6\x92", "\xe2\x99\xa3",
152 /* 0xa8 */ "\xe2\x99\xa6", "\xe2\x99\xa5", "\xe2\x99\xa0", "\xe2\x86\x94",
153 /* 0xac */ "\xe2\x86\x90", "\xe2\x86\x91", "\xe2\x86\x92", "\xe2\x86\x93",
154 /* 0xb0 */ "\xc2\xb0", "\xc2\xb1", "\xe2\x80\xb3", "\xe2\x89\xa5",
155 /* 0xb4 */ "\xc3\x97", "\xe2\x88\x9d", "\xe2\x88\x82", "\xe2\x80\xa2",
156 /* 0xb8 */ "\xc3\xb7", "\xe2\x89\xa0", "\xe2\x89\xa1", "\xe2\x89\x88",
157 /* 0xbc */ "\xe2\x80\xa6", "\xef\xa3\xa6", "\xef\xa3\xa7", "\xe2\x86\xb5",
158 /* 0xc0 */ "\xe2\x84\xb5", "\xe2\x84\x91", "\xe2\x84\x9c", "\xe2\x84\x98",
159 /* 0xc4 */ "\xe2\x8a\x97", "\xe2\x8a\x95", "\xe2\x88\x85", "\xe2\x88\xa9",
160 /* 0xc8 */ "\xe2\x88\xaa", "\xe2\x8a\x83", "\xe2\x8a\x87", "\xe2\x8a\x84",
161 /* 0xcc */ "\xe2\x8a\x82", "\xe2\x8a\x86", "\xe2\x88\x88", "\xe2\x88\x89",
162 /* 0xd0 */ "\xe2\x88\xa0", "\xe2\x88\x87", "\xef\x9b\x9a", "\xef\x9b\x99",
163 /* 0xd4 */ "\xef\x9b\x9b", "\xe2\x88\x8f", "\xe2\x88\x9a", "\xe2\x8b\x85",
164 /* 0xd8 */ "\xc2\xac", "\xe2\x88\xa7", "\xe2\x88\xa8", "\xe2\x87\x94",
165 /* 0xdc */ "\xe2\x87\x90", "\xe2\x87\x91", "\xe2\x87\x92", "\xe2\x87\x93",
166 /* 0xe0 */ "\xe2\x97\x8a", "\xe2\x8c\xa9", "\xef\xa3\xa8", "\xef\xa3\xa9",
167 /* 0xe4 */ "\xef\xa3\xaa", "\xe2\x88\x91", "\xef\xa3\xab", "\xef\xa3\xac",
168 /* 0xe8 */ "\xef\xa3\xad", "\xef\xa3\xae", "\xef\xa3\xaf", "\xef\xa3\xb0",
169 /* 0xec */ "\xef\xa3\xb1", "\xef\xa3\xb2", "\xef\xa3\xb3", "\xef\xa3\xb4",
170 /* 0xf0 */ REPLC_CHAR
, "\xe2\x8c\xaa", "\xe2\x88\xab", "\xe2\x8c\xa0",
171 /* 0xf4 */ "\xef\xa3\xb5", "\xe2\x8c\xa1", "\xef\xa3\xb6", "\xef\xa3\xb7",
172 /* 0xf8 */ "\xef\xa3\xb8", "\xef\xa3\xb9", "\xef\xa3\xba", "\xef\xa3\xbb",
173 /* 0xfc */ "\xef\xa3\xbc", "\xef\xa3\xbd", "\xef\xa3\xbe", REPLC_CHAR
175 /*--------------------------------------------------------------------------*/
177 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT */
178 /*--------------------------------------------------------------------------*/
180 /* 0x00 */ "ISOLatin1", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
181 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
182 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
183 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
184 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
185 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
186 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
187 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
188 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&", "'",
189 /* 0x28 */ "(", ")", "*", "+", ",", "-", ".", "/",
190 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
191 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
192 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
193 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
194 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
195 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
196 /* 0x60 */ "`", "a", "b", "c", "d", "e", "f", "g",
197 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
198 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
199 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", "\x7f",
200 /* 0x80 */ "\xc2\x80", "\xc2\x81", "\xc2\x82", "\xc2\x83",
201 /* 0x84 */ "\xc2\x84", "\xc2\x85", "\xc2\x86", "\xc2\x87",
202 /* 0x88 */ "\xc2\x88", "\xc2\x89", "\xc2\x8a", "\xc2\x8b",
203 /* 0x8c */ "\xc2\x8c", "\xc2\x8d", "\xc2\x8e", "\xc2\x8f",
204 /* 0x90 */ "\xc2\x90", "\xc2\x91", "\xc2\x92", "\xc2\x93",
205 /* 0x94 */ "\xc2\x94", "\xc2\x95", "\xc2\x96", "\xc2\x97",
206 /* 0x98 */ "\xc2\x98", "\xc2\x99", "\xc2\x9a", "\xc2\x9b",
207 /* 0x9c */ "\xc2\x9c", "\xc2\x9d", "\xc2\x9e", "\xc2\x9f",
208 /* 0xa0 */ "\xc2\xa0", "\xc2\xa1", "\xc2\xa2", "\xc2\xa3",
209 /* 0xa4 */ "\xc2\xa4", "\xc2\xa5", "\xc2\xa6", "\xc2\xa7",
210 /* 0xa8 */ "\xc2\xa8", "\xc2\xa9", "\xc2\xaa", "\xc2\xab",
211 /* 0xac */ "\xc2\xac", "\xc2\xad", "\xc2\xae", "\xc2\xaf",
212 /* 0xb0 */ "\xc2\xb0", "\xc2\xb1", "\xc2\xb2", "\xc2\xb3",
213 /* 0xb4 */ "\xc2\xb4", "\xc2\xb5", "\xc2\xb6", "\xc2\xb7",
214 /* 0xb8 */ "\xc2\xb8", "\xc2\xb9", "\xc2\xba", "\xc2\xbb",
215 /* 0xbc */ "\xc2\xbc", "\xc2\xbd", "\xc2\xbe", "\xc2\xbf",
216 /* 0xc0 */ "\xc3\x80", "\xc3\x81", "\xc3\x82", "\xc3\x83",
217 /* 0xc4 */ "\xc3\x84", "\xc3\x85", "\xc3\x86", "\xc3\x87",
218 /* 0xc8 */ "\xc3\x88", "\xc3\x89", "\xc3\x8a", "\xc3\x8b",
219 /* 0xcc */ "\xc3\x8c", "\xc3\x8d", "\xc3\x8e", "\xc3\x8f",
220 /* 0xd0 */ "\xc3\x90", "\xc3\x91", "\xc3\x92", "\xc3\x93",
221 /* 0xd4 */ "\xc3\x94", "\xc3\x95", "\xc3\x96", "\xc3\x97",
222 /* 0xd8 */ "\xc3\x98", "\xc3\x99", "\xc3\x9a", "\xc3\x9b",
223 /* 0xdc */ "\xc3\x9c", "\xc3\x9d", "\xc3\x9e", "\xc3\x9f",
224 /* 0xe0 */ "\xc3\xa0", "\xc3\xa1", "\xc3\xa2", "\xc3\xa3",
225 /* 0xe4 */ "\xc3\xa4", "\xc3\xa5", "\xc3\xa6", "\xc3\xa7",
226 /* 0xe8 */ "\xc3\xa8", "\xc3\xa9", "\xc3\xaa", "\xc3\xab",
227 /* 0xec */ "\xc3\xac", "\xc3\xad", "\xc3\xae", "\xc3\xaf",
228 /* 0xf0 */ "\xc3\xb0", "\xc3\xb1", "\xc3\xb2", "\xc3\xb3",
229 /* 0xf4 */ "\xc3\xb4", "\xc3\xb5", "\xc3\xb6", "\xc3\xb7",
230 /* 0xf8 */ "\xc3\xb8", "\xc3\xb9", "\xc3\xba", "\xc3\xbb",
231 /* 0xfc */ "\xc3\xbc", "\xc3\xbd", "\xc3\xbe", "\xc3\xbf"
233 /*--------------------------------------------------------------------------*/
235 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT */
236 /*--------------------------------------------------------------------------*/
238 /* 0x00 */ "ISOLatin2", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
239 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
240 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
241 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
242 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
243 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
244 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
245 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
246 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&", "'",
247 /* 0x28 */ "(", ")", "*", "+", ",", "-", ".", "/",
248 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
249 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
250 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
251 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
252 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
253 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
254 /* 0x60 */ "`", "a", "b", "c", "d", "e", "f", "g",
255 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
256 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
257 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", "\x7f",
258 /* 0x80 */ "\xc2\x80", "\xc2\x81", "\xc2\x82", "\xc2\x83",
259 /* 0x84 */ "\xc2\x84", "\xc2\x85", "\xc2\x86", "\xc2\x87",
260 /* 0x88 */ "\xc2\x88", "\xc2\x89", "\xc2\x8a", "\xc2\x8b",
261 /* 0x8c */ "\xc2\x8c", "\xc2\x8d", "\xc2\x8e", "\xc2\x8f",
262 /* 0x90 */ "\xc2\x90", "\xc2\x91", "\xc2\x92", "\xc2\x93",
263 /* 0x94 */ "\xc2\x94", "\xc2\x95", "\xc2\x96", "\xc2\x97",
264 /* 0x98 */ "\xc2\x98", "\xc2\x99", "\xc2\x9a", "\xc2\x9b",
265 /* 0x9c */ "\xc2\x9c", "\xc2\x9d", "\xc2\x9e", "\xc2\x9f",
266 /* 0xa0 */ "\xc2\xa0", "\xc4\x84", "\xcb\x98", "\xc5\x81",
267 /* 0xa4 */ "\xc2\xa4", "\xc4\xbd", "\xc5\x9a", "\xc2\xa7",
268 /* 0xa8 */ "\xc2\xa8", "\xc5\xa0", "\xc5\x9e", "\xc5\xa4",
269 /* 0xac */ "\xc5\xb9", "\xc2\xad", "\xc5\xbd", "\xc5\xbb",
270 /* 0xb0 */ "\xc2\xb0", "\xc4\x85", "\xcb\x9b", "\xc5\x82",
271 /* 0xb4 */ "\xc2\xb4", "\xc4\xbe", "\xc5\x9b", "\xcb\x87",
272 /* 0xb8 */ "\xc2\xb8", "\xc5\xa1", "\xc5\x9f", "\xc5\xa5",
273 /* 0xbc */ "\xc5\xba", "\xcb\x9d", "\xc5\xbe", "\xc5\xbc",
274 /* 0xc0 */ "\xc5\x94", "\xc3\x81", "\xc3\x82", "\xc4\x82",
275 /* 0xc4 */ "\xc3\x84", "\xc4\xb9", "\xc4\x86", "\xc3\x87",
276 /* 0xc8 */ "\xc4\x8c", "\xc3\x89", "\xc4\x98", "\xc3\x8b",
277 /* 0xcc */ "\xc4\x9a", "\xc3\x8d", "\xc3\x8e", "\xc4\x8e",
278 /* 0xd0 */ "\xc4\x90", "\xc5\x83", "\xc5\x87", "\xc3\x93",
279 /* 0xd4 */ "\xc3\x94", "\xc5\x90", "\xc3\x96", "\xc3\x97",
280 /* 0xd8 */ "\xc5\x98", "\xc5\xae", "\xc3\x9a", "\xc5\xb0",
281 /* 0xdc */ "\xc3\x9c", "\xc3\x9d", "\xc5\xa2", "\xc3\x9f",
282 /* 0xe0 */ "\xc5\x95", "\xc3\xa1", "\xc3\xa2", "\xc4\x83",
283 /* 0xe4 */ "\xc3\xa4", "\xc4\xba", "\xc4\x87", "\xc3\xa7",
284 /* 0xe8 */ "\xc4\x8d", "\xc3\xa9", "\xc4\x99", "\xc3\xab",
285 /* 0xec */ "\xc4\x9b", "\xc3\xad", "\xc3\xae", "\xc4\x8f",
286 /* 0xf0 */ "\xc4\x91", "\xc5\x84", "\xc5\x88", "\xc3\xb3",
287 /* 0xf4 */ "\xc3\xb4", "\xc5\x91", "\xc3\xb6", "\xc3\xb7",
288 /* 0xf8 */ "\xc5\x99", "\xc5\xaf", "\xc3\xba", "\xc5\xb1",
289 /* 0xfc */ "\xc3\xbc", "\xc3\xbd", "\xc5\xa3", "\xcb\x99"
291 /*--------------------------------------------------------------------------*/
293 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT */
294 /*--------------------------------------------------------------------------*/
296 /* 0x00 */ "ISOLatin3", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
297 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
298 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
299 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
300 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
301 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
302 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
303 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
304 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&", "'",
305 /* 0x28 */ "(", ")", "*", "+", ",", "-", ".", "/",
306 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
307 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
308 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
309 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
310 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
311 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
312 /* 0x60 */ "`", "a", "b", "c", "d", "e", "f", "g",
313 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
314 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
315 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", "\x7f",
316 /* 0x80 */ "\xc2\x80", "\xc2\x81", "\xc2\x82", "\xc2\x83",
317 /* 0x84 */ "\xc2\x84", "\xc2\x85", "\xc2\x86", "\xc2\x87",
318 /* 0x88 */ "\xc2\x88", "\xc2\x89", "\xc2\x8a", "\xc2\x8b",
319 /* 0x8c */ "\xc2\x8c", "\xc2\x8d", "\xc2\x8e", "\xc2\x8f",
320 /* 0x90 */ "\xc2\x90", "\xc2\x91", "\xc2\x92", "\xc2\x93",
321 /* 0x94 */ "\xc2\x94", "\xc2\x95", "\xc2\x96", "\xc2\x97",
322 /* 0x98 */ "\xc2\x98", "\xc2\x99", "\xc2\x9a", "\xc2\x9b",
323 /* 0x9c */ "\xc2\x9c", "\xc2\x9d", "\xc2\x9e", "\xc2\x9f",
324 /* 0xa0 */ "\xc2\xa0", "\xc4\xa6", "\xcb\x98", "\xc2\xa3",
325 /* 0xa4 */ "\xc2\xa4", REPLC_CHAR
, "\xc4\xa4", "\xc2\xa7",
326 /* 0xa8 */ "\xc2\xa8", "\xc4\xb0", "\xc5\x9e", "\xc4\x9e",
327 /* 0xac */ "\xc4\xb4", "\xc2\xad", REPLC_CHAR
, "\xc5\xbb",
328 /* 0xb0 */ "\xc2\xb0", "\xc4\xa7", "\xc2\xb2", "\xc2\xb3",
329 /* 0xb4 */ "\xc2\xb4", "\xc2\xb5", "\xc4\xa5", "\xc2\xb7",
330 /* 0xb8 */ "\xc2\xb8", "\xc4\xb1", "\xc5\x9f", "\xc4\x9f",
331 /* 0xbc */ "\xc4\xb5", "\xc2\xbd", REPLC_CHAR
, "\xc5\xbc",
332 /* 0xc0 */ "\xc3\x80", "\xc3\x81", "\xc3\x82", REPLC_CHAR
,
333 /* 0xc4 */ "\xc3\x84", "\xc4\x8a", "\xc4\x88", "\xc3\x87",
334 /* 0xc8 */ "\xc3\x88", "\xc3\x89", "\xc3\x8a", "\xc3\x8b",
335 /* 0xcc */ "\xc3\x8c", "\xc3\x8d", "\xc3\x8e", "\xc3\x8f",
336 /* 0xd0 */ REPLC_CHAR
, "\xc3\x91", "\xc3\x92", "\xc3\x93",
337 /* 0xd4 */ "\xc3\x94", "\xc4\xa0", "\xc3\x96", "\xc3\x97",
338 /* 0xd8 */ "\xc4\x9c", "\xc3\x99", "\xc3\x9a", "\xc3\x9b",
339 /* 0xdc */ "\xc3\x9c", "\xc5\xac", "\xc5\x9c", "\xc3\x9f",
340 /* 0xe0 */ "\xc3\xa0", "\xc3\xa1", "\xc3\xa2", REPLC_CHAR
,
341 /* 0xe4 */ "\xc3\xa4", "\xc4\x8b", "\xc4\x89", "\xc3\xa7",
342 /* 0xe8 */ "\xc3\xa8", "\xc3\xa9", "\xc3\xaa", "\xc3\xab",
343 /* 0xec */ "\xc3\xac", "\xc3\xad", "\xc3\xae", "\xc3\xaf",
344 /* 0xf0 */ REPLC_CHAR
, "\xc3\xb1", "\xc3\xb2", "\xc3\xb3",
345 /* 0xf4 */ "\xc3\xb4", "\xc4\xa1", "\xc3\xb6", "\xc3\xb7",
346 /* 0xf8 */ "\xc4\x9d", "\xc3\xb9", "\xc3\xba", "\xc3\xbb",
347 /* 0xfc */ "\xc3\xbc", "\xc5\xad", "\xc5\x9d", "\xcb\x99"
349 /*--------------------------------------------------------------------------*/
351 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT */
352 /*--------------------------------------------------------------------------*/
354 /* 0x00 */ "ISOLatin4", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
355 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
356 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
357 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
358 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
359 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
360 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
361 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
362 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&", "'",
363 /* 0x28 */ "(", ")", "*", "+", ",", "-", ".", "/",
364 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
365 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
366 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
367 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
368 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
369 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
370 /* 0x60 */ "`", "a", "b", "c", "d", "e", "f", "g",
371 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
372 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
373 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", "\x7f",
374 /* 0x80 */ "\xc2\x80", "\xc2\x81", "\xc2\x82", "\xc2\x83",
375 /* 0x84 */ "\xc2\x84", "\xc2\x85", "\xc2\x86", "\xc2\x87",
376 /* 0x88 */ "\xc2\x88", "\xc2\x89", "\xc2\x8a", "\xc2\x8b",
377 /* 0x8c */ "\xc2\x8c", "\xc2\x8d", "\xc2\x8e", "\xc2\x8f",
378 /* 0x90 */ "\xc2\x90", "\xc2\x91", "\xc2\x92", "\xc2\x93",
379 /* 0x94 */ "\xc2\x94", "\xc2\x95", "\xc2\x96", "\xc2\x97",
380 /* 0x98 */ "\xc2\x98", "\xc2\x99", "\xc2\x9a", "\xc2\x9b",
381 /* 0x9c */ "\xc2\x9c", "\xc2\x9d", "\xc2\x9e", "\xc2\x9f",
382 /* 0xa0 */ "\xc2\xa0", "\xc4\x84", "\xc4\xb8", "\xc5\x96",
383 /* 0xa4 */ "\xc2\xa4", "\xc4\xa8", "\xc4\xbb", "\xc2\xa7",
384 /* 0xa8 */ "\xc2\xa8", "\xc5\xa0", "\xc4\x92", "\xc4\xa2",
385 /* 0xac */ "\xc5\xa6", "\xc2\xad", "\xc5\xbd", "\xc2\xaf",
386 /* 0xb0 */ "\xc2\xb0", "\xc4\x85", "\xcb\x9b", "\xc5\x97",
387 /* 0xb4 */ "\xc2\xb4", "\xc4\xa9", "\xc4\xbc", "\xcb\x87",
388 /* 0xb8 */ "\xc2\xb8", "\xc5\xa1", "\xc4\x93", "\xc4\xa3",
389 /* 0xbc */ "\xc5\xa7", "\xc5\x8a", "\xc5\xbe", "\xc5\x8b",
390 /* 0xc0 */ "\xc4\x80", "\xc3\x81", "\xc3\x82", "\xc3\x83",
391 /* 0xc4 */ "\xc3\x84", "\xc3\x85", "\xc3\x86", "\xc4\xae",
392 /* 0xc8 */ "\xc4\x8c", "\xc3\x89", "\xc4\x98", "\xc3\x8b",
393 /* 0xcc */ "\xc4\x96", "\xc3\x8d", "\xc3\x8e", "\xc4\xaa",
394 /* 0xd0 */ "\xc4\x90", "\xc5\x85", "\xc5\x8c", "\xc4\xb6",
395 /* 0xd4 */ "\xc3\x94", "\xc3\x95", "\xc3\x96", "\xc3\x97",
396 /* 0xd8 */ "\xc3\x98", "\xc5\xb2", "\xc3\x9a", "\xc3\x9b",
397 /* 0xdc */ "\xc3\x9c", "\xc5\xa8", "\xc5\xaa", "\xc3\x9f",
398 /* 0xe0 */ "\xc4\x81", "\xc3\xa1", "\xc3\xa2", "\xc3\xa3",
399 /* 0xe4 */ "\xc3\xa4", "\xc3\xa5", "\xc3\xa6", "\xc4\xaf",
400 /* 0xe8 */ "\xc4\x8d", "\xc3\xa9", "\xc4\x99", "\xc3\xab",
401 /* 0xec */ "\xc4\x97", "\xc3\xad", "\xc3\xae", "\xc4\xab",
402 /* 0xf0 */ "\xc4\x91", "\xc5\x86", "\xc5\x8d", "\xc4\xb7",
403 /* 0xf4 */ "\xc3\xb4", "\xc3\xb5", "\xc3\xb6", "\xc3\xb7",
404 /* 0xf8 */ "\xc3\xb8", "\xc5\xb3", "\xc3\xba", "\xc3\xbb",
405 /* 0xfc */ "\xc3\xbc", "\xc5\xa9", "\xc5\xab", "\xcb\x99"
407 /*--------------------------------------------------------------------------*/
408 /* CP1254 (ISO Latin-5) */
410 /* ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT */
411 /*--------------------------------------------------------------------------*/
413 /* 0x00 */ "ISOLatin5", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
414 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
415 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
416 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
417 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
418 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
419 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
420 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
421 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&", "'",
422 /* 0x28 */ "(", ")", "*", "+", ",", "-", ".", "/",
423 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
424 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
425 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
426 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
427 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
428 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
429 /* 0x60 */ "`", "a", "b", "c", "d", "e", "f", "g",
430 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
431 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
432 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", "\x7f",
433 /* 0x80 */ "\xe2\x82\xac", REPLC_CHAR
, "\xe2\x80\x9a", "\xc6\x92",
434 /* 0x84 */ "\xe2\x80\x9e", "\xe2\x80\xa6", "\xe2\x80\xa0", "\xe2\x80\xa1",
435 /* 0x88 */ "\xcb\x86", "\xe2\x80\xb0", "\xc5\xa0", "\xe2\x80\xb9",
436 /* 0x8c */ "\xc5\x92", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
437 /* 0x90 */ REPLC_CHAR
, "\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c",
438 /* 0x94 */ "\xe2\x80\x9d", "\xe2\x80\xa2", "\xe2\x80\x93", "\xe2\x80\x94",
439 /* 0x98 */ "\xcb\x9c", "\xe2\x84\xa2", "\xc5\xa1", "\xe2\x80\xba",
440 /* 0x9c */ "\xc5\x93", REPLC_CHAR
, REPLC_CHAR
, "\xc5\xb8",
441 /* 0xa0 */ "\xc2\xa0", "\xc2\xa1", "\xc2\xa2", "\xc2\xa3",
442 /* 0xa4 */ "\xc2\xa4", "\xc2\xa5", "\xc2\xa6", "\xc2\xa7",
443 /* 0xa8 */ "\xc2\xa8", "\xc2\xa9", "\xc2\xaa", "\xc2\xab",
444 /* 0xac */ "\xc2\xac", "\xc2\xad", "\xc2\xae", "\xc2\xaf",
445 /* 0xb0 */ "\xc2\xb0", "\xc2\xb1", "\xc2\xb2", "\xc2\xb3",
446 /* 0xb4 */ "\xc2\xb4", "\xc2\xb5", "\xc2\xb6", "\xc2\xb7",
447 /* 0xb8 */ "\xc2\xb8", "\xc2\xb9", "\xc2\xba", "\xc2\xbb",
448 /* 0xbc */ "\xc2\xbc", "\xc2\xbd", "\xc2\xbe", "\xc2\xbf",
449 /* 0xc0 */ "\xc3\x80", "\xc3\x81", "\xc3\x82", "\xc3\x83",
450 /* 0xc4 */ "\xc3\x84", "\xc3\x85", "\xc3\x86", "\xc3\x87",
451 /* 0xc8 */ "\xc3\x88", "\xc3\x89", "\xc3\x8a", "\xc3\x8b",
452 /* 0xcc */ "\xc3\x8c", "\xc3\x8d", "\xc3\x8e", "\xc3\x8f",
453 /* 0xd0 */ "\xc4\x9e", "\xc3\x91", "\xc3\x92", "\xc3\x93",
454 /* 0xd4 */ "\xc3\x94", "\xc3\x95", "\xc3\x96", "\xc3\x97",
455 /* 0xd8 */ "\xc3\x98", "\xc3\x99", "\xc3\x9a", "\xc3\x9b",
456 /* 0xdc */ "\xc3\x9c", "\xc4\xb0", "\xc5\x9e", "\xc3\x9f",
457 /* 0xe0 */ "\xc3\xa0", "\xc3\xa1", "\xc3\xa2", "\xc3\xa3",
458 /* 0xe4 */ "\xc3\xa4", "\xc3\xa5", "\xc3\xa6", "\xc3\xa7",
459 /* 0xe8 */ "\xc3\xa8", "\xc3\xa9", "\xc3\xaa", "\xc3\xab",
460 /* 0xec */ "\xc3\xac", "\xc3\xad", "\xc3\xae", "\xc3\xaf",
461 /* 0xf0 */ "\xc4\x9f", "\xc3\xb1", "\xc3\xb2", "\xc3\xb3",
462 /* 0xf4 */ "\xc3\xb4", "\xc3\xb5", "\xc3\xb6", "\xc3\xb7",
463 /* 0xf8 */ "\xc3\xb8", "\xc3\xb9", "\xc3\xba", "\xc3\xbb",
464 /* 0xfc */ "\xc3\xbc", "\xc4\xb1", "\xc5\x9f", "\xc3\xbf"
466 /*--------------------------------------------------------------------------*/
468 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT */
469 /*--------------------------------------------------------------------------*/
471 /* 0x00 */ "ISOLatin6", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
472 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
473 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
474 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
475 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
476 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
477 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
478 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
479 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&", "'",
480 /* 0x28 */ "(", ")", "*", "+", ",", "-", ".", "/",
481 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
482 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
483 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
484 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
485 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
486 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
487 /* 0x60 */ "`", "a", "b", "c", "d", "e", "f", "g",
488 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
489 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
490 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", "\x7f",
491 /* 0x80 */ "\xc2\x80", "\xc2\x81", "\xc2\x82", "\xc2\x83",
492 /* 0x84 */ "\xc2\x84", "\xc2\x85", "\xc2\x86", "\xc2\x87",
493 /* 0x88 */ "\xc2\x88", "\xc2\x89", "\xc2\x8a", "\xc2\x8b",
494 /* 0x8c */ "\xc2\x8c", "\xc2\x8d", "\xc2\x8e", "\xc2\x8f",
495 /* 0x90 */ "\xc2\x90", "\xc2\x91", "\xc2\x92", "\xc2\x93",
496 /* 0x94 */ "\xc2\x94", "\xc2\x95", "\xc2\x96", "\xc2\x97",
497 /* 0x98 */ "\xc2\x98", "\xc2\x99", "\xc2\x9a", "\xc2\x9b",
498 /* 0x9c */ "\xc2\x9c", "\xc2\x9d", "\xc2\x9e", "\xc2\x9f",
499 /* 0xa0 */ "\xc2\xa0", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
500 /* 0xa4 */ "\xc2\xa4", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
501 /* 0xa8 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
502 /* 0xac */ "\xd8\x8c", "\xc2\xad", REPLC_CHAR
, REPLC_CHAR
,
503 /* 0xb0 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
504 /* 0xb4 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
505 /* 0xb8 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, "\xd8\x9b",
506 /* 0xbc */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, "\xd8\x9f",
507 /* 0xc0 */ REPLC_CHAR
, "\xd8\xa1", "\xd8\xa2", "\xd8\xa3",
508 /* 0xc4 */ "\xd8\xa4", "\xd8\xa5", "\xd8\xa6", "\xd8\xa7",
509 /* 0xc8 */ "\xd8\xa8", "\xd8\xa9", "\xd8\xaa", "\xd8\xab",
510 /* 0xcc */ "\xd8\xac", "\xd8\xad", "\xd8\xae", "\xd8\xaf",
511 /* 0xd0 */ "\xd8\xb0", "\xd8\xb1", "\xd8\xb2", "\xd8\xb3",
512 /* 0xd4 */ "\xd8\xb4", "\xd8\xb5", "\xd8\xb6", "\xd8\xb7",
513 /* 0xd8 */ "\xd8\xb8", "\xd8\xb9", "\xd8\xba", REPLC_CHAR
,
514 /* 0xdc */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
515 /* 0xe0 */ "\xd9\x80", "\xd9\x81", "\xd9\x82", "\xd9\x83",
516 /* 0xe4 */ "\xd9\x84", "\xd9\x85", "\xd9\x86", "\xd9\x87",
517 /* 0xe8 */ "\xd9\x88", "\xd9\x89", "\xd9\x8a", "\xd9\x8b",
518 /* 0xec */ "\xd9\x8c", "\xd9\x8d", "\xd9\x8e", "\xd9\x8f",
519 /* 0xf0 */ "\xd9\x90", "\xd9\x91", "\xd9\x92", REPLC_CHAR
,
520 /* 0xf4 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
521 /* 0xf8 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
522 /* 0xfc */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
524 /*--------------------------------------------------------------------------*/
526 /* based on: ftp://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT */
527 /*--------------------------------------------------------------------------*/
529 /* 0x00 */ "ISO8859-5", REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
530 /* 0x04 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
531 /* 0x08 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
532 /* 0x0c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
533 /* 0x10 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
534 /* 0x14 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
535 /* 0x18 */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
536 /* 0x1c */ REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
, REPLC_CHAR
,
537 /* 0x20 */ " ", "!", "\"", "#", "$", "%", "&", "'",
538 /* 0x28 */ "(", ")", "*", "+", ",", "-", ".", "/",
539 /* 0x30 */ "0", "1", "2", "3", "4", "5", "6", "7",
540 /* 0x38 */ "8", "9", ":", ";", "<", "=", ">", "?",
541 /* 0x40 */ "@", "A", "B", "C", "D", "E", "F", "G",
542 /* 0x48 */ "H", "I", "J", "K", "L", "M", "N", "O",
543 /* 0x50 */ "P", "Q", "R", "S", "T", "U", "V", "W",
544 /* 0x58 */ "X", "Y", "Z", "[", "\\", "]", "^", "_",
545 /* 0x60 */ "`", "a", "b", "c", "d", "e", "f", "g",
546 /* 0x68 */ "h", "i", "j", "k", "l", "m", "n", "o",
547 /* 0x70 */ "p", "q", "r", "s", "t", "u", "v", "w",
548 /* 0x78 */ "x", "y", "z", "{", "|", "}", "~", "\x7f",
549 /* 0x80 */ "\xc2\x80", "\xc2\x81", "\xc2\x82", "\xc2\x83",
550 /* 0x84 */ "\xc2\x84", "\xc2\x85", "\xc2\x86", "\xc2\x87",
551 /* 0x88 */ "\xc2\x88", "\xc2\x89", "\xc2\x8a", "\xc2\x8b",
552 /* 0x8c */ "\xc2\x8c", "\xc2\x8d", "\xc2\x8e", "\xc2\x8f",
553 /* 0x90 */ "\xc2\x90", "\xc2\x91", "\xc2\x92", "\xc2\x93",
554 /* 0x94 */ "\xc2\x94", "\xc2\x95", "\xc2\x96", "\xc2\x97",
555 /* 0x98 */ "\xc2\x98", "\xc2\x99", "\xc2\x9a", "\xc2\x9b",
556 /* 0x9c */ "\xc2\x9c", "\xc2\x9d", "\xc2\x9e", "\xc2\x9f",
557 /* 0xa0 */ "\xc2\xa0", "\xd0\x81", "\xd0\x82", "\xd0\x83",
558 /* 0xa4 */ "\xd0\x84", "\xd0\x85", "\xd0\x86", "\xd0\x87",
559 /* 0xa8 */ "\xd0\x88", "\xd0\x89", "\xd0\x8a", "\xd0\x8b",
560 /* 0xac */ "\xd0\x8c", "\xc2\xad", "\xd0\x8e", "\xd0\x8f",
561 /* 0xb0 */ "\xd0\x90", "\xd0\x91", "\xd0\x92", "\xd0\x93",
562 /* 0xb4 */ "\xd0\x94", "\xd0\x95", "\xd0\x96", "\xd0\x97",
563 /* 0xb8 */ "\xd0\x98", "\xd0\x99", "\xd0\x9a", "\xd0\x9b",
564 /* 0xbc */ "\xd0\x9c", "\xd0\x9d", "\xd0\x9e", "\xd0\x9f",
565 /* 0xc0 */ "\xd0\xa0", "\xd0\xa1", "\xd0\xa2", "\xd0\xa3",
566 /* 0xc4 */ "\xd0\xa4", "\xd0\xa5", "\xd0\xa6", "\xd0\xa7",
567 /* 0xc8 */ "\xd0\xa8", "\xd0\xa9", "\xd0\xaa", "\xd0\xab",
568 /* 0xcc */ "\xd0\xac", "\xd0\xad", "\xd0\xae", "\xd0\xaf",
569 /* 0xd0 */ "\xd0\xb0", "\xd0\xb1", "\xd0\xb2", "\xd0\xb3",
570 /* 0xd4 */ "\xd0\xb4", "\xd0\xb5", "\xd0\xb6", "\xd0\xb7",
571 /* 0xd8 */ "\xd0\xb8", "\xd0\xb9", "\xd0\xba", "\xd0\xbb",
572 /* 0xdc */ "\xd0\xbc", "\xd0\xbd", "\xd0\xbe", "\xd0\xbf",
573 /* 0xe0 */ "\xd1\x80", "\xd1\x81", "\xd1\x82", "\xd1\x83",
574 /* 0xe4 */ "\xd1\x84", "\xd1\x85", "\xd1\x86", "\xd1\x87",
575 /* 0xe8 */ "\xd1\x88", "\xd1\x89", "\xd1\x8a", "\xd1\x8b",
576 /* 0xec */ "\xd1\x8c", "\xd1\x8d", "\xd1\x8e", "\xd1\x8f",
577 /* 0xf0 */ "\xe2\x84\x96", "\xd1\x91", "\xd1\x92", "\xd1\x93",
578 /* 0xf4 */ "\xd1\x94", "\xd1\x95", "\xd1\x96", "\xd1\x97",
579 /* 0xf8 */ "\xd1\x98", "\xd1\x99", "\xd1\x9a", "\xd1\x9b",
580 /* 0xfc */ "\xd1\x9c", "\xc2\xa7", "\xd1\x9e", "\xd1\x9f"
583 /*--------------------------------------------------------------------------*/
584 /* Closing line should be NULL */
585 /*--------------------------------------------------------------------------*/