stub slovene file; start consolidating duplicate checkTitleEncoding funcs
[lhc/web/wiklou.git] / includes / Utf8Case.php
1 <?
2 $wgInputEncoding = "utf-8";
3 $wgOutputEncoding = "utf-8";
4
5 # Simple 1:1 upper/lowercase switching arrays for utf-8 text
6 # Won't get context-sensitive things yet
7
8 # Hack for bugs in ucfirst() and company
9 # TODO: store this in shared memory or something
10
11 $wikiUpperChars = array(
12 "a" => "A",
13 "b" => "B",
14 "c" => "C",
15 "d" => "D",
16 "e" => "E",
17 "f" => "F",
18 "g" => "G",
19 "h" => "H",
20 "i" => "I",
21 "j" => "J",
22 "k" => "K",
23 "l" => "L",
24 "m" => "M",
25 "n" => "N",
26 "o" => "O",
27 "p" => "P",
28 "q" => "Q",
29 "r" => "R",
30 "s" => "S",
31 "t" => "T",
32 "u" => "U",
33 "v" => "V",
34 "w" => "W",
35 "x" => "X",
36 "y" => "Y",
37 "z" => "Z",
38 "\xc2\xb5" => "\xce\x9c",
39 "\xc3\xa0" => "\xc3\x80",
40 "\xc3\xa1" => "\xc3\x81",
41 "\xc3\xa2" => "\xc3\x82",
42 "\xc3\xa3" => "\xc3\x83",
43 "\xc3\xa4" => "\xc3\x84",
44 "\xc3\xa5" => "\xc3\x85",
45 "\xc3\xa6" => "\xc3\x86",
46 "\xc3\xa7" => "\xc3\x87",
47 "\xc3\xa8" => "\xc3\x88",
48 "\xc3\xa9" => "\xc3\x89",
49 "\xc3\xaa" => "\xc3\x8a",
50 "\xc3\xab" => "\xc3\x8b",
51 "\xc3\xac" => "\xc3\x8c",
52 "\xc3\xad" => "\xc3\x8d",
53 "\xc3\xae" => "\xc3\x8e",
54 "\xc3\xaf" => "\xc3\x8f",
55 "\xc3\xb0" => "\xc3\x90",
56 "\xc3\xb1" => "\xc3\x91",
57 "\xc3\xb2" => "\xc3\x92",
58 "\xc3\xb3" => "\xc3\x93",
59 "\xc3\xb4" => "\xc3\x94",
60 "\xc3\xb5" => "\xc3\x95",
61 "\xc3\xb6" => "\xc3\x96",
62 "\xc3\xb8" => "\xc3\x98",
63 "\xc3\xb9" => "\xc3\x99",
64 "\xc3\xba" => "\xc3\x9a",
65 "\xc3\xbb" => "\xc3\x9b",
66 "\xc3\xbc" => "\xc3\x9c",
67 "\xc3\xbd" => "\xc3\x9d",
68 "\xc3\xbe" => "\xc3\x9e",
69 "\xc3\xbf" => "\xc5\xb8",
70 "\xc4\x81" => "\xc4\x80",
71 "\xc4\x83" => "\xc4\x82",
72 "\xc4\x85" => "\xc4\x84",
73 "\xc4\x87" => "\xc4\x86",
74 "\xc4\x89" => "\xc4\x88",
75 "\xc4\x8b" => "\xc4\x8a",
76 "\xc4\x8d" => "\xc4\x8c",
77 "\xc4\x8f" => "\xc4\x8e",
78 "\xc4\x91" => "\xc4\x90",
79 "\xc4\x93" => "\xc4\x92",
80 "\xc4\x95" => "\xc4\x94",
81 "\xc4\x97" => "\xc4\x96",
82 "\xc4\x99" => "\xc4\x98",
83 "\xc4\x9b" => "\xc4\x9a",
84 "\xc4\x9d" => "\xc4\x9c",
85 "\xc4\x9f" => "\xc4\x9e",
86 "\xc4\xa1" => "\xc4\xa0",
87 "\xc4\xa3" => "\xc4\xa2",
88 "\xc4\xa5" => "\xc4\xa4",
89 "\xc4\xa7" => "\xc4\xa6",
90 "\xc4\xa9" => "\xc4\xa8",
91 "\xc4\xab" => "\xc4\xaa",
92 "\xc4\xad" => "\xc4\xac",
93 "\xc4\xaf" => "\xc4\xae",
94 "\xc4\xb1" => "I",
95 "\xc4\xb3" => "\xc4\xb2",
96 "\xc4\xb5" => "\xc4\xb4",
97 "\xc4\xb7" => "\xc4\xb6",
98 "\xc4\xba" => "\xc4\xb9",
99 "\xc4\xbc" => "\xc4\xbb",
100 "\xc4\xbe" => "\xc4\xbd",
101 "\xc5\x80" => "\xc4\xbf",
102 "\xc5\x82" => "\xc5\x81",
103 "\xc5\x84" => "\xc5\x83",
104 "\xc5\x86" => "\xc5\x85",
105 "\xc5\x88" => "\xc5\x87",
106 "\xc5\x8b" => "\xc5\x8a",
107 "\xc5\x8d" => "\xc5\x8c",
108 "\xc5\x8f" => "\xc5\x8e",
109 "\xc5\x91" => "\xc5\x90",
110 "\xc5\x93" => "\xc5\x92",
111 "\xc5\x95" => "\xc5\x94",
112 "\xc5\x97" => "\xc5\x96",
113 "\xc5\x99" => "\xc5\x98",
114 "\xc5\x9b" => "\xc5\x9a",
115 "\xc5\x9d" => "\xc5\x9c",
116 "\xc5\x9f" => "\xc5\x9e",
117 "\xc5\xa1" => "\xc5\xa0",
118 "\xc5\xa3" => "\xc5\xa2",
119 "\xc5\xa5" => "\xc5\xa4",
120 "\xc5\xa7" => "\xc5\xa6",
121 "\xc5\xa9" => "\xc5\xa8",
122 "\xc5\xab" => "\xc5\xaa",
123 "\xc5\xad" => "\xc5\xac",
124 "\xc5\xaf" => "\xc5\xae",
125 "\xc5\xb1" => "\xc5\xb0",
126 "\xc5\xb3" => "\xc5\xb2",
127 "\xc5\xb5" => "\xc5\xb4",
128 "\xc5\xb7" => "\xc5\xb6",
129 "\xc5\xba" => "\xc5\xb9",
130 "\xc5\xbc" => "\xc5\xbb",
131 "\xc5\xbe" => "\xc5\xbd",
132 "\xc5\xbf" => "S",
133 "\xc6\x83" => "\xc6\x82",
134 "\xc6\x85" => "\xc6\x84",
135 "\xc6\x88" => "\xc6\x87",
136 "\xc6\x8c" => "\xc6\x8b",
137 "\xc6\x92" => "\xc6\x91",
138 "\xc6\x95" => "\xc7\xb6",
139 "\xc6\x99" => "\xc6\x98",
140 "\xc6\xa1" => "\xc6\xa0",
141 "\xc6\xa3" => "\xc6\xa2",
142 "\xc6\xa5" => "\xc6\xa4",
143 "\xc6\xa8" => "\xc6\xa7",
144 "\xc6\xad" => "\xc6\xac",
145 "\xc6\xb0" => "\xc6\xaf",
146 "\xc6\xb4" => "\xc6\xb3",
147 "\xc6\xb6" => "\xc6\xb5",
148 "\xc6\xb9" => "\xc6\xb8",
149 "\xc6\xbd" => "\xc6\xbc",
150 "\xc6\xbf" => "\xc7\xb7",
151 "\xc7\x85" => "\xc7\x84",
152 "\xc7\x86" => "\xc7\x84",
153 "\xc7\x88" => "\xc7\x87",
154 "\xc7\x89" => "\xc7\x87",
155 "\xc7\x8b" => "\xc7\x8a",
156 "\xc7\x8c" => "\xc7\x8a",
157 "\xc7\x8e" => "\xc7\x8d",
158 "\xc7\x90" => "\xc7\x8f",
159 "\xc7\x92" => "\xc7\x91",
160 "\xc7\x94" => "\xc7\x93",
161 "\xc7\x96" => "\xc7\x95",
162 "\xc7\x98" => "\xc7\x97",
163 "\xc7\x9a" => "\xc7\x99",
164 "\xc7\x9c" => "\xc7\x9b",
165 "\xc7\x9d" => "\xc6\x8e",
166 "\xc7\x9f" => "\xc7\x9e",
167 "\xc7\xa1" => "\xc7\xa0",
168 "\xc7\xa3" => "\xc7\xa2",
169 "\xc7\xa5" => "\xc7\xa4",
170 "\xc7\xa7" => "\xc7\xa6",
171 "\xc7\xa9" => "\xc7\xa8",
172 "\xc7\xab" => "\xc7\xaa",
173 "\xc7\xad" => "\xc7\xac",
174 "\xc7\xaf" => "\xc7\xae",
175 "\xc7\xb2" => "\xc7\xb1",
176 "\xc7\xb3" => "\xc7\xb1",
177 "\xc7\xb5" => "\xc7\xb4",
178 "\xc7\xb9" => "\xc7\xb8",
179 "\xc7\xbb" => "\xc7\xba",
180 "\xc7\xbd" => "\xc7\xbc",
181 "\xc7\xbf" => "\xc7\xbe",
182 "\xc8\x81" => "\xc8\x80",
183 "\xc8\x83" => "\xc8\x82",
184 "\xc8\x85" => "\xc8\x84",
185 "\xc8\x87" => "\xc8\x86",
186 "\xc8\x89" => "\xc8\x88",
187 "\xc8\x8b" => "\xc8\x8a",
188 "\xc8\x8d" => "\xc8\x8c",
189 "\xc8\x8f" => "\xc8\x8e",
190 "\xc8\x91" => "\xc8\x90",
191 "\xc8\x93" => "\xc8\x92",
192 "\xc8\x95" => "\xc8\x94",
193 "\xc8\x97" => "\xc8\x96",
194 "\xc8\x99" => "\xc8\x98",
195 "\xc8\x9b" => "\xc8\x9a",
196 "\xc8\x9d" => "\xc8\x9c",
197 "\xc8\x9f" => "\xc8\x9e",
198 "\xc8\xa3" => "\xc8\xa2",
199 "\xc8\xa5" => "\xc8\xa4",
200 "\xc8\xa7" => "\xc8\xa6",
201 "\xc8\xa9" => "\xc8\xa8",
202 "\xc8\xab" => "\xc8\xaa",
203 "\xc8\xad" => "\xc8\xac",
204 "\xc8\xaf" => "\xc8\xae",
205 "\xc8\xb1" => "\xc8\xb0",
206 "\xc8\xb3" => "\xc8\xb2",
207 "\xc9\x93" => "\xc6\x81",
208 "\xc9\x94" => "\xc6\x86",
209 "\xc9\x96" => "\xc6\x89",
210 "\xc9\x97" => "\xc6\x8a",
211 "\xc9\x99" => "\xc6\x8f",
212 "\xc9\x9b" => "\xc6\x90",
213 "\xc9\xa0" => "\xc6\x93",
214 "\xc9\xa3" => "\xc6\x94",
215 "\xc9\xa8" => "\xc6\x97",
216 "\xc9\xa9" => "\xc6\x96",
217 "\xc9\xaf" => "\xc6\x9c",
218 "\xc9\xb2" => "\xc6\x9d",
219 "\xc9\xb5" => "\xc6\x9f",
220 "\xca\x80" => "\xc6\xa6",
221 "\xca\x83" => "\xc6\xa9",
222 "\xca\x88" => "\xc6\xae",
223 "\xca\x8a" => "\xc6\xb1",
224 "\xca\x8b" => "\xc6\xb2",
225 "\xca\x92" => "\xc6\xb7",
226 "\xcd\x85" => "\xce\x99",
227 "\xce\xac" => "\xce\x86",
228 "\xce\xad" => "\xce\x88",
229 "\xce\xae" => "\xce\x89",
230 "\xce\xaf" => "\xce\x8a",
231 "\xce\xb1" => "\xce\x91",
232 "\xce\xb2" => "\xce\x92",
233 "\xce\xb3" => "\xce\x93",
234 "\xce\xb4" => "\xce\x94",
235 "\xce\xb5" => "\xce\x95",
236 "\xce\xb6" => "\xce\x96",
237 "\xce\xb7" => "\xce\x97",
238 "\xce\xb8" => "\xce\x98",
239 "\xce\xb9" => "\xce\x99",
240 "\xce\xba" => "\xce\x9a",
241 "\xce\xbb" => "\xce\x9b",
242 "\xce\xbc" => "\xce\x9c",
243 "\xce\xbd" => "\xce\x9d",
244 "\xce\xbe" => "\xce\x9e",
245 "\xce\xbf" => "\xce\x9f",
246 "\xcf\x80" => "\xce\xa0",
247 "\xcf\x81" => "\xce\xa1",
248 "\xcf\x82" => "\xce\xa3",
249 "\xcf\x83" => "\xce\xa3",
250 "\xcf\x84" => "\xce\xa4",
251 "\xcf\x85" => "\xce\xa5",
252 "\xcf\x86" => "\xce\xa6",
253 "\xcf\x87" => "\xce\xa7",
254 "\xcf\x88" => "\xce\xa8",
255 "\xcf\x89" => "\xce\xa9",
256 "\xcf\x8a" => "\xce\xaa",
257 "\xcf\x8b" => "\xce\xab",
258 "\xcf\x8c" => "\xce\x8c",
259 "\xcf\x8d" => "\xce\x8e",
260 "\xcf\x8e" => "\xce\x8f",
261 "\xcf\x90" => "\xce\x92",
262 "\xcf\x91" => "\xce\x98",
263 "\xcf\x95" => "\xce\xa6",
264 "\xcf\x96" => "\xce\xa0",
265 "\xcf\x9b" => "\xcf\x9a",
266 "\xcf\x9d" => "\xcf\x9c",
267 "\xcf\x9f" => "\xcf\x9e",
268 "\xcf\xa1" => "\xcf\xa0",
269 "\xcf\xa3" => "\xcf\xa2",
270 "\xcf\xa5" => "\xcf\xa4",
271 "\xcf\xa7" => "\xcf\xa6",
272 "\xcf\xa9" => "\xcf\xa8",
273 "\xcf\xab" => "\xcf\xaa",
274 "\xcf\xad" => "\xcf\xac",
275 "\xcf\xaf" => "\xcf\xae",
276 "\xcf\xb0" => "\xce\x9a",
277 "\xcf\xb1" => "\xce\xa1",
278 "\xcf\xb2" => "\xce\xa3",
279 "\xcf\xb5" => "\xce\x95",
280 "\xd0\xb0" => "\xd0\x90",
281 "\xd0\xb1" => "\xd0\x91",
282 "\xd0\xb2" => "\xd0\x92",
283 "\xd0\xb3" => "\xd0\x93",
284 "\xd0\xb4" => "\xd0\x94",
285 "\xd0\xb5" => "\xd0\x95",
286 "\xd0\xb6" => "\xd0\x96",
287 "\xd0\xb7" => "\xd0\x97",
288 "\xd0\xb8" => "\xd0\x98",
289 "\xd0\xb9" => "\xd0\x99",
290 "\xd0\xba" => "\xd0\x9a",
291 "\xd0\xbb" => "\xd0\x9b",
292 "\xd0\xbc" => "\xd0\x9c",
293 "\xd0\xbd" => "\xd0\x9d",
294 "\xd0\xbe" => "\xd0\x9e",
295 "\xd0\xbf" => "\xd0\x9f",
296 "\xd1\x80" => "\xd0\xa0",
297 "\xd1\x81" => "\xd0\xa1",
298 "\xd1\x82" => "\xd0\xa2",
299 "\xd1\x83" => "\xd0\xa3",
300 "\xd1\x84" => "\xd0\xa4",
301 "\xd1\x85" => "\xd0\xa5",
302 "\xd1\x86" => "\xd0\xa6",
303 "\xd1\x87" => "\xd0\xa7",
304 "\xd1\x88" => "\xd0\xa8",
305 "\xd1\x89" => "\xd0\xa9",
306 "\xd1\x8a" => "\xd0\xaa",
307 "\xd1\x8b" => "\xd0\xab",
308 "\xd1\x8c" => "\xd0\xac",
309 "\xd1\x8d" => "\xd0\xad",
310 "\xd1\x8e" => "\xd0\xae",
311 "\xd1\x8f" => "\xd0\xaf",
312 "\xd1\x90" => "\xd0\x80",
313 "\xd1\x91" => "\xd0\x81",
314 "\xd1\x92" => "\xd0\x82",
315 "\xd1\x93" => "\xd0\x83",
316 "\xd1\x94" => "\xd0\x84",
317 "\xd1\x95" => "\xd0\x85",
318 "\xd1\x96" => "\xd0\x86",
319 "\xd1\x97" => "\xd0\x87",
320 "\xd1\x98" => "\xd0\x88",
321 "\xd1\x99" => "\xd0\x89",
322 "\xd1\x9a" => "\xd0\x8a",
323 "\xd1\x9b" => "\xd0\x8b",
324 "\xd1\x9c" => "\xd0\x8c",
325 "\xd1\x9d" => "\xd0\x8d",
326 "\xd1\x9e" => "\xd0\x8e",
327 "\xd1\x9f" => "\xd0\x8f",
328 "\xd1\xa1" => "\xd1\xa0",
329 "\xd1\xa3" => "\xd1\xa2",
330 "\xd1\xa5" => "\xd1\xa4",
331 "\xd1\xa7" => "\xd1\xa6",
332 "\xd1\xa9" => "\xd1\xa8",
333 "\xd1\xab" => "\xd1\xaa",
334 "\xd1\xad" => "\xd1\xac",
335 "\xd1\xaf" => "\xd1\xae",
336 "\xd1\xb1" => "\xd1\xb0",
337 "\xd1\xb3" => "\xd1\xb2",
338 "\xd1\xb5" => "\xd1\xb4",
339 "\xd1\xb7" => "\xd1\xb6",
340 "\xd1\xb9" => "\xd1\xb8",
341 "\xd1\xbb" => "\xd1\xba",
342 "\xd1\xbd" => "\xd1\xbc",
343 "\xd1\xbf" => "\xd1\xbe",
344 "\xd2\x81" => "\xd2\x80",
345 "\xd2\x8d" => "\xd2\x8c",
346 "\xd2\x8f" => "\xd2\x8e",
347 "\xd2\x91" => "\xd2\x90",
348 "\xd2\x93" => "\xd2\x92",
349 "\xd2\x95" => "\xd2\x94",
350 "\xd2\x97" => "\xd2\x96",
351 "\xd2\x99" => "\xd2\x98",
352 "\xd2\x9b" => "\xd2\x9a",
353 "\xd2\x9d" => "\xd2\x9c",
354 "\xd2\x9f" => "\xd2\x9e",
355 "\xd2\xa1" => "\xd2\xa0",
356 "\xd2\xa3" => "\xd2\xa2",
357 "\xd2\xa5" => "\xd2\xa4",
358 "\xd2\xa7" => "\xd2\xa6",
359 "\xd2\xa9" => "\xd2\xa8",
360 "\xd2\xab" => "\xd2\xaa",
361 "\xd2\xad" => "\xd2\xac",
362 "\xd2\xaf" => "\xd2\xae",
363 "\xd2\xb1" => "\xd2\xb0",
364 "\xd2\xb3" => "\xd2\xb2",
365 "\xd2\xb5" => "\xd2\xb4",
366 "\xd2\xb7" => "\xd2\xb6",
367 "\xd2\xb9" => "\xd2\xb8",
368 "\xd2\xbb" => "\xd2\xba",
369 "\xd2\xbd" => "\xd2\xbc",
370 "\xd2\xbf" => "\xd2\xbe",
371 "\xd3\x82" => "\xd3\x81",
372 "\xd3\x84" => "\xd3\x83",
373 "\xd3\x88" => "\xd3\x87",
374 "\xd3\x8c" => "\xd3\x8b",
375 "\xd3\x91" => "\xd3\x90",
376 "\xd3\x93" => "\xd3\x92",
377 "\xd3\x95" => "\xd3\x94",
378 "\xd3\x97" => "\xd3\x96",
379 "\xd3\x99" => "\xd3\x98",
380 "\xd3\x9b" => "\xd3\x9a",
381 "\xd3\x9d" => "\xd3\x9c",
382 "\xd3\x9f" => "\xd3\x9e",
383 "\xd3\xa1" => "\xd3\xa0",
384 "\xd3\xa3" => "\xd3\xa2",
385 "\xd3\xa5" => "\xd3\xa4",
386 "\xd3\xa7" => "\xd3\xa6",
387 "\xd3\xa9" => "\xd3\xa8",
388 "\xd3\xab" => "\xd3\xaa",
389 "\xd3\xad" => "\xd3\xac",
390 "\xd3\xaf" => "\xd3\xae",
391 "\xd3\xb1" => "\xd3\xb0",
392 "\xd3\xb3" => "\xd3\xb2",
393 "\xd3\xb5" => "\xd3\xb4",
394 "\xd3\xb9" => "\xd3\xb8",
395 "\xd5\xa1" => "\xd4\xb1",
396 "\xd5\xa2" => "\xd4\xb2",
397 "\xd5\xa3" => "\xd4\xb3",
398 "\xd5\xa4" => "\xd4\xb4",
399 "\xd5\xa5" => "\xd4\xb5",
400 "\xd5\xa6" => "\xd4\xb6",
401 "\xd5\xa7" => "\xd4\xb7",
402 "\xd5\xa8" => "\xd4\xb8",
403 "\xd5\xa9" => "\xd4\xb9",
404 "\xd5\xaa" => "\xd4\xba",
405 "\xd5\xab" => "\xd4\xbb",
406 "\xd5\xac" => "\xd4\xbc",
407 "\xd5\xad" => "\xd4\xbd",
408 "\xd5\xae" => "\xd4\xbe",
409 "\xd5\xaf" => "\xd4\xbf",
410 "\xd5\xb0" => "\xd5\x80",
411 "\xd5\xb1" => "\xd5\x81",
412 "\xd5\xb2" => "\xd5\x82",
413 "\xd5\xb3" => "\xd5\x83",
414 "\xd5\xb4" => "\xd5\x84",
415 "\xd5\xb5" => "\xd5\x85",
416 "\xd5\xb6" => "\xd5\x86",
417 "\xd5\xb7" => "\xd5\x87",
418 "\xd5\xb8" => "\xd5\x88",
419 "\xd5\xb9" => "\xd5\x89",
420 "\xd5\xba" => "\xd5\x8a",
421 "\xd5\xbb" => "\xd5\x8b",
422 "\xd5\xbc" => "\xd5\x8c",
423 "\xd5\xbd" => "\xd5\x8d",
424 "\xd5\xbe" => "\xd5\x8e",
425 "\xd5\xbf" => "\xd5\x8f",
426 "\xd6\x80" => "\xd5\x90",
427 "\xd6\x81" => "\xd5\x91",
428 "\xd6\x82" => "\xd5\x92",
429 "\xd6\x83" => "\xd5\x93",
430 "\xd6\x84" => "\xd5\x94",
431 "\xd6\x85" => "\xd5\x95",
432 "\xd6\x86" => "\xd5\x96",
433 "\xe1\xb8\x81" => "\xe1\xb8\x80",
434 "\xe1\xb8\x83" => "\xe1\xb8\x82",
435 "\xe1\xb8\x85" => "\xe1\xb8\x84",
436 "\xe1\xb8\x87" => "\xe1\xb8\x86",
437 "\xe1\xb8\x89" => "\xe1\xb8\x88",
438 "\xe1\xb8\x8b" => "\xe1\xb8\x8a",
439 "\xe1\xb8\x8d" => "\xe1\xb8\x8c",
440 "\xe1\xb8\x8f" => "\xe1\xb8\x8e",
441 "\xe1\xb8\x91" => "\xe1\xb8\x90",
442 "\xe1\xb8\x93" => "\xe1\xb8\x92",
443 "\xe1\xb8\x95" => "\xe1\xb8\x94",
444 "\xe1\xb8\x97" => "\xe1\xb8\x96",
445 "\xe1\xb8\x99" => "\xe1\xb8\x98",
446 "\xe1\xb8\x9b" => "\xe1\xb8\x9a",
447 "\xe1\xb8\x9d" => "\xe1\xb8\x9c",
448 "\xe1\xb8\x9f" => "\xe1\xb8\x9e",
449 "\xe1\xb8\xa1" => "\xe1\xb8\xa0",
450 "\xe1\xb8\xa3" => "\xe1\xb8\xa2",
451 "\xe1\xb8\xa5" => "\xe1\xb8\xa4",
452 "\xe1\xb8\xa7" => "\xe1\xb8\xa6",
453 "\xe1\xb8\xa9" => "\xe1\xb8\xa8",
454 "\xe1\xb8\xab" => "\xe1\xb8\xaa",
455 "\xe1\xb8\xad" => "\xe1\xb8\xac",
456 "\xe1\xb8\xaf" => "\xe1\xb8\xae",
457 "\xe1\xb8\xb1" => "\xe1\xb8\xb0",
458 "\xe1\xb8\xb3" => "\xe1\xb8\xb2",
459 "\xe1\xb8\xb5" => "\xe1\xb8\xb4",
460 "\xe1\xb8\xb7" => "\xe1\xb8\xb6",
461 "\xe1\xb8\xb9" => "\xe1\xb8\xb8",
462 "\xe1\xb8\xbb" => "\xe1\xb8\xba",
463 "\xe1\xb8\xbd" => "\xe1\xb8\xbc",
464 "\xe1\xb8\xbf" => "\xe1\xb8\xbe",
465 "\xe1\xb9\x81" => "\xe1\xb9\x80",
466 "\xe1\xb9\x83" => "\xe1\xb9\x82",
467 "\xe1\xb9\x85" => "\xe1\xb9\x84",
468 "\xe1\xb9\x87" => "\xe1\xb9\x86",
469 "\xe1\xb9\x89" => "\xe1\xb9\x88",
470 "\xe1\xb9\x8b" => "\xe1\xb9\x8a",
471 "\xe1\xb9\x8d" => "\xe1\xb9\x8c",
472 "\xe1\xb9\x8f" => "\xe1\xb9\x8e",
473 "\xe1\xb9\x91" => "\xe1\xb9\x90",
474 "\xe1\xb9\x93" => "\xe1\xb9\x92",
475 "\xe1\xb9\x95" => "\xe1\xb9\x94",
476 "\xe1\xb9\x97" => "\xe1\xb9\x96",
477 "\xe1\xb9\x99" => "\xe1\xb9\x98",
478 "\xe1\xb9\x9b" => "\xe1\xb9\x9a",
479 "\xe1\xb9\x9d" => "\xe1\xb9\x9c",
480 "\xe1\xb9\x9f" => "\xe1\xb9\x9e",
481 "\xe1\xb9\xa1" => "\xe1\xb9\xa0",
482 "\xe1\xb9\xa3" => "\xe1\xb9\xa2",
483 "\xe1\xb9\xa5" => "\xe1\xb9\xa4",
484 "\xe1\xb9\xa7" => "\xe1\xb9\xa6",
485 "\xe1\xb9\xa9" => "\xe1\xb9\xa8",
486 "\xe1\xb9\xab" => "\xe1\xb9\xaa",
487 "\xe1\xb9\xad" => "\xe1\xb9\xac",
488 "\xe1\xb9\xaf" => "\xe1\xb9\xae",
489 "\xe1\xb9\xb1" => "\xe1\xb9\xb0",
490 "\xe1\xb9\xb3" => "\xe1\xb9\xb2",
491 "\xe1\xb9\xb5" => "\xe1\xb9\xb4",
492 "\xe1\xb9\xb7" => "\xe1\xb9\xb6",
493 "\xe1\xb9\xb9" => "\xe1\xb9\xb8",
494 "\xe1\xb9\xbb" => "\xe1\xb9\xba",
495 "\xe1\xb9\xbd" => "\xe1\xb9\xbc",
496 "\xe1\xb9\xbf" => "\xe1\xb9\xbe",
497 "\xe1\xba\x81" => "\xe1\xba\x80",
498 "\xe1\xba\x83" => "\xe1\xba\x82",
499 "\xe1\xba\x85" => "\xe1\xba\x84",
500 "\xe1\xba\x87" => "\xe1\xba\x86",
501 "\xe1\xba\x89" => "\xe1\xba\x88",
502 "\xe1\xba\x8b" => "\xe1\xba\x8a",
503 "\xe1\xba\x8d" => "\xe1\xba\x8c",
504 "\xe1\xba\x8f" => "\xe1\xba\x8e",
505 "\xe1\xba\x91" => "\xe1\xba\x90",
506 "\xe1\xba\x93" => "\xe1\xba\x92",
507 "\xe1\xba\x95" => "\xe1\xba\x94",
508 "\xe1\xba\x9b" => "\xe1\xb9\xa0",
509 "\xe1\xba\xa1" => "\xe1\xba\xa0",
510 "\xe1\xba\xa3" => "\xe1\xba\xa2",
511 "\xe1\xba\xa5" => "\xe1\xba\xa4",
512 "\xe1\xba\xa7" => "\xe1\xba\xa6",
513 "\xe1\xba\xa9" => "\xe1\xba\xa8",
514 "\xe1\xba\xab" => "\xe1\xba\xaa",
515 "\xe1\xba\xad" => "\xe1\xba\xac",
516 "\xe1\xba\xaf" => "\xe1\xba\xae",
517 "\xe1\xba\xb1" => "\xe1\xba\xb0",
518 "\xe1\xba\xb3" => "\xe1\xba\xb2",
519 "\xe1\xba\xb5" => "\xe1\xba\xb4",
520 "\xe1\xba\xb7" => "\xe1\xba\xb6",
521 "\xe1\xba\xb9" => "\xe1\xba\xb8",
522 "\xe1\xba\xbb" => "\xe1\xba\xba",
523 "\xe1\xba\xbd" => "\xe1\xba\xbc",
524 "\xe1\xba\xbf" => "\xe1\xba\xbe",
525 "\xe1\xbb\x81" => "\xe1\xbb\x80",
526 "\xe1\xbb\x83" => "\xe1\xbb\x82",
527 "\xe1\xbb\x85" => "\xe1\xbb\x84",
528 "\xe1\xbb\x87" => "\xe1\xbb\x86",
529 "\xe1\xbb\x89" => "\xe1\xbb\x88",
530 "\xe1\xbb\x8b" => "\xe1\xbb\x8a",
531 "\xe1\xbb\x8d" => "\xe1\xbb\x8c",
532 "\xe1\xbb\x8f" => "\xe1\xbb\x8e",
533 "\xe1\xbb\x91" => "\xe1\xbb\x90",
534 "\xe1\xbb\x93" => "\xe1\xbb\x92",
535 "\xe1\xbb\x95" => "\xe1\xbb\x94",
536 "\xe1\xbb\x97" => "\xe1\xbb\x96",
537 "\xe1\xbb\x99" => "\xe1\xbb\x98",
538 "\xe1\xbb\x9b" => "\xe1\xbb\x9a",
539 "\xe1\xbb\x9d" => "\xe1\xbb\x9c",
540 "\xe1\xbb\x9f" => "\xe1\xbb\x9e",
541 "\xe1\xbb\xa1" => "\xe1\xbb\xa0",
542 "\xe1\xbb\xa3" => "\xe1\xbb\xa2",
543 "\xe1\xbb\xa5" => "\xe1\xbb\xa4",
544 "\xe1\xbb\xa7" => "\xe1\xbb\xa6",
545 "\xe1\xbb\xa9" => "\xe1\xbb\xa8",
546 "\xe1\xbb\xab" => "\xe1\xbb\xaa",
547 "\xe1\xbb\xad" => "\xe1\xbb\xac",
548 "\xe1\xbb\xaf" => "\xe1\xbb\xae",
549 "\xe1\xbb\xb1" => "\xe1\xbb\xb0",
550 "\xe1\xbb\xb3" => "\xe1\xbb\xb2",
551 "\xe1\xbb\xb5" => "\xe1\xbb\xb4",
552 "\xe1\xbb\xb7" => "\xe1\xbb\xb6",
553 "\xe1\xbb\xb9" => "\xe1\xbb\xb8",
554 "\xe1\xbc\x80" => "\xe1\xbc\x88",
555 "\xe1\xbc\x81" => "\xe1\xbc\x89",
556 "\xe1\xbc\x82" => "\xe1\xbc\x8a",
557 "\xe1\xbc\x83" => "\xe1\xbc\x8b",
558 "\xe1\xbc\x84" => "\xe1\xbc\x8c",
559 "\xe1\xbc\x85" => "\xe1\xbc\x8d",
560 "\xe1\xbc\x86" => "\xe1\xbc\x8e",
561 "\xe1\xbc\x87" => "\xe1\xbc\x8f",
562 "\xe1\xbc\x90" => "\xe1\xbc\x98",
563 "\xe1\xbc\x91" => "\xe1\xbc\x99",
564 "\xe1\xbc\x92" => "\xe1\xbc\x9a",
565 "\xe1\xbc\x93" => "\xe1\xbc\x9b",
566 "\xe1\xbc\x94" => "\xe1\xbc\x9c",
567 "\xe1\xbc\x95" => "\xe1\xbc\x9d",
568 "\xe1\xbc\xa0" => "\xe1\xbc\xa8",
569 "\xe1\xbc\xa1" => "\xe1\xbc\xa9",
570 "\xe1\xbc\xa2" => "\xe1\xbc\xaa",
571 "\xe1\xbc\xa3" => "\xe1\xbc\xab",
572 "\xe1\xbc\xa4" => "\xe1\xbc\xac",
573 "\xe1\xbc\xa5" => "\xe1\xbc\xad",
574 "\xe1\xbc\xa6" => "\xe1\xbc\xae",
575 "\xe1\xbc\xa7" => "\xe1\xbc\xaf",
576 "\xe1\xbc\xb0" => "\xe1\xbc\xb8",
577 "\xe1\xbc\xb1" => "\xe1\xbc\xb9",
578 "\xe1\xbc\xb2" => "\xe1\xbc\xba",
579 "\xe1\xbc\xb3" => "\xe1\xbc\xbb",
580 "\xe1\xbc\xb4" => "\xe1\xbc\xbc",
581 "\xe1\xbc\xb5" => "\xe1\xbc\xbd",
582 "\xe1\xbc\xb6" => "\xe1\xbc\xbe",
583 "\xe1\xbc\xb7" => "\xe1\xbc\xbf",
584 "\xe1\xbd\x80" => "\xe1\xbd\x88",
585 "\xe1\xbd\x81" => "\xe1\xbd\x89",
586 "\xe1\xbd\x82" => "\xe1\xbd\x8a",
587 "\xe1\xbd\x83" => "\xe1\xbd\x8b",
588 "\xe1\xbd\x84" => "\xe1\xbd\x8c",
589 "\xe1\xbd\x85" => "\xe1\xbd\x8d",
590 "\xe1\xbd\x91" => "\xe1\xbd\x99",
591 "\xe1\xbd\x93" => "\xe1\xbd\x9b",
592 "\xe1\xbd\x95" => "\xe1\xbd\x9d",
593 "\xe1\xbd\x97" => "\xe1\xbd\x9f",
594 "\xe1\xbd\xa0" => "\xe1\xbd\xa8",
595 "\xe1\xbd\xa1" => "\xe1\xbd\xa9",
596 "\xe1\xbd\xa2" => "\xe1\xbd\xaa",
597 "\xe1\xbd\xa3" => "\xe1\xbd\xab",
598 "\xe1\xbd\xa4" => "\xe1\xbd\xac",
599 "\xe1\xbd\xa5" => "\xe1\xbd\xad",
600 "\xe1\xbd\xa6" => "\xe1\xbd\xae",
601 "\xe1\xbd\xa7" => "\xe1\xbd\xaf",
602 "\xe1\xbd\xb0" => "\xe1\xbe\xba",
603 "\xe1\xbd\xb1" => "\xe1\xbe\xbb",
604 "\xe1\xbd\xb2" => "\xe1\xbf\x88",
605 "\xe1\xbd\xb3" => "\xe1\xbf\x89",
606 "\xe1\xbd\xb4" => "\xe1\xbf\x8a",
607 "\xe1\xbd\xb5" => "\xe1\xbf\x8b",
608 "\xe1\xbd\xb6" => "\xe1\xbf\x9a",
609 "\xe1\xbd\xb7" => "\xe1\xbf\x9b",
610 "\xe1\xbd\xb8" => "\xe1\xbf\xb8",
611 "\xe1\xbd\xb9" => "\xe1\xbf\xb9",
612 "\xe1\xbd\xba" => "\xe1\xbf\xaa",
613 "\xe1\xbd\xbb" => "\xe1\xbf\xab",
614 "\xe1\xbd\xbc" => "\xe1\xbf\xba",
615 "\xe1\xbd\xbd" => "\xe1\xbf\xbb",
616 "\xe1\xbe\x80" => "\xe1\xbe\x88",
617 "\xe1\xbe\x81" => "\xe1\xbe\x89",
618 "\xe1\xbe\x82" => "\xe1\xbe\x8a",
619 "\xe1\xbe\x83" => "\xe1\xbe\x8b",
620 "\xe1\xbe\x84" => "\xe1\xbe\x8c",
621 "\xe1\xbe\x85" => "\xe1\xbe\x8d",
622 "\xe1\xbe\x86" => "\xe1\xbe\x8e",
623 "\xe1\xbe\x87" => "\xe1\xbe\x8f",
624 "\xe1\xbe\x90" => "\xe1\xbe\x98",
625 "\xe1\xbe\x91" => "\xe1\xbe\x99",
626 "\xe1\xbe\x92" => "\xe1\xbe\x9a",
627 "\xe1\xbe\x93" => "\xe1\xbe\x9b",
628 "\xe1\xbe\x94" => "\xe1\xbe\x9c",
629 "\xe1\xbe\x95" => "\xe1\xbe\x9d",
630 "\xe1\xbe\x96" => "\xe1\xbe\x9e",
631 "\xe1\xbe\x97" => "\xe1\xbe\x9f",
632 "\xe1\xbe\xa0" => "\xe1\xbe\xa8",
633 "\xe1\xbe\xa1" => "\xe1\xbe\xa9",
634 "\xe1\xbe\xa2" => "\xe1\xbe\xaa",
635 "\xe1\xbe\xa3" => "\xe1\xbe\xab",
636 "\xe1\xbe\xa4" => "\xe1\xbe\xac",
637 "\xe1\xbe\xa5" => "\xe1\xbe\xad",
638 "\xe1\xbe\xa6" => "\xe1\xbe\xae",
639 "\xe1\xbe\xa7" => "\xe1\xbe\xaf",
640 "\xe1\xbe\xb0" => "\xe1\xbe\xb8",
641 "\xe1\xbe\xb1" => "\xe1\xbe\xb9",
642 "\xe1\xbe\xb3" => "\xe1\xbe\xbc",
643 "\xe1\xbe\xbe" => "\xce\x99",
644 "\xe1\xbf\x83" => "\xe1\xbf\x8c",
645 "\xe1\xbf\x90" => "\xe1\xbf\x98",
646 "\xe1\xbf\x91" => "\xe1\xbf\x99",
647 "\xe1\xbf\xa0" => "\xe1\xbf\xa8",
648 "\xe1\xbf\xa1" => "\xe1\xbf\xa9",
649 "\xe1\xbf\xa5" => "\xe1\xbf\xac",
650 "\xe1\xbf\xb3" => "\xe1\xbf\xbc",
651 "\xe2\x85\xb0" => "\xe2\x85\xa0",
652 "\xe2\x85\xb1" => "\xe2\x85\xa1",
653 "\xe2\x85\xb2" => "\xe2\x85\xa2",
654 "\xe2\x85\xb3" => "\xe2\x85\xa3",
655 "\xe2\x85\xb4" => "\xe2\x85\xa4",
656 "\xe2\x85\xb5" => "\xe2\x85\xa5",
657 "\xe2\x85\xb6" => "\xe2\x85\xa6",
658 "\xe2\x85\xb7" => "\xe2\x85\xa7",
659 "\xe2\x85\xb8" => "\xe2\x85\xa8",
660 "\xe2\x85\xb9" => "\xe2\x85\xa9",
661 "\xe2\x85\xba" => "\xe2\x85\xaa",
662 "\xe2\x85\xbb" => "\xe2\x85\xab",
663 "\xe2\x85\xbc" => "\xe2\x85\xac",
664 "\xe2\x85\xbd" => "\xe2\x85\xad",
665 "\xe2\x85\xbe" => "\xe2\x85\xae",
666 "\xe2\x85\xbf" => "\xe2\x85\xaf",
667 "\xe2\x93\x90" => "\xe2\x92\xb6",
668 "\xe2\x93\x91" => "\xe2\x92\xb7",
669 "\xe2\x93\x92" => "\xe2\x92\xb8",
670 "\xe2\x93\x93" => "\xe2\x92\xb9",
671 "\xe2\x93\x94" => "\xe2\x92\xba",
672 "\xe2\x93\x95" => "\xe2\x92\xbb",
673 "\xe2\x93\x96" => "\xe2\x92\xbc",
674 "\xe2\x93\x97" => "\xe2\x92\xbd",
675 "\xe2\x93\x98" => "\xe2\x92\xbe",
676 "\xe2\x93\x99" => "\xe2\x92\xbf",
677 "\xe2\x93\x9a" => "\xe2\x93\x80",
678 "\xe2\x93\x9b" => "\xe2\x93\x81",
679 "\xe2\x93\x9c" => "\xe2\x93\x82",
680 "\xe2\x93\x9d" => "\xe2\x93\x83",
681 "\xe2\x93\x9e" => "\xe2\x93\x84",
682 "\xe2\x93\x9f" => "\xe2\x93\x85",
683 "\xe2\x93\xa0" => "\xe2\x93\x86",
684 "\xe2\x93\xa1" => "\xe2\x93\x87",
685 "\xe2\x93\xa2" => "\xe2\x93\x88",
686 "\xe2\x93\xa3" => "\xe2\x93\x89",
687 "\xe2\x93\xa4" => "\xe2\x93\x8a",
688 "\xe2\x93\xa5" => "\xe2\x93\x8b",
689 "\xe2\x93\xa6" => "\xe2\x93\x8c",
690 "\xe2\x93\xa7" => "\xe2\x93\x8d",
691 "\xe2\x93\xa8" => "\xe2\x93\x8e",
692 "\xe2\x93\xa9" => "\xe2\x93\x8f",
693 "\xef\xbd\x81" => "\xef\xbc\xa1",
694 "\xef\xbd\x82" => "\xef\xbc\xa2",
695 "\xef\xbd\x83" => "\xef\xbc\xa3",
696 "\xef\xbd\x84" => "\xef\xbc\xa4",
697 "\xef\xbd\x85" => "\xef\xbc\xa5",
698 "\xef\xbd\x86" => "\xef\xbc\xa6",
699 "\xef\xbd\x87" => "\xef\xbc\xa7",
700 "\xef\xbd\x88" => "\xef\xbc\xa8",
701 "\xef\xbd\x89" => "\xef\xbc\xa9",
702 "\xef\xbd\x8a" => "\xef\xbc\xaa",
703 "\xef\xbd\x8b" => "\xef\xbc\xab",
704 "\xef\xbd\x8c" => "\xef\xbc\xac",
705 "\xef\xbd\x8d" => "\xef\xbc\xad",
706 "\xef\xbd\x8e" => "\xef\xbc\xae",
707 "\xef\xbd\x8f" => "\xef\xbc\xaf",
708 "\xef\xbd\x90" => "\xef\xbc\xb0",
709 "\xef\xbd\x91" => "\xef\xbc\xb1",
710 "\xef\xbd\x92" => "\xef\xbc\xb2",
711 "\xef\xbd\x93" => "\xef\xbc\xb3",
712 "\xef\xbd\x94" => "\xef\xbc\xb4",
713 "\xef\xbd\x95" => "\xef\xbc\xb5",
714 "\xef\xbd\x96" => "\xef\xbc\xb6",
715 "\xef\xbd\x97" => "\xef\xbc\xb7",
716 "\xef\xbd\x98" => "\xef\xbc\xb8",
717 "\xef\xbd\x99" => "\xef\xbc\xb9",
718 "\xef\xbd\x9a" => "\xef\xbc\xba",
719 "\xf0\x90\x90\xa8" => "\xf0\x90\x90\x80",
720 "\xf0\x90\x90\xa9" => "\xf0\x90\x90\x81",
721 "\xf0\x90\x90\xaa" => "\xf0\x90\x90\x82",
722 "\xf0\x90\x90\xab" => "\xf0\x90\x90\x83",
723 "\xf0\x90\x90\xac" => "\xf0\x90\x90\x84",
724 "\xf0\x90\x90\xad" => "\xf0\x90\x90\x85",
725 "\xf0\x90\x90\xae" => "\xf0\x90\x90\x86",
726 "\xf0\x90\x90\xaf" => "\xf0\x90\x90\x87",
727 "\xf0\x90\x90\xb0" => "\xf0\x90\x90\x88",
728 "\xf0\x90\x90\xb1" => "\xf0\x90\x90\x89",
729 "\xf0\x90\x90\xb2" => "\xf0\x90\x90\x8a",
730 "\xf0\x90\x90\xb3" => "\xf0\x90\x90\x8b",
731 "\xf0\x90\x90\xb4" => "\xf0\x90\x90\x8c",
732 "\xf0\x90\x90\xb5" => "\xf0\x90\x90\x8d",
733 "\xf0\x90\x90\xb6" => "\xf0\x90\x90\x8e",
734 "\xf0\x90\x90\xb7" => "\xf0\x90\x90\x8f",
735 "\xf0\x90\x90\xb8" => "\xf0\x90\x90\x90",
736 "\xf0\x90\x90\xb9" => "\xf0\x90\x90\x91",
737 "\xf0\x90\x90\xba" => "\xf0\x90\x90\x92",
738 "\xf0\x90\x90\xbb" => "\xf0\x90\x90\x93",
739 "\xf0\x90\x90\xbc" => "\xf0\x90\x90\x94",
740 "\xf0\x90\x90\xbd" => "\xf0\x90\x90\x95",
741 "\xf0\x90\x90\xbe" => "\xf0\x90\x90\x96",
742 "\xf0\x90\x90\xbf" => "\xf0\x90\x90\x97",
743 "\xf0\x90\x91\x80" => "\xf0\x90\x90\x98",
744 "\xf0\x90\x91\x81" => "\xf0\x90\x90\x99",
745 "\xf0\x90\x91\x82" => "\xf0\x90\x90\x9a",
746 "\xf0\x90\x91\x83" => "\xf0\x90\x90\x9b",
747 "\xf0\x90\x91\x84" => "\xf0\x90\x90\x9c",
748 "\xf0\x90\x91\x85" => "\xf0\x90\x90\x9d",
749 "\xf0\x90\x91\x86" => "\xf0\x90\x90\x9e",
750 "\xf0\x90\x91\x87" => "\xf0\x90\x90\x9f",
751 "\xf0\x90\x91\x88" => "\xf0\x90\x90\xa0",
752 "\xf0\x90\x91\x89" => "\xf0\x90\x90\xa1",
753 "\xf0\x90\x91\x8a" => "\xf0\x90\x90\xa2",
754 "\xf0\x90\x91\x8b" => "\xf0\x90\x90\xa3",
755 "\xf0\x90\x91\x8c" => "\xf0\x90\x90\xa4",
756 "\xf0\x90\x91\x8d" => "\xf0\x90\x90\xa5"
757 );
758
759 $wikiLowerChars = array (
760 "A" => "a",
761 "B" => "b",
762 "C" => "c",
763 "D" => "d",
764 "E" => "e",
765 "F" => "f",
766 "G" => "g",
767 "H" => "h",
768 "I" => "i",
769 "J" => "j",
770 "K" => "k",
771 "L" => "l",
772 "M" => "m",
773 "N" => "n",
774 "O" => "o",
775 "P" => "p",
776 "Q" => "q",
777 "R" => "r",
778 "S" => "s",
779 "T" => "t",
780 "U" => "u",
781 "V" => "v",
782 "W" => "w",
783 "X" => "x",
784 "Y" => "y",
785 "Z" => "z",
786 "\xc3\x80" => "\xc3\xa0",
787 "\xc3\x81" => "\xc3\xa1",
788 "\xc3\x82" => "\xc3\xa2",
789 "\xc3\x83" => "\xc3\xa3",
790 "\xc3\x84" => "\xc3\xa4",
791 "\xc3\x85" => "\xc3\xa5",
792 "\xc3\x86" => "\xc3\xa6",
793 "\xc3\x87" => "\xc3\xa7",
794 "\xc3\x88" => "\xc3\xa8",
795 "\xc3\x89" => "\xc3\xa9",
796 "\xc3\x8a" => "\xc3\xaa",
797 "\xc3\x8b" => "\xc3\xab",
798 "\xc3\x8c" => "\xc3\xac",
799 "\xc3\x8d" => "\xc3\xad",
800 "\xc3\x8e" => "\xc3\xae",
801 "\xc3\x8f" => "\xc3\xaf",
802 "\xc3\x90" => "\xc3\xb0",
803 "\xc3\x91" => "\xc3\xb1",
804 "\xc3\x92" => "\xc3\xb2",
805 "\xc3\x93" => "\xc3\xb3",
806 "\xc3\x94" => "\xc3\xb4",
807 "\xc3\x95" => "\xc3\xb5",
808 "\xc3\x96" => "\xc3\xb6",
809 "\xc3\x98" => "\xc3\xb8",
810 "\xc3\x99" => "\xc3\xb9",
811 "\xc3\x9a" => "\xc3\xba",
812 "\xc3\x9b" => "\xc3\xbb",
813 "\xc3\x9c" => "\xc3\xbc",
814 "\xc3\x9d" => "\xc3\xbd",
815 "\xc3\x9e" => "\xc3\xbe",
816 "\xc4\x80" => "\xc4\x81",
817 "\xc4\x82" => "\xc4\x83",
818 "\xc4\x84" => "\xc4\x85",
819 "\xc4\x86" => "\xc4\x87",
820 "\xc4\x88" => "\xc4\x89",
821 "\xc4\x8a" => "\xc4\x8b",
822 "\xc4\x8c" => "\xc4\x8d",
823 "\xc4\x8e" => "\xc4\x8f",
824 "\xc4\x90" => "\xc4\x91",
825 "\xc4\x92" => "\xc4\x93",
826 "\xc4\x94" => "\xc4\x95",
827 "\xc4\x96" => "\xc4\x97",
828 "\xc4\x98" => "\xc4\x99",
829 "\xc4\x9a" => "\xc4\x9b",
830 "\xc4\x9c" => "\xc4\x9d",
831 "\xc4\x9e" => "\xc4\x9f",
832 "\xc4\xa0" => "\xc4\xa1",
833 "\xc4\xa2" => "\xc4\xa3",
834 "\xc4\xa4" => "\xc4\xa5",
835 "\xc4\xa6" => "\xc4\xa7",
836 "\xc4\xa8" => "\xc4\xa9",
837 "\xc4\xaa" => "\xc4\xab",
838 "\xc4\xac" => "\xc4\xad",
839 "\xc4\xae" => "\xc4\xaf",
840 "\xc4\xb0" => "i",
841 "\xc4\xb2" => "\xc4\xb3",
842 "\xc4\xb4" => "\xc4\xb5",
843 "\xc4\xb6" => "\xc4\xb7",
844 "\xc4\xb9" => "\xc4\xba",
845 "\xc4\xbb" => "\xc4\xbc",
846 "\xc4\xbd" => "\xc4\xbe",
847 "\xc4\xbf" => "\xc5\x80",
848 "\xc5\x81" => "\xc5\x82",
849 "\xc5\x83" => "\xc5\x84",
850 "\xc5\x85" => "\xc5\x86",
851 "\xc5\x87" => "\xc5\x88",
852 "\xc5\x8a" => "\xc5\x8b",
853 "\xc5\x8c" => "\xc5\x8d",
854 "\xc5\x8e" => "\xc5\x8f",
855 "\xc5\x90" => "\xc5\x91",
856 "\xc5\x92" => "\xc5\x93",
857 "\xc5\x94" => "\xc5\x95",
858 "\xc5\x96" => "\xc5\x97",
859 "\xc5\x98" => "\xc5\x99",
860 "\xc5\x9a" => "\xc5\x9b",
861 "\xc5\x9c" => "\xc5\x9d",
862 "\xc5\x9e" => "\xc5\x9f",
863 "\xc5\xa0" => "\xc5\xa1",
864 "\xc5\xa2" => "\xc5\xa3",
865 "\xc5\xa4" => "\xc5\xa5",
866 "\xc5\xa6" => "\xc5\xa7",
867 "\xc5\xa8" => "\xc5\xa9",
868 "\xc5\xaa" => "\xc5\xab",
869 "\xc5\xac" => "\xc5\xad",
870 "\xc5\xae" => "\xc5\xaf",
871 "\xc5\xb0" => "\xc5\xb1",
872 "\xc5\xb2" => "\xc5\xb3",
873 "\xc5\xb4" => "\xc5\xb5",
874 "\xc5\xb6" => "\xc5\xb7",
875 "\xc5\xb8" => "\xc3\xbf",
876 "\xc5\xb9" => "\xc5\xba",
877 "\xc5\xbb" => "\xc5\xbc",
878 "\xc5\xbd" => "\xc5\xbe",
879 "\xc6\x81" => "\xc9\x93",
880 "\xc6\x82" => "\xc6\x83",
881 "\xc6\x84" => "\xc6\x85",
882 "\xc6\x86" => "\xc9\x94",
883 "\xc6\x87" => "\xc6\x88",
884 "\xc6\x89" => "\xc9\x96",
885 "\xc6\x8a" => "\xc9\x97",
886 "\xc6\x8b" => "\xc6\x8c",
887 "\xc6\x8e" => "\xc7\x9d",
888 "\xc6\x8f" => "\xc9\x99",
889 "\xc6\x90" => "\xc9\x9b",
890 "\xc6\x91" => "\xc6\x92",
891 "\xc6\x93" => "\xc9\xa0",
892 "\xc6\x94" => "\xc9\xa3",
893 "\xc6\x96" => "\xc9\xa9",
894 "\xc6\x97" => "\xc9\xa8",
895 "\xc6\x98" => "\xc6\x99",
896 "\xc6\x9c" => "\xc9\xaf",
897 "\xc6\x9d" => "\xc9\xb2",
898 "\xc6\x9f" => "\xc9\xb5",
899 "\xc6\xa0" => "\xc6\xa1",
900 "\xc6\xa2" => "\xc6\xa3",
901 "\xc6\xa4" => "\xc6\xa5",
902 "\xc6\xa6" => "\xca\x80",
903 "\xc6\xa7" => "\xc6\xa8",
904 "\xc6\xa9" => "\xca\x83",
905 "\xc6\xac" => "\xc6\xad",
906 "\xc6\xae" => "\xca\x88",
907 "\xc6\xaf" => "\xc6\xb0",
908 "\xc6\xb1" => "\xca\x8a",
909 "\xc6\xb2" => "\xca\x8b",
910 "\xc6\xb3" => "\xc6\xb4",
911 "\xc6\xb5" => "\xc6\xb6",
912 "\xc6\xb7" => "\xca\x92",
913 "\xc6\xb8" => "\xc6\xb9",
914 "\xc6\xbc" => "\xc6\xbd",
915 "\xc7\x84" => "\xc7\x86",
916 "\xc7\x85" => "\xc7\x86",
917 "\xc7\x87" => "\xc7\x89",
918 "\xc7\x88" => "\xc7\x89",
919 "\xc7\x8a" => "\xc7\x8c",
920 "\xc7\x8b" => "\xc7\x8c",
921 "\xc7\x8d" => "\xc7\x8e",
922 "\xc7\x8f" => "\xc7\x90",
923 "\xc7\x91" => "\xc7\x92",
924 "\xc7\x93" => "\xc7\x94",
925 "\xc7\x95" => "\xc7\x96",
926 "\xc7\x97" => "\xc7\x98",
927 "\xc7\x99" => "\xc7\x9a",
928 "\xc7\x9b" => "\xc7\x9c",
929 "\xc7\x9e" => "\xc7\x9f",
930 "\xc7\xa0" => "\xc7\xa1",
931 "\xc7\xa2" => "\xc7\xa3",
932 "\xc7\xa4" => "\xc7\xa5",
933 "\xc7\xa6" => "\xc7\xa7",
934 "\xc7\xa8" => "\xc7\xa9",
935 "\xc7\xaa" => "\xc7\xab",
936 "\xc7\xac" => "\xc7\xad",
937 "\xc7\xae" => "\xc7\xaf",
938 "\xc7\xb1" => "\xc7\xb3",
939 "\xc7\xb2" => "\xc7\xb3",
940 "\xc7\xb4" => "\xc7\xb5",
941 "\xc7\xb6" => "\xc6\x95",
942 "\xc7\xb7" => "\xc6\xbf",
943 "\xc7\xb8" => "\xc7\xb9",
944 "\xc7\xba" => "\xc7\xbb",
945 "\xc7\xbc" => "\xc7\xbd",
946 "\xc7\xbe" => "\xc7\xbf",
947 "\xc8\x80" => "\xc8\x81",
948 "\xc8\x82" => "\xc8\x83",
949 "\xc8\x84" => "\xc8\x85",
950 "\xc8\x86" => "\xc8\x87",
951 "\xc8\x88" => "\xc8\x89",
952 "\xc8\x8a" => "\xc8\x8b",
953 "\xc8\x8c" => "\xc8\x8d",
954 "\xc8\x8e" => "\xc8\x8f",
955 "\xc8\x90" => "\xc8\x91",
956 "\xc8\x92" => "\xc8\x93",
957 "\xc8\x94" => "\xc8\x95",
958 "\xc8\x96" => "\xc8\x97",
959 "\xc8\x98" => "\xc8\x99",
960 "\xc8\x9a" => "\xc8\x9b",
961 "\xc8\x9c" => "\xc8\x9d",
962 "\xc8\x9e" => "\xc8\x9f",
963 "\xc8\xa2" => "\xc8\xa3",
964 "\xc8\xa4" => "\xc8\xa5",
965 "\xc8\xa6" => "\xc8\xa7",
966 "\xc8\xa8" => "\xc8\xa9",
967 "\xc8\xaa" => "\xc8\xab",
968 "\xc8\xac" => "\xc8\xad",
969 "\xc8\xae" => "\xc8\xaf",
970 "\xc8\xb0" => "\xc8\xb1",
971 "\xc8\xb2" => "\xc8\xb3",
972 "\xce\x86" => "\xce\xac",
973 "\xce\x88" => "\xce\xad",
974 "\xce\x89" => "\xce\xae",
975 "\xce\x8a" => "\xce\xaf",
976 "\xce\x8c" => "\xcf\x8c",
977 "\xce\x8e" => "\xcf\x8d",
978 "\xce\x8f" => "\xcf\x8e",
979 "\xce\x91" => "\xce\xb1",
980 "\xce\x92" => "\xce\xb2",
981 "\xce\x93" => "\xce\xb3",
982 "\xce\x94" => "\xce\xb4",
983 "\xce\x95" => "\xce\xb5",
984 "\xce\x96" => "\xce\xb6",
985 "\xce\x97" => "\xce\xb7",
986 "\xce\x98" => "\xce\xb8",
987 "\xce\x99" => "\xce\xb9",
988 "\xce\x9a" => "\xce\xba",
989 "\xce\x9b" => "\xce\xbb",
990 "\xce\x9c" => "\xce\xbc",
991 "\xce\x9d" => "\xce\xbd",
992 "\xce\x9e" => "\xce\xbe",
993 "\xce\x9f" => "\xce\xbf",
994 "\xce\xa0" => "\xcf\x80",
995 "\xce\xa1" => "\xcf\x81",
996 "\xce\xa3" => "\xcf\x83",
997 "\xce\xa4" => "\xcf\x84",
998 "\xce\xa5" => "\xcf\x85",
999 "\xce\xa6" => "\xcf\x86",
1000 "\xce\xa7" => "\xcf\x87",
1001 "\xce\xa8" => "\xcf\x88",
1002 "\xce\xa9" => "\xcf\x89",
1003 "\xce\xaa" => "\xcf\x8a",
1004 "\xce\xab" => "\xcf\x8b",
1005 "\xcf\x9a" => "\xcf\x9b",
1006 "\xcf\x9c" => "\xcf\x9d",
1007 "\xcf\x9e" => "\xcf\x9f",
1008 "\xcf\xa0" => "\xcf\xa1",
1009 "\xcf\xa2" => "\xcf\xa3",
1010 "\xcf\xa4" => "\xcf\xa5",
1011 "\xcf\xa6" => "\xcf\xa7",
1012 "\xcf\xa8" => "\xcf\xa9",
1013 "\xcf\xaa" => "\xcf\xab",
1014 "\xcf\xac" => "\xcf\xad",
1015 "\xcf\xae" => "\xcf\xaf",
1016 "\xcf\xb4" => "\xce\xb8",
1017 "\xd0\x80" => "\xd1\x90",
1018 "\xd0\x81" => "\xd1\x91",
1019 "\xd0\x82" => "\xd1\x92",
1020 "\xd0\x83" => "\xd1\x93",
1021 "\xd0\x84" => "\xd1\x94",
1022 "\xd0\x85" => "\xd1\x95",
1023 "\xd0\x86" => "\xd1\x96",
1024 "\xd0\x87" => "\xd1\x97",
1025 "\xd0\x88" => "\xd1\x98",
1026 "\xd0\x89" => "\xd1\x99",
1027 "\xd0\x8a" => "\xd1\x9a",
1028 "\xd0\x8b" => "\xd1\x9b",
1029 "\xd0\x8c" => "\xd1\x9c",
1030 "\xd0\x8d" => "\xd1\x9d",
1031 "\xd0\x8e" => "\xd1\x9e",
1032 "\xd0\x8f" => "\xd1\x9f",
1033 "\xd0\x90" => "\xd0\xb0",
1034 "\xd0\x91" => "\xd0\xb1",
1035 "\xd0\x92" => "\xd0\xb2",
1036 "\xd0\x93" => "\xd0\xb3",
1037 "\xd0\x94" => "\xd0\xb4",
1038 "\xd0\x95" => "\xd0\xb5",
1039 "\xd0\x96" => "\xd0\xb6",
1040 "\xd0\x97" => "\xd0\xb7",
1041 "\xd0\x98" => "\xd0\xb8",
1042 "\xd0\x99" => "\xd0\xb9",
1043 "\xd0\x9a" => "\xd0\xba",
1044 "\xd0\x9b" => "\xd0\xbb",
1045 "\xd0\x9c" => "\xd0\xbc",
1046 "\xd0\x9d" => "\xd0\xbd",
1047 "\xd0\x9e" => "\xd0\xbe",
1048 "\xd0\x9f" => "\xd0\xbf",
1049 "\xd0\xa0" => "\xd1\x80",
1050 "\xd0\xa1" => "\xd1\x81",
1051 "\xd0\xa2" => "\xd1\x82",
1052 "\xd0\xa3" => "\xd1\x83",
1053 "\xd0\xa4" => "\xd1\x84",
1054 "\xd0\xa5" => "\xd1\x85",
1055 "\xd0\xa6" => "\xd1\x86",
1056 "\xd0\xa7" => "\xd1\x87",
1057 "\xd0\xa8" => "\xd1\x88",
1058 "\xd0\xa9" => "\xd1\x89",
1059 "\xd0\xaa" => "\xd1\x8a",
1060 "\xd0\xab" => "\xd1\x8b",
1061 "\xd0\xac" => "\xd1\x8c",
1062 "\xd0\xad" => "\xd1\x8d",
1063 "\xd0\xae" => "\xd1\x8e",
1064 "\xd0\xaf" => "\xd1\x8f",
1065 "\xd1\xa0" => "\xd1\xa1",
1066 "\xd1\xa2" => "\xd1\xa3",
1067 "\xd1\xa4" => "\xd1\xa5",
1068 "\xd1\xa6" => "\xd1\xa7",
1069 "\xd1\xa8" => "\xd1\xa9",
1070 "\xd1\xaa" => "\xd1\xab",
1071 "\xd1\xac" => "\xd1\xad",
1072 "\xd1\xae" => "\xd1\xaf",
1073 "\xd1\xb0" => "\xd1\xb1",
1074 "\xd1\xb2" => "\xd1\xb3",
1075 "\xd1\xb4" => "\xd1\xb5",
1076 "\xd1\xb6" => "\xd1\xb7",
1077 "\xd1\xb8" => "\xd1\xb9",
1078 "\xd1\xba" => "\xd1\xbb",
1079 "\xd1\xbc" => "\xd1\xbd",
1080 "\xd1\xbe" => "\xd1\xbf",
1081 "\xd2\x80" => "\xd2\x81",
1082 "\xd2\x8c" => "\xd2\x8d",
1083 "\xd2\x8e" => "\xd2\x8f",
1084 "\xd2\x90" => "\xd2\x91",
1085 "\xd2\x92" => "\xd2\x93",
1086 "\xd2\x94" => "\xd2\x95",
1087 "\xd2\x96" => "\xd2\x97",
1088 "\xd2\x98" => "\xd2\x99",
1089 "\xd2\x9a" => "\xd2\x9b",
1090 "\xd2\x9c" => "\xd2\x9d",
1091 "\xd2\x9e" => "\xd2\x9f",
1092 "\xd2\xa0" => "\xd2\xa1",
1093 "\xd2\xa2" => "\xd2\xa3",
1094 "\xd2\xa4" => "\xd2\xa5",
1095 "\xd2\xa6" => "\xd2\xa7",
1096 "\xd2\xa8" => "\xd2\xa9",
1097 "\xd2\xaa" => "\xd2\xab",
1098 "\xd2\xac" => "\xd2\xad",
1099 "\xd2\xae" => "\xd2\xaf",
1100 "\xd2\xb0" => "\xd2\xb1",
1101 "\xd2\xb2" => "\xd2\xb3",
1102 "\xd2\xb4" => "\xd2\xb5",
1103 "\xd2\xb6" => "\xd2\xb7",
1104 "\xd2\xb8" => "\xd2\xb9",
1105 "\xd2\xba" => "\xd2\xbb",
1106 "\xd2\xbc" => "\xd2\xbd",
1107 "\xd2\xbe" => "\xd2\xbf",
1108 "\xd3\x81" => "\xd3\x82",
1109 "\xd3\x83" => "\xd3\x84",
1110 "\xd3\x87" => "\xd3\x88",
1111 "\xd3\x8b" => "\xd3\x8c",
1112 "\xd3\x90" => "\xd3\x91",
1113 "\xd3\x92" => "\xd3\x93",
1114 "\xd3\x94" => "\xd3\x95",
1115 "\xd3\x96" => "\xd3\x97",
1116 "\xd3\x98" => "\xd3\x99",
1117 "\xd3\x9a" => "\xd3\x9b",
1118 "\xd3\x9c" => "\xd3\x9d",
1119 "\xd3\x9e" => "\xd3\x9f",
1120 "\xd3\xa0" => "\xd3\xa1",
1121 "\xd3\xa2" => "\xd3\xa3",
1122 "\xd3\xa4" => "\xd3\xa5",
1123 "\xd3\xa6" => "\xd3\xa7",
1124 "\xd3\xa8" => "\xd3\xa9",
1125 "\xd3\xaa" => "\xd3\xab",
1126 "\xd3\xac" => "\xd3\xad",
1127 "\xd3\xae" => "\xd3\xaf",
1128 "\xd3\xb0" => "\xd3\xb1",
1129 "\xd3\xb2" => "\xd3\xb3",
1130 "\xd3\xb4" => "\xd3\xb5",
1131 "\xd3\xb8" => "\xd3\xb9",
1132 "\xd4\xb1" => "\xd5\xa1",
1133 "\xd4\xb2" => "\xd5\xa2",
1134 "\xd4\xb3" => "\xd5\xa3",
1135 "\xd4\xb4" => "\xd5\xa4",
1136 "\xd4\xb5" => "\xd5\xa5",
1137 "\xd4\xb6" => "\xd5\xa6",
1138 "\xd4\xb7" => "\xd5\xa7",
1139 "\xd4\xb8" => "\xd5\xa8",
1140 "\xd4\xb9" => "\xd5\xa9",
1141 "\xd4\xba" => "\xd5\xaa",
1142 "\xd4\xbb" => "\xd5\xab",
1143 "\xd4\xbc" => "\xd5\xac",
1144 "\xd4\xbd" => "\xd5\xad",
1145 "\xd4\xbe" => "\xd5\xae",
1146 "\xd4\xbf" => "\xd5\xaf",
1147 "\xd5\x80" => "\xd5\xb0",
1148 "\xd5\x81" => "\xd5\xb1",
1149 "\xd5\x82" => "\xd5\xb2",
1150 "\xd5\x83" => "\xd5\xb3",
1151 "\xd5\x84" => "\xd5\xb4",
1152 "\xd5\x85" => "\xd5\xb5",
1153 "\xd5\x86" => "\xd5\xb6",
1154 "\xd5\x87" => "\xd5\xb7",
1155 "\xd5\x88" => "\xd5\xb8",
1156 "\xd5\x89" => "\xd5\xb9",
1157 "\xd5\x8a" => "\xd5\xba",
1158 "\xd5\x8b" => "\xd5\xbb",
1159 "\xd5\x8c" => "\xd5\xbc",
1160 "\xd5\x8d" => "\xd5\xbd",
1161 "\xd5\x8e" => "\xd5\xbe",
1162 "\xd5\x8f" => "\xd5\xbf",
1163 "\xd5\x90" => "\xd6\x80",
1164 "\xd5\x91" => "\xd6\x81",
1165 "\xd5\x92" => "\xd6\x82",
1166 "\xd5\x93" => "\xd6\x83",
1167 "\xd5\x94" => "\xd6\x84",
1168 "\xd5\x95" => "\xd6\x85",
1169 "\xd5\x96" => "\xd6\x86",
1170 "\xe1\xb8\x80" => "\xe1\xb8\x81",
1171 "\xe1\xb8\x82" => "\xe1\xb8\x83",
1172 "\xe1\xb8\x84" => "\xe1\xb8\x85",
1173 "\xe1\xb8\x86" => "\xe1\xb8\x87",
1174 "\xe1\xb8\x88" => "\xe1\xb8\x89",
1175 "\xe1\xb8\x8a" => "\xe1\xb8\x8b",
1176 "\xe1\xb8\x8c" => "\xe1\xb8\x8d",
1177 "\xe1\xb8\x8e" => "\xe1\xb8\x8f",
1178 "\xe1\xb8\x90" => "\xe1\xb8\x91",
1179 "\xe1\xb8\x92" => "\xe1\xb8\x93",
1180 "\xe1\xb8\x94" => "\xe1\xb8\x95",
1181 "\xe1\xb8\x96" => "\xe1\xb8\x97",
1182 "\xe1\xb8\x98" => "\xe1\xb8\x99",
1183 "\xe1\xb8\x9a" => "\xe1\xb8\x9b",
1184 "\xe1\xb8\x9c" => "\xe1\xb8\x9d",
1185 "\xe1\xb8\x9e" => "\xe1\xb8\x9f",
1186 "\xe1\xb8\xa0" => "\xe1\xb8\xa1",
1187 "\xe1\xb8\xa2" => "\xe1\xb8\xa3",
1188 "\xe1\xb8\xa4" => "\xe1\xb8\xa5",
1189 "\xe1\xb8\xa6" => "\xe1\xb8\xa7",
1190 "\xe1\xb8\xa8" => "\xe1\xb8\xa9",
1191 "\xe1\xb8\xaa" => "\xe1\xb8\xab",
1192 "\xe1\xb8\xac" => "\xe1\xb8\xad",
1193 "\xe1\xb8\xae" => "\xe1\xb8\xaf",
1194 "\xe1\xb8\xb0" => "\xe1\xb8\xb1",
1195 "\xe1\xb8\xb2" => "\xe1\xb8\xb3",
1196 "\xe1\xb8\xb4" => "\xe1\xb8\xb5",
1197 "\xe1\xb8\xb6" => "\xe1\xb8\xb7",
1198 "\xe1\xb8\xb8" => "\xe1\xb8\xb9",
1199 "\xe1\xb8\xba" => "\xe1\xb8\xbb",
1200 "\xe1\xb8\xbc" => "\xe1\xb8\xbd",
1201 "\xe1\xb8\xbe" => "\xe1\xb8\xbf",
1202 "\xe1\xb9\x80" => "\xe1\xb9\x81",
1203 "\xe1\xb9\x82" => "\xe1\xb9\x83",
1204 "\xe1\xb9\x84" => "\xe1\xb9\x85",
1205 "\xe1\xb9\x86" => "\xe1\xb9\x87",
1206 "\xe1\xb9\x88" => "\xe1\xb9\x89",
1207 "\xe1\xb9\x8a" => "\xe1\xb9\x8b",
1208 "\xe1\xb9\x8c" => "\xe1\xb9\x8d",
1209 "\xe1\xb9\x8e" => "\xe1\xb9\x8f",
1210 "\xe1\xb9\x90" => "\xe1\xb9\x91",
1211 "\xe1\xb9\x92" => "\xe1\xb9\x93",
1212 "\xe1\xb9\x94" => "\xe1\xb9\x95",
1213 "\xe1\xb9\x96" => "\xe1\xb9\x97",
1214 "\xe1\xb9\x98" => "\xe1\xb9\x99",
1215 "\xe1\xb9\x9a" => "\xe1\xb9\x9b",
1216 "\xe1\xb9\x9c" => "\xe1\xb9\x9d",
1217 "\xe1\xb9\x9e" => "\xe1\xb9\x9f",
1218 "\xe1\xb9\xa0" => "\xe1\xb9\xa1",
1219 "\xe1\xb9\xa2" => "\xe1\xb9\xa3",
1220 "\xe1\xb9\xa4" => "\xe1\xb9\xa5",
1221 "\xe1\xb9\xa6" => "\xe1\xb9\xa7",
1222 "\xe1\xb9\xa8" => "\xe1\xb9\xa9",
1223 "\xe1\xb9\xaa" => "\xe1\xb9\xab",
1224 "\xe1\xb9\xac" => "\xe1\xb9\xad",
1225 "\xe1\xb9\xae" => "\xe1\xb9\xaf",
1226 "\xe1\xb9\xb0" => "\xe1\xb9\xb1",
1227 "\xe1\xb9\xb2" => "\xe1\xb9\xb3",
1228 "\xe1\xb9\xb4" => "\xe1\xb9\xb5",
1229 "\xe1\xb9\xb6" => "\xe1\xb9\xb7",
1230 "\xe1\xb9\xb8" => "\xe1\xb9\xb9",
1231 "\xe1\xb9\xba" => "\xe1\xb9\xbb",
1232 "\xe1\xb9\xbc" => "\xe1\xb9\xbd",
1233 "\xe1\xb9\xbe" => "\xe1\xb9\xbf",
1234 "\xe1\xba\x80" => "\xe1\xba\x81",
1235 "\xe1\xba\x82" => "\xe1\xba\x83",
1236 "\xe1\xba\x84" => "\xe1\xba\x85",
1237 "\xe1\xba\x86" => "\xe1\xba\x87",
1238 "\xe1\xba\x88" => "\xe1\xba\x89",
1239 "\xe1\xba\x8a" => "\xe1\xba\x8b",
1240 "\xe1\xba\x8c" => "\xe1\xba\x8d",
1241 "\xe1\xba\x8e" => "\xe1\xba\x8f",
1242 "\xe1\xba\x90" => "\xe1\xba\x91",
1243 "\xe1\xba\x92" => "\xe1\xba\x93",
1244 "\xe1\xba\x94" => "\xe1\xba\x95",
1245 "\xe1\xba\xa0" => "\xe1\xba\xa1",
1246 "\xe1\xba\xa2" => "\xe1\xba\xa3",
1247 "\xe1\xba\xa4" => "\xe1\xba\xa5",
1248 "\xe1\xba\xa6" => "\xe1\xba\xa7",
1249 "\xe1\xba\xa8" => "\xe1\xba\xa9",
1250 "\xe1\xba\xaa" => "\xe1\xba\xab",
1251 "\xe1\xba\xac" => "\xe1\xba\xad",
1252 "\xe1\xba\xae" => "\xe1\xba\xaf",
1253 "\xe1\xba\xb0" => "\xe1\xba\xb1",
1254 "\xe1\xba\xb2" => "\xe1\xba\xb3",
1255 "\xe1\xba\xb4" => "\xe1\xba\xb5",
1256 "\xe1\xba\xb6" => "\xe1\xba\xb7",
1257 "\xe1\xba\xb8" => "\xe1\xba\xb9",
1258 "\xe1\xba\xba" => "\xe1\xba\xbb",
1259 "\xe1\xba\xbc" => "\xe1\xba\xbd",
1260 "\xe1\xba\xbe" => "\xe1\xba\xbf",
1261 "\xe1\xbb\x80" => "\xe1\xbb\x81",
1262 "\xe1\xbb\x82" => "\xe1\xbb\x83",
1263 "\xe1\xbb\x84" => "\xe1\xbb\x85",
1264 "\xe1\xbb\x86" => "\xe1\xbb\x87",
1265 "\xe1\xbb\x88" => "\xe1\xbb\x89",
1266 "\xe1\xbb\x8a" => "\xe1\xbb\x8b",
1267 "\xe1\xbb\x8c" => "\xe1\xbb\x8d",
1268 "\xe1\xbb\x8e" => "\xe1\xbb\x8f",
1269 "\xe1\xbb\x90" => "\xe1\xbb\x91",
1270 "\xe1\xbb\x92" => "\xe1\xbb\x93",
1271 "\xe1\xbb\x94" => "\xe1\xbb\x95",
1272 "\xe1\xbb\x96" => "\xe1\xbb\x97",
1273 "\xe1\xbb\x98" => "\xe1\xbb\x99",
1274 "\xe1\xbb\x9a" => "\xe1\xbb\x9b",
1275 "\xe1\xbb\x9c" => "\xe1\xbb\x9d",
1276 "\xe1\xbb\x9e" => "\xe1\xbb\x9f",
1277 "\xe1\xbb\xa0" => "\xe1\xbb\xa1",
1278 "\xe1\xbb\xa2" => "\xe1\xbb\xa3",
1279 "\xe1\xbb\xa4" => "\xe1\xbb\xa5",
1280 "\xe1\xbb\xa6" => "\xe1\xbb\xa7",
1281 "\xe1\xbb\xa8" => "\xe1\xbb\xa9",
1282 "\xe1\xbb\xaa" => "\xe1\xbb\xab",
1283 "\xe1\xbb\xac" => "\xe1\xbb\xad",
1284 "\xe1\xbb\xae" => "\xe1\xbb\xaf",
1285 "\xe1\xbb\xb0" => "\xe1\xbb\xb1",
1286 "\xe1\xbb\xb2" => "\xe1\xbb\xb3",
1287 "\xe1\xbb\xb4" => "\xe1\xbb\xb5",
1288 "\xe1\xbb\xb6" => "\xe1\xbb\xb7",
1289 "\xe1\xbb\xb8" => "\xe1\xbb\xb9",
1290 "\xe1\xbc\x88" => "\xe1\xbc\x80",
1291 "\xe1\xbc\x89" => "\xe1\xbc\x81",
1292 "\xe1\xbc\x8a" => "\xe1\xbc\x82",
1293 "\xe1\xbc\x8b" => "\xe1\xbc\x83",
1294 "\xe1\xbc\x8c" => "\xe1\xbc\x84",
1295 "\xe1\xbc\x8d" => "\xe1\xbc\x85",
1296 "\xe1\xbc\x8e" => "\xe1\xbc\x86",
1297 "\xe1\xbc\x8f" => "\xe1\xbc\x87",
1298 "\xe1\xbc\x98" => "\xe1\xbc\x90",
1299 "\xe1\xbc\x99" => "\xe1\xbc\x91",
1300 "\xe1\xbc\x9a" => "\xe1\xbc\x92",
1301 "\xe1\xbc\x9b" => "\xe1\xbc\x93",
1302 "\xe1\xbc\x9c" => "\xe1\xbc\x94",
1303 "\xe1\xbc\x9d" => "\xe1\xbc\x95",
1304 "\xe1\xbc\xa8" => "\xe1\xbc\xa0",
1305 "\xe1\xbc\xa9" => "\xe1\xbc\xa1",
1306 "\xe1\xbc\xaa" => "\xe1\xbc\xa2",
1307 "\xe1\xbc\xab" => "\xe1\xbc\xa3",
1308 "\xe1\xbc\xac" => "\xe1\xbc\xa4",
1309 "\xe1\xbc\xad" => "\xe1\xbc\xa5",
1310 "\xe1\xbc\xae" => "\xe1\xbc\xa6",
1311 "\xe1\xbc\xaf" => "\xe1\xbc\xa7",
1312 "\xe1\xbc\xb8" => "\xe1\xbc\xb0",
1313 "\xe1\xbc\xb9" => "\xe1\xbc\xb1",
1314 "\xe1\xbc\xba" => "\xe1\xbc\xb2",
1315 "\xe1\xbc\xbb" => "\xe1\xbc\xb3",
1316 "\xe1\xbc\xbc" => "\xe1\xbc\xb4",
1317 "\xe1\xbc\xbd" => "\xe1\xbc\xb5",
1318 "\xe1\xbc\xbe" => "\xe1\xbc\xb6",
1319 "\xe1\xbc\xbf" => "\xe1\xbc\xb7",
1320 "\xe1\xbd\x88" => "\xe1\xbd\x80",
1321 "\xe1\xbd\x89" => "\xe1\xbd\x81",
1322 "\xe1\xbd\x8a" => "\xe1\xbd\x82",
1323 "\xe1\xbd\x8b" => "\xe1\xbd\x83",
1324 "\xe1\xbd\x8c" => "\xe1\xbd\x84",
1325 "\xe1\xbd\x8d" => "\xe1\xbd\x85",
1326 "\xe1\xbd\x99" => "\xe1\xbd\x91",
1327 "\xe1\xbd\x9b" => "\xe1\xbd\x93",
1328 "\xe1\xbd\x9d" => "\xe1\xbd\x95",
1329 "\xe1\xbd\x9f" => "\xe1\xbd\x97",
1330 "\xe1\xbd\xa8" => "\xe1\xbd\xa0",
1331 "\xe1\xbd\xa9" => "\xe1\xbd\xa1",
1332 "\xe1\xbd\xaa" => "\xe1\xbd\xa2",
1333 "\xe1\xbd\xab" => "\xe1\xbd\xa3",
1334 "\xe1\xbd\xac" => "\xe1\xbd\xa4",
1335 "\xe1\xbd\xad" => "\xe1\xbd\xa5",
1336 "\xe1\xbd\xae" => "\xe1\xbd\xa6",
1337 "\xe1\xbd\xaf" => "\xe1\xbd\xa7",
1338 "\xe1\xbe\x88" => "\xe1\xbe\x80",
1339 "\xe1\xbe\x89" => "\xe1\xbe\x81",
1340 "\xe1\xbe\x8a" => "\xe1\xbe\x82",
1341 "\xe1\xbe\x8b" => "\xe1\xbe\x83",
1342 "\xe1\xbe\x8c" => "\xe1\xbe\x84",
1343 "\xe1\xbe\x8d" => "\xe1\xbe\x85",
1344 "\xe1\xbe\x8e" => "\xe1\xbe\x86",
1345 "\xe1\xbe\x8f" => "\xe1\xbe\x87",
1346 "\xe1\xbe\x98" => "\xe1\xbe\x90",
1347 "\xe1\xbe\x99" => "\xe1\xbe\x91",
1348 "\xe1\xbe\x9a" => "\xe1\xbe\x92",
1349 "\xe1\xbe\x9b" => "\xe1\xbe\x93",
1350 "\xe1\xbe\x9c" => "\xe1\xbe\x94",
1351 "\xe1\xbe\x9d" => "\xe1\xbe\x95",
1352 "\xe1\xbe\x9e" => "\xe1\xbe\x96",
1353 "\xe1\xbe\x9f" => "\xe1\xbe\x97",
1354 "\xe1\xbe\xa8" => "\xe1\xbe\xa0",
1355 "\xe1\xbe\xa9" => "\xe1\xbe\xa1",
1356 "\xe1\xbe\xaa" => "\xe1\xbe\xa2",
1357 "\xe1\xbe\xab" => "\xe1\xbe\xa3",
1358 "\xe1\xbe\xac" => "\xe1\xbe\xa4",
1359 "\xe1\xbe\xad" => "\xe1\xbe\xa5",
1360 "\xe1\xbe\xae" => "\xe1\xbe\xa6",
1361 "\xe1\xbe\xaf" => "\xe1\xbe\xa7",
1362 "\xe1\xbe\xb8" => "\xe1\xbe\xb0",
1363 "\xe1\xbe\xb9" => "\xe1\xbe\xb1",
1364 "\xe1\xbe\xba" => "\xe1\xbd\xb0",
1365 "\xe1\xbe\xbb" => "\xe1\xbd\xb1",
1366 "\xe1\xbe\xbc" => "\xe1\xbe\xb3",
1367 "\xe1\xbf\x88" => "\xe1\xbd\xb2",
1368 "\xe1\xbf\x89" => "\xe1\xbd\xb3",
1369 "\xe1\xbf\x8a" => "\xe1\xbd\xb4",
1370 "\xe1\xbf\x8b" => "\xe1\xbd\xb5",
1371 "\xe1\xbf\x8c" => "\xe1\xbf\x83",
1372 "\xe1\xbf\x98" => "\xe1\xbf\x90",
1373 "\xe1\xbf\x99" => "\xe1\xbf\x91",
1374 "\xe1\xbf\x9a" => "\xe1\xbd\xb6",
1375 "\xe1\xbf\x9b" => "\xe1\xbd\xb7",
1376 "\xe1\xbf\xa8" => "\xe1\xbf\xa0",
1377 "\xe1\xbf\xa9" => "\xe1\xbf\xa1",
1378 "\xe1\xbf\xaa" => "\xe1\xbd\xba",
1379 "\xe1\xbf\xab" => "\xe1\xbd\xbb",
1380 "\xe1\xbf\xac" => "\xe1\xbf\xa5",
1381 "\xe1\xbf\xb8" => "\xe1\xbd\xb8",
1382 "\xe1\xbf\xb9" => "\xe1\xbd\xb9",
1383 "\xe1\xbf\xba" => "\xe1\xbd\xbc",
1384 "\xe1\xbf\xbb" => "\xe1\xbd\xbd",
1385 "\xe1\xbf\xbc" => "\xe1\xbf\xb3",
1386 "\xe2\x84\xa6" => "\xcf\x89",
1387 "\xe2\x84\xaa" => "k",
1388 "\xe2\x84\xab" => "\xc3\xa5",
1389 "\xe2\x85\xa0" => "\xe2\x85\xb0",
1390 "\xe2\x85\xa1" => "\xe2\x85\xb1",
1391 "\xe2\x85\xa2" => "\xe2\x85\xb2",
1392 "\xe2\x85\xa3" => "\xe2\x85\xb3",
1393 "\xe2\x85\xa4" => "\xe2\x85\xb4",
1394 "\xe2\x85\xa5" => "\xe2\x85\xb5",
1395 "\xe2\x85\xa6" => "\xe2\x85\xb6",
1396 "\xe2\x85\xa7" => "\xe2\x85\xb7",
1397 "\xe2\x85\xa8" => "\xe2\x85\xb8",
1398 "\xe2\x85\xa9" => "\xe2\x85\xb9",
1399 "\xe2\x85\xaa" => "\xe2\x85\xba",
1400 "\xe2\x85\xab" => "\xe2\x85\xbb",
1401 "\xe2\x85\xac" => "\xe2\x85\xbc",
1402 "\xe2\x85\xad" => "\xe2\x85\xbd",
1403 "\xe2\x85\xae" => "\xe2\x85\xbe",
1404 "\xe2\x85\xaf" => "\xe2\x85\xbf",
1405 "\xe2\x92\xb6" => "\xe2\x93\x90",
1406 "\xe2\x92\xb7" => "\xe2\x93\x91",
1407 "\xe2\x92\xb8" => "\xe2\x93\x92",
1408 "\xe2\x92\xb9" => "\xe2\x93\x93",
1409 "\xe2\x92\xba" => "\xe2\x93\x94",
1410 "\xe2\x92\xbb" => "\xe2\x93\x95",
1411 "\xe2\x92\xbc" => "\xe2\x93\x96",
1412 "\xe2\x92\xbd" => "\xe2\x93\x97",
1413 "\xe2\x92\xbe" => "\xe2\x93\x98",
1414 "\xe2\x92\xbf" => "\xe2\x93\x99",
1415 "\xe2\x93\x80" => "\xe2\x93\x9a",
1416 "\xe2\x93\x81" => "\xe2\x93\x9b",
1417 "\xe2\x93\x82" => "\xe2\x93\x9c",
1418 "\xe2\x93\x83" => "\xe2\x93\x9d",
1419 "\xe2\x93\x84" => "\xe2\x93\x9e",
1420 "\xe2\x93\x85" => "\xe2\x93\x9f",
1421 "\xe2\x93\x86" => "\xe2\x93\xa0",
1422 "\xe2\x93\x87" => "\xe2\x93\xa1",
1423 "\xe2\x93\x88" => "\xe2\x93\xa2",
1424 "\xe2\x93\x89" => "\xe2\x93\xa3",
1425 "\xe2\x93\x8a" => "\xe2\x93\xa4",
1426 "\xe2\x93\x8b" => "\xe2\x93\xa5",
1427 "\xe2\x93\x8c" => "\xe2\x93\xa6",
1428 "\xe2\x93\x8d" => "\xe2\x93\xa7",
1429 "\xe2\x93\x8e" => "\xe2\x93\xa8",
1430 "\xe2\x93\x8f" => "\xe2\x93\xa9",
1431 "\xef\xbc\xa1" => "\xef\xbd\x81",
1432 "\xef\xbc\xa2" => "\xef\xbd\x82",
1433 "\xef\xbc\xa3" => "\xef\xbd\x83",
1434 "\xef\xbc\xa4" => "\xef\xbd\x84",
1435 "\xef\xbc\xa5" => "\xef\xbd\x85",
1436 "\xef\xbc\xa6" => "\xef\xbd\x86",
1437 "\xef\xbc\xa7" => "\xef\xbd\x87",
1438 "\xef\xbc\xa8" => "\xef\xbd\x88",
1439 "\xef\xbc\xa9" => "\xef\xbd\x89",
1440 "\xef\xbc\xaa" => "\xef\xbd\x8a",
1441 "\xef\xbc\xab" => "\xef\xbd\x8b",
1442 "\xef\xbc\xac" => "\xef\xbd\x8c",
1443 "\xef\xbc\xad" => "\xef\xbd\x8d",
1444 "\xef\xbc\xae" => "\xef\xbd\x8e",
1445 "\xef\xbc\xaf" => "\xef\xbd\x8f",
1446 "\xef\xbc\xb0" => "\xef\xbd\x90",
1447 "\xef\xbc\xb1" => "\xef\xbd\x91",
1448 "\xef\xbc\xb2" => "\xef\xbd\x92",
1449 "\xef\xbc\xb3" => "\xef\xbd\x93",
1450 "\xef\xbc\xb4" => "\xef\xbd\x94",
1451 "\xef\xbc\xb5" => "\xef\xbd\x95",
1452 "\xef\xbc\xb6" => "\xef\xbd\x96",
1453 "\xef\xbc\xb7" => "\xef\xbd\x97",
1454 "\xef\xbc\xb8" => "\xef\xbd\x98",
1455 "\xef\xbc\xb9" => "\xef\xbd\x99",
1456 "\xef\xbc\xba" => "\xef\xbd\x9a",
1457 "\xf0\x90\x90\x80" => "\xf0\x90\x90\xa8",
1458 "\xf0\x90\x90\x81" => "\xf0\x90\x90\xa9",
1459 "\xf0\x90\x90\x82" => "\xf0\x90\x90\xaa",
1460 "\xf0\x90\x90\x83" => "\xf0\x90\x90\xab",
1461 "\xf0\x90\x90\x84" => "\xf0\x90\x90\xac",
1462 "\xf0\x90\x90\x85" => "\xf0\x90\x90\xad",
1463 "\xf0\x90\x90\x86" => "\xf0\x90\x90\xae",
1464 "\xf0\x90\x90\x87" => "\xf0\x90\x90\xaf",
1465 "\xf0\x90\x90\x88" => "\xf0\x90\x90\xb0",
1466 "\xf0\x90\x90\x89" => "\xf0\x90\x90\xb1",
1467 "\xf0\x90\x90\x8a" => "\xf0\x90\x90\xb2",
1468 "\xf0\x90\x90\x8b" => "\xf0\x90\x90\xb3",
1469 "\xf0\x90\x90\x8c" => "\xf0\x90\x90\xb4",
1470 "\xf0\x90\x90\x8d" => "\xf0\x90\x90\xb5",
1471 "\xf0\x90\x90\x8e" => "\xf0\x90\x90\xb6",
1472 "\xf0\x90\x90\x8f" => "\xf0\x90\x90\xb7",
1473 "\xf0\x90\x90\x90" => "\xf0\x90\x90\xb8",
1474 "\xf0\x90\x90\x91" => "\xf0\x90\x90\xb9",
1475 "\xf0\x90\x90\x92" => "\xf0\x90\x90\xba",
1476 "\xf0\x90\x90\x93" => "\xf0\x90\x90\xbb",
1477 "\xf0\x90\x90\x94" => "\xf0\x90\x90\xbc",
1478 "\xf0\x90\x90\x95" => "\xf0\x90\x90\xbd",
1479 "\xf0\x90\x90\x96" => "\xf0\x90\x90\xbe",
1480 "\xf0\x90\x90\x97" => "\xf0\x90\x90\xbf",
1481 "\xf0\x90\x90\x98" => "\xf0\x90\x91\x80",
1482 "\xf0\x90\x90\x99" => "\xf0\x90\x91\x81",
1483 "\xf0\x90\x90\x9a" => "\xf0\x90\x91\x82",
1484 "\xf0\x90\x90\x9b" => "\xf0\x90\x91\x83",
1485 "\xf0\x90\x90\x9c" => "\xf0\x90\x91\x84",
1486 "\xf0\x90\x90\x9d" => "\xf0\x90\x91\x85",
1487 "\xf0\x90\x90\x9e" => "\xf0\x90\x91\x86",
1488 "\xf0\x90\x90\x9f" => "\xf0\x90\x91\x87",
1489 "\xf0\x90\x90\xa0" => "\xf0\x90\x91\x88",
1490 "\xf0\x90\x90\xa1" => "\xf0\x90\x91\x89",
1491 "\xf0\x90\x90\xa2" => "\xf0\x90\x91\x8a",
1492 "\xf0\x90\x90\xa3" => "\xf0\x90\x91\x8b",
1493 "\xf0\x90\x90\xa4" => "\xf0\x90\x91\x8c",
1494 "\xf0\x90\x90\xa5" => "\xf0\x90\x91\x8d"
1495 );
1496
1497 # Base stuff useful to all UTF-8 based language files
1498 class LanguageUtf8 extends Language {
1499
1500 function ucfirst( $string ) {
1501 # For most languages, this is a wrapper for ucfirst()
1502 # But that doesn't work right in a UTF-8 locale
1503 global $wikiUpperChars, $wikiLowerChars;
1504 return preg_replace (
1505 "/^([\\x00-\\x7f]|[\\xc0-\\xff][\\x80-\\xbf]*)/e",
1506 "strtr ( \"\$1\" , \$wikiUpperChars )",
1507 $string );
1508 }
1509
1510 function stripForSearch( $string ) {
1511 # MySQL fulltext index doesn't grok utf-8, so we
1512 # need to fold cases and convert to hex
1513 global $wikiLowerChars;
1514 return preg_replace(
1515 "/([\\xc0-\\xff][\\x80-\\xbf]*)/e",
1516 "'U8' . bin2hex( strtr( \"\$1\", \$wikiLowerChars ) )",
1517 $string );
1518 }
1519
1520 function fallback8bitEncoding() {
1521 # Windows codepage 1252 is a superset of iso 8859-1
1522 # override this to use difference source encoding to
1523 # translate incoming 8-bit URLs.
1524 return "windows-1252";
1525 }
1526
1527 function checkTitleEncoding( $s ) {
1528 global $wgInputEncoding;
1529
1530 # Check for non-UTF-8 URLs
1531 $ishigh = preg_match( '/[\x80-\xff]/', $s);
1532 if(!$ishigh) return $s;
1533
1534 $isutf8 = preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
1535 '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
1536 if( $isutf8 ) return $s;
1537
1538 return $this->iconv( $this->fallback8bitEncoding(), "utf-8", $s );
1539 }
1540 }
1541
1542 ?>