source: subversion/sites/namefinder/php/utf8.inc.php

Last change on this file was 8132, checked in by david, 11 years ago

namefinder version 2 - incremental updates; word indexes

File size: 19.8 KB
Line 
1<?php
2
3/* this table lists ascii equivalents for utf8 characters so that
4   searches including a utf8 character can be located by their
5   ascii equivalent(s) and vice versa  - see canon.php */
6
7return array(
8  array(
9    // ligatures
10    chr(0xc3).chr(0x86) => 'ae', // cap
11    chr(0xc3).chr(0xa6) => 'ae',
12    chr(0xc5).chr(0x92) => 'oe', // cap
13    chr(0xc3).chr(0x86) => 'oe',
14    chr(0xc3).chr(0x9f) => 'ss', // german B
15    chr(0xc5).chr(0x8a) => 'ng', // cap
16    chr(0xc5).chr(0x8b) => 'ng',
17    chr(0xe1).chr(0xb5).chr(0xab) => 'ue',
18    chr(0xef).chr(0xac).chr(0x80) => 'ff',
19    chr(0xef).chr(0xac).chr(0x81) => 'fi',
20    chr(0xef).chr(0xac).chr(0x82) => 'fl',
21    chr(0xef).chr(0xac).chr(0x83) => 'ffi',
22    chr(0xef).chr(0xac).chr(0x84) => 'ffl',
23    chr(0xef).chr(0xac).chr(0x85) => 'ft',
24    chr(0xef).chr(0xac).chr(0x86) => 'st',
25
26    chr(0x00) => '',
27    chr(0x01) => '',
28    chr(0x02) => '',
29    chr(0x03) => '',
30    chr(0x04) => '',
31    chr(0x05) => '',
32    chr(0x06) => '',
33    chr(0x07) => '',
34    chr(0x08) => '',
35    chr(0x09) => '',
36    chr(0x0A) => '',
37    chr(0x0B) => '',
38    chr(0x0C) => '',
39    chr(0x0D) => '',
40    chr(0x0E) => '',
41    chr(0x0F) => '',
42
43    chr(0x10) => '',
44    chr(0x11) => '',
45    chr(0x12) => '',
46    chr(0x13) => '',
47    chr(0x14) => '',
48    chr(0x15) => '',
49    chr(0x16) => '',
50    chr(0x17) => '',
51    chr(0x18) => '',
52    chr(0x19) => '',
53    chr(0x1A) => '',
54    chr(0x1B) => '',
55    chr(0x1C) => '',
56    chr(0x1D) => '',
57    chr(0x1E) => '',
58    chr(0x1F) => '',
59
60    chr(0x20) => ';;', // space
61    chr(0x21) => '', // !
62    chr(0x22) => '',  // "
63    chr(0x23) => '', // #
64    chr(0x24) => '', // $
65    chr(0x25) => '',  // %
66    chr(0x26) => '', // &
67    chr(0x27) => '',  // '
68    chr(0x28) => '', // (
69    chr(0x29) => '', // )
70    chr(0x2A) => '', // *
71    chr(0x2B) => '',  // +
72    chr(0x2C) => '', // ,
73    chr(0x2D) => ';;',  // -
74    chr(0x2E) => '', // .
75    chr(0x2F) => ';;', // /
76
77    chr(0x3A) => ';;', // :
78    chr(0x3B) => ';;', // ;
79    chr(0x3C) => '',  // <
80    chr(0x3D) => ';;', // =
81    chr(0x3E) => '',  // >
82    chr(0x3F) => '', // ?
83
84    chr(0x41) => 'a', // cap A
85    chr(0x42) => 'b',
86    chr(0x43) => 'c',
87    chr(0x44) => 'd',
88    chr(0x45) => 'e',
89    chr(0x46) => 'f',
90    chr(0x47) => 'g',
91    chr(0x48) => 'h',
92    chr(0x49) => 'i',
93    chr(0x4a) => 'j',
94    chr(0x4b) => 'k',
95    chr(0x4c) => 'l',
96    chr(0x4d) => 'm',
97    chr(0x4e) => 'n',
98    chr(0x4f) => 'o',
99    chr(0x50) => 'p',
100    chr(0x51) => 'q',
101    chr(0x52) => 'r',
102    chr(0x53) => 's',
103    chr(0x54) => 't',
104    chr(0x55) => 'u',
105    chr(0x56) => 'v',
106    chr(0x57) => 'w',
107    chr(0x58) => 'x',
108    chr(0x59) => 'y',
109    chr(0x5A) => 'z', // cap Z
110
111    chr(0x5B) => '', // [
112    chr(0x5C) => '',  // backslash
113    chr(0x5D) => '', // ]
114    chr(0x5E) => '',  // hat
115    chr(0x5F) => '', // _
116
117    chr(0x60) => '', // backtick
118    chr(0x7B) => '', // {
119    chr(0x7C) => ';;',  // |
120    chr(0x7D) => '', // }
121    chr(0x7E) => '',  // tilde
122    chr(0x7F) => '', // unused ...
123
124    chr(0xc2).chr(0xA0) => ';;', // nbsp
125    chr(0xc2).chr(0xA1) => '',  // upside down exclaim
126    chr(0xc2).chr(0xA2) => '',  // c stroke
127    chr(0xc2).chr(0xA3) => '',  // pound
128    chr(0xc2).chr(0xA4) => '',  //
129    chr(0xc2).chr(0xA5) => '',  // yen
130    chr(0xc2).chr(0xA6) => '',  // double bar
131    chr(0xc2).chr(0xA7) => '',  // para
132    chr(0xc2).chr(0xA8) => '',  // umlaut
133    chr(0xc2).chr(0xA9) => '',  // copyright
134    chr(0xc2).chr(0xAA) => '',
135    chr(0xc2).chr(0xAB) => '',  // laquo
136    chr(0xc2).chr(0xAC) => '',  // hook
137    chr(0xc2).chr(0xAD) => '',  // SHY
138    chr(0xc2).chr(0xAE) => '',  // registered
139    chr(0xc2).chr(0xAF) => '',  // bar accent
140
141    chr(0xc2).chr(0xB0) => '',  // degrees
142    chr(0xc2).chr(0xB1) => '',  // plus or minus
143    chr(0xc2).chr(0xB2) => '',  // squared
144    chr(0xc2).chr(0xB3) => '',  // cubed
145    chr(0xc2).chr(0xB4) => '',  // rsquo ??
146    chr(0xc2).chr(0xB5) => '',  // mu
147    chr(0xc2).chr(0xB6) => '',  // para
148    chr(0xc2).chr(0xB7) => '',  // dot
149    chr(0xc2).chr(0xB8) => '',  // cedilla
150    chr(0xc2).chr(0xB9) => '',  // power 1
151    chr(0xc2).chr(0xBA) => '',  // power 0
152    chr(0xc2).chr(0xBB) => '' ,  // raquo
153    chr(0xc2).chr(0xBC) => '',  // quarter
154    chr(0xc2).chr(0xBD) => '',  // half
155    chr(0xc2).chr(0xBE) => '',  // three quarters
156    chr(0xc2).chr(0xBF) => '',  // upside down ? mark
157
158    chr(0xc3).chr(0x80) => 'a',  // A grave
159    chr(0xc3).chr(0x81) => 'a',  // A acute
160    chr(0xc3).chr(0x82) => 'a',  // A circumflex
161    chr(0xc3).chr(0x83) => 'a',  // A tilde
162    chr(0xc3).chr(0x84) => 'a',  // A umlaut
163    chr(0xc3).chr(0x85) => 'aa', // A ring
164    chr(0xc3).chr(0x86) => 'ae', // AE dipthong
165    chr(0xc3).chr(0x87) => 'c',  // C cedilla
166    chr(0xc3).chr(0x88) => 'e',  // E grave
167    chr(0xc3).chr(0x89) => 'e',  // E acute
168    chr(0xc3).chr(0x8A) => 'e',  // E circumflex
169    chr(0xc3).chr(0x8B) => 'e',  // E double dot
170    chr(0xc3).chr(0x8C) => 'i',  // I grave
171    chr(0xc3).chr(0x8D) => 'i',  // I acute
172    chr(0xc3).chr(0x8E) => 'i',  // I circumflex
173    chr(0xc3).chr(0x8F) => 'i',  // I umlaut
174
175    chr(0xc3).chr(0x90) => 'd',  // D bar (eth)
176    chr(0xc3).chr(0x91) => 'n',  // N tilde
177    chr(0xc3).chr(0x92) => 'o',  // O grave
178    chr(0xc3).chr(0x93) => 'o',  // O acute
179    chr(0xc3).chr(0x94) => 'o',  // O circumflex
180    chr(0xc3).chr(0x95) => 'o',  // O tilde
181    chr(0xc3).chr(0x96) => 'o',  // O umlaut
182    chr(0xc3).chr(0x97) => '',   // multiply
183    chr(0xc3).chr(0x98) => 'o',  // O with slash
184    chr(0xc3).chr(0x99) => 'u',  // U grave
185    chr(0xc3).chr(0x9A) => 'u',  // U acute
186    chr(0xc3).chr(0x9B) => 'u',  // U circumflex
187    chr(0xc3).chr(0x9C) => 'u',  // U umlaut
188    chr(0xc3).chr(0x9D) => 'y',  // y acute
189    chr(0xc3).chr(0x9E) => 'th', // D with long straight edge- thorn
190    chr(0xc3).chr(0x9F) => 'ss', // german "B" like
191
192    chr(0xc3).chr(0xA0) => 'a',  // a grave
193    chr(0xc3).chr(0xA1) => 'a',  // a acute
194    chr(0xc3).chr(0xA2) => 'a',  // a circumflex
195    chr(0xc3).chr(0xA3) => 'a',  // a tilde
196    chr(0xc3).chr(0xA4) => 'a',  // a umlaut
197    chr(0xc3).chr(0xA5) => 'aa', // a ring
198    chr(0xc3).chr(0xA6) => 'ae', // dipthong
199    chr(0xc3).chr(0xA7) => 'c',  // c cedilla
200    chr(0xc3).chr(0xA8) => 'e',  // e grave
201    chr(0xc3).chr(0xA9) => 'e',  // e acute
202    chr(0xc3).chr(0xAA) => 'e',  // e circumflex
203    chr(0xc3).chr(0xAB) => 'e',  // e umlaut
204    chr(0xc3).chr(0xAC) => 'i',  // i grave
205    chr(0xc3).chr(0xAD) => 'i',  // i acute
206    chr(0xc3).chr(0xAE) => 'i',  // i circumflex
207    chr(0xc3).chr(0xAF) => 'i',  // i umlaut
208
209    chr(0xc3).chr(0xB0) => 'd',  // lower case eth
210    chr(0xc3).chr(0xB1) => 'n',  // n tilde
211    chr(0xc3).chr(0xB2) => 'o',  // o grave
212    chr(0xc3).chr(0xB3) => 'o',  // o acute
213    chr(0xc3).chr(0xB4) => 'o',  // o circumflex
214    chr(0xc3).chr(0xB5) => 'o',  // o tilde
215    chr(0xc3).chr(0xB6) => 'o',  // o umlaut
216    chr(0xc3).chr(0xB7) => '',   // divide
217    chr(0xc3).chr(0xB8) => 'o',  // o slash (scandinavian)
218    chr(0xc3).chr(0xB9) => 'u',  // u grave
219    chr(0xc3).chr(0xBA) => 'u',  // u acute
220    chr(0xc3).chr(0xBB) => 'u',  // u circumflex
221    chr(0xc3).chr(0xBC) => 'u',  // u umlaut
222    chr(0xc3).chr(0xBD) => 'y',  // y acute
223    chr(0xc3).chr(0xBE) => 'th', // thorn
224    chr(0xc3).chr(0xBF) => 'y',   // y umlaut
225
226    chr(0xc4).chr(0x80) => 'a', 
227    chr(0xc4).chr(0x81) => 'a', 
228    chr(0xc4).chr(0x82) => 'a', 
229    chr(0xc4).chr(0x83) => 'a', 
230    chr(0xc4).chr(0x84) => 'a', 
231    chr(0xc4).chr(0x85) => 'a', 
232    chr(0xc4).chr(0x86) => 'c', 
233    chr(0xc4).chr(0x87) => 'c', 
234    chr(0xc4).chr(0x88) => 'c', 
235    chr(0xc4).chr(0x89) => 'c', 
236    chr(0xc4).chr(0x8A) => 'c', 
237    chr(0xc4).chr(0x8B) => 'c', 
238    chr(0xc4).chr(0x8C) => 'c', 
239    chr(0xc4).chr(0x8D) => 'c', 
240    chr(0xc4).chr(0x8E) => 'd', 
241    chr(0xc4).chr(0x8F) => 'd', 
242
243    chr(0xc4).chr(0x90) => 'd', 
244    chr(0xc4).chr(0x91) => 'd', 
245    chr(0xc4).chr(0x92) => 'e', 
246    chr(0xc4).chr(0x93) => 'e', 
247    chr(0xc4).chr(0x94) => 'e', 
248    chr(0xc4).chr(0x95) => 'e', 
249    chr(0xc4).chr(0x96) => 'e', 
250    chr(0xc4).chr(0x97) => 'e',   
251    chr(0xc4).chr(0x98) => 'e', 
252    chr(0xc4).chr(0x99) => 'e', 
253    chr(0xc4).chr(0x9A) => 'e', 
254    chr(0xc4).chr(0x9B) => 'e', 
255    chr(0xc4).chr(0x9C) => 'g', 
256    chr(0xc4).chr(0x9D) => 'g', 
257    chr(0xc4).chr(0x9E) => 'g', 
258    chr(0xc4).chr(0x9F) => 'g',   
259
260    chr(0xc4).chr(0xA0) => 'g', 
261    chr(0xc4).chr(0xA1) => 'g', 
262    chr(0xc4).chr(0xA2) => 'g', 
263    chr(0xc4).chr(0xA3) => 'g', 
264    chr(0xc4).chr(0xA4) => 'h', 
265    chr(0xc4).chr(0xA5) => 'h', 
266    chr(0xc4).chr(0xA6) => 'h', 
267    chr(0xc4).chr(0xA7) => 'h',   
268    chr(0xc4).chr(0xA8) => 'i', 
269    chr(0xc4).chr(0xA9) => 'i', 
270    chr(0xc4).chr(0xAA) => 'i', 
271    chr(0xc4).chr(0xAB) => 'i', 
272    chr(0xc4).chr(0xAC) => 'i', 
273    chr(0xc4).chr(0xAD) => 'i', 
274    chr(0xc4).chr(0xAE) => 'i', 
275    chr(0xc4).chr(0xAF) => 'i',   
276
277    chr(0xc4).chr(0xB0) => 'i', 
278    chr(0xc4).chr(0xB1) => 'i', 
279    chr(0xc4).chr(0xB2) => 'ij', 
280    chr(0xc4).chr(0xB3) => 'ij', 
281    chr(0xc4).chr(0xB4) => 'j', 
282    chr(0xc4).chr(0xB5) => 'j', 
283    chr(0xc4).chr(0xB6) => 'k', 
284    chr(0xc4).chr(0xB7) => 'k',   
285    // chr(0xc4).chr(0xB8) => '',  kra
286    chr(0xc4).chr(0xB9) => 'l', 
287    chr(0xc4).chr(0xBA) => 'l', 
288    chr(0xc4).chr(0xBB) => 'l', 
289    chr(0xc4).chr(0xBC) => 'l', 
290    chr(0xc4).chr(0xBD) => 'l', 
291    chr(0xc4).chr(0xBE) => 'l', 
292    chr(0xc4).chr(0xBF) => 'l',   
293
294    chr(0xc5).chr(0x80) => 'l',
295    chr(0xc5).chr(0x81) => 'l', 
296    chr(0xc5).chr(0x82) => 'l', 
297    chr(0xc5).chr(0x83) => 'n', 
298    chr(0xc5).chr(0x84) => 'n', 
299    chr(0xc5).chr(0x85) => 'n', 
300    chr(0xc5).chr(0x86) => 'n', 
301    chr(0xc5).chr(0x87) => 'n', 
302    chr(0xc5).chr(0x88) => 'n', 
303    chr(0xc5).chr(0x89) => 'n', 
304    chr(0xc5).chr(0x8A) => 'n',  // eng
305    chr(0xc5).chr(0x8B) => 'n',  // eng
306    chr(0xc5).chr(0x8C) => 'o', 
307    chr(0xc5).chr(0x8D) => 'o', 
308    chr(0xc5).chr(0x8E) => 'o', 
309    chr(0xc5).chr(0x8F) => 'o', 
310
311    chr(0xc5).chr(0x90) => 'o', 
312    chr(0xc5).chr(0x91) => 'o', 
313    chr(0xc5).chr(0x92) => 'oe', 
314    chr(0xc5).chr(0x93) => 'oe', 
315    chr(0xc5).chr(0x94) => 'r', 
316    chr(0xc5).chr(0x95) => 'r', 
317    chr(0xc5).chr(0x96) => 'r', 
318    chr(0xc5).chr(0x97) => 'r',   
319    chr(0xc5).chr(0x98) => 'r', 
320    chr(0xc5).chr(0x99) => 'r', 
321    chr(0xc5).chr(0x9A) => 's', 
322    chr(0xc5).chr(0x9B) => 's', 
323    chr(0xc5).chr(0x9C) => 's', 
324    chr(0xc5).chr(0x9D) => 's', 
325    chr(0xc5).chr(0x9E) => 's', 
326    chr(0xc5).chr(0x9F) => 's',   
327
328    chr(0xc5).chr(0xA0) => 's', 
329    chr(0xc5).chr(0xA1) => 's', 
330    chr(0xc5).chr(0xA2) => 't', 
331    chr(0xc5).chr(0xA3) => 't', 
332    chr(0xc5).chr(0xA4) => 't', 
333    chr(0xc5).chr(0xA5) => 't', 
334    chr(0xc5).chr(0xA6) => 't', 
335    chr(0xc5).chr(0xA7) => 't',   
336    chr(0xc5).chr(0xA8) => 'u', 
337    chr(0xc5).chr(0xA9) => 'u', 
338    chr(0xc5).chr(0xAA) => 'u', 
339    chr(0xc5).chr(0xAB) => 'u', 
340    chr(0xc5).chr(0xAC) => 'u', 
341    chr(0xc5).chr(0xAD) => 'u', 
342    chr(0xc5).chr(0xAE) => 'u', 
343    chr(0xc5).chr(0xAF) => 'u',
344
345    chr(0xc5).chr(0xB0) => 'u', 
346    chr(0xc5).chr(0xB1) => 'u', 
347    chr(0xc5).chr(0xB2) => 'u', 
348    chr(0xc5).chr(0xB3) => 'u', 
349    chr(0xc5).chr(0xB4) => 'w', 
350    chr(0xc5).chr(0xB5) => 'w', 
351    chr(0xc5).chr(0xB6) => 'y', 
352    chr(0xc5).chr(0xB7) => 'y',   
353    chr(0xc5).chr(0xB8) => 'y',
354    chr(0xc5).chr(0xB9) => 'z', 
355    chr(0xc5).chr(0xBA) => 'z', 
356    chr(0xc5).chr(0xBB) => 'z', 
357    chr(0xc5).chr(0xBC) => 'z', 
358    chr(0xc5).chr(0xBD) => 'z', 
359    chr(0xc5).chr(0xBE) => 'z', 
360    chr(0xc5).chr(0xBF) => 's',   
361
362    chr(0xc6).chr(0x80) => 'b',
363    chr(0xc6).chr(0x81) => 'b', 
364    chr(0xc6).chr(0x82) => 'b', 
365    chr(0xc6).chr(0x83) => 'b', 
366    //chr(0xc6).chr(0x84) => '', 
367    //chr(0xc6).chr(0x85) => '',
368    //chr(0xc6).chr(0x86) => '',
369    chr(0xc6).chr(0x87) => 'c', 
370    chr(0xc6).chr(0x88) => 'c', 
371    chr(0xc6).chr(0x89) => 'd', 
372    chr(0xc6).chr(0x8A) => 'd', 
373    chr(0xc6).chr(0x8B) => 'd', 
374    chr(0xc6).chr(0x8C) => 'd', 
375    //chr(0xc6).chr(0x8D) => '', 
376    //chr(0xc6).chr(0x8E) => '', 
377    //chr(0xc6).chr(0x8F) => '', 
378
379    chr(0xc6).chr(0x90) => 'e', 
380    chr(0xc6).chr(0x91) => 'f', 
381    chr(0xc6).chr(0x92) => 'f', 
382    chr(0xc6).chr(0x93) => 'g', 
383    //chr(0xc6).chr(0x94) => '', 
384    //chr(0xc6).chr(0x95) => '', 
385    chr(0xc6).chr(0x96) => 'i', 
386    chr(0xc6).chr(0x97) => 'i',   
387    chr(0xc6).chr(0x98) => 'k', 
388    chr(0xc6).chr(0x99) => 'k', 
389    chr(0xc6).chr(0x9A) => 'l', 
390    //chr(0xc6).chr(0x9B) => 'e', 
391    //chr(0xc6).chr(0x9C) => 'g', 
392    chr(0xc6).chr(0x9D) => 'n', 
393    chr(0xc6).chr(0x9E) => 'n', 
394    chr(0xc6).chr(0x9F) => 'o',   
395
396    chr(0xc6).chr(0xA0) => 'o', 
397    chr(0xc6).chr(0xA1) => 'o', 
398    chr(0xc6).chr(0xA2) => 'oi', 
399    chr(0xc6).chr(0xA3) => 'oi', 
400    chr(0xc6).chr(0xA4) => 'p', 
401    chr(0xc6).chr(0xA5) => 'p', 
402    chr(0xc6).chr(0xA6) => 'yr', 
403    //chr(0xc6).chr(0xA7) => '',   
404    //chr(0xc6).chr(0xA8) => '', 
405    //chr(0xc6).chr(0xA9) => 'i', 
406    //chr(0xc6).chr(0xAA) => 'i', 
407    chr(0xc6).chr(0xAB) => 't', 
408    chr(0xc6).chr(0xAC) => 't', 
409    chr(0xc6).chr(0xAD) => 't', 
410    chr(0xc6).chr(0xAE) => 't', 
411    chr(0xc6).chr(0xAF) => 'u',   
412
413    chr(0xc6).chr(0xB0) => 'u', 
414    //chr(0xc6).chr(0xB1) => '', 
415    chr(0xc6).chr(0xB2) => 'v', 
416    chr(0xc6).chr(0xB3) => 'y', 
417    chr(0xc6).chr(0xB4) => 'y', 
418    chr(0xc6).chr(0xB5) => 'z', 
419    chr(0xc6).chr(0xB6) => 'z', 
420    chr(0xc6).chr(0xB7) => 'k',   
421
422    chr(0xc7).chr(0x84) => 'dz', 
423    chr(0xc7).chr(0x85) => 'dz', 
424    chr(0xc7).chr(0x86) => 'dz', 
425    chr(0xc7).chr(0x87) => 'lj', 
426    chr(0xc7).chr(0x88) => 'lj', 
427    chr(0xc7).chr(0x89) => 'lj', 
428    chr(0xc7).chr(0x8A) => 'nj',
429    chr(0xc7).chr(0x8B) => 'nj',
430    chr(0xc7).chr(0x8C) => 'nj', 
431    chr(0xc7).chr(0x8D) => 'a', 
432    chr(0xc7).chr(0x8E) => 'a', 
433    chr(0xc7).chr(0x8F) => 'i', 
434
435    chr(0xc7).chr(0x90) => 'i', 
436    chr(0xc7).chr(0x91) => 'o', 
437    chr(0xc7).chr(0x92) => 'o', 
438    chr(0xc7).chr(0x93) => 'u', 
439    chr(0xc7).chr(0x94) => 'u', 
440    chr(0xc7).chr(0x95) => 'u', 
441    chr(0xc7).chr(0x96) => 'u', 
442    chr(0xc7).chr(0x97) => 'u',   
443    chr(0xc7).chr(0x98) => 'u', 
444    chr(0xc7).chr(0x99) => 'u', 
445    chr(0xc7).chr(0x9A) => 'u', 
446    chr(0xc7).chr(0x9B) => 'u', 
447    chr(0xc7).chr(0x9C) => 'u', 
448    // chr(0xc7).chr(0x9D) => '', 
449    chr(0xc7).chr(0x9E) => 'a', 
450    chr(0xc7).chr(0x9F) => 'a',   
451
452    chr(0xc7).chr(0xA0) => 'a', 
453    chr(0xc7).chr(0xA1) => 'a', 
454    chr(0xc7).chr(0xA2) => 'ae', 
455    chr(0xc7).chr(0xA3) => 'ae', 
456    chr(0xc7).chr(0xA4) => 'g', 
457    chr(0xc7).chr(0xA5) => 'g', 
458    chr(0xc7).chr(0xA6) => 'g', 
459    chr(0xc7).chr(0xA7) => 'g',   
460    chr(0xc7).chr(0xA8) => 'k', 
461    chr(0xc7).chr(0xA9) => 'k', 
462    chr(0xc7).chr(0xAA) => 'q', 
463    chr(0xc7).chr(0xAB) => 'q', 
464    chr(0xc7).chr(0xAC) => 'q', 
465    chr(0xc7).chr(0xAD) => 'q', 
466
467    chr(0xc7).chr(0xB0) => 'j', 
468    chr(0xc7).chr(0xB1) => 'dz', 
469    chr(0xc7).chr(0xB2) => 'dz', 
470    chr(0xc7).chr(0xB3) => 'dz', 
471    chr(0xc7).chr(0xB4) => 'g', 
472    chr(0xc7).chr(0xB5) => 'g', 
473    chr(0xc7).chr(0xB8) => 'n',
474    chr(0xc7).chr(0xB9) => 'n', 
475    chr(0xc7).chr(0xBA) => 'a', 
476    chr(0xc7).chr(0xBB) => 'a', 
477    chr(0xc7).chr(0xBC) => 'ae', 
478    chr(0xc7).chr(0xBD) => 'ae', 
479    chr(0xc7).chr(0xBE) => 'o', 
480    chr(0xc7).chr(0xBF) => 'o',   
481
482    chr(0xc8).chr(0x80) => 'a',
483    chr(0xc8).chr(0x81) => 'a', 
484    chr(0xc8).chr(0x82) => 'a', 
485    chr(0xc8).chr(0x83) => 'a', 
486    chr(0xc8).chr(0x84) => 'e', 
487    chr(0xc8).chr(0x85) => 'e', 
488    chr(0xc8).chr(0x86) => 'e', 
489    chr(0xc8).chr(0x87) => 'e', 
490    chr(0xc8).chr(0x88) => 'i', 
491    chr(0xc8).chr(0x89) => 'i', 
492    chr(0xc8).chr(0x8A) => 'i', 
493    chr(0xc8).chr(0x8B) => 'i', 
494    chr(0xc8).chr(0x8C) => 'o', 
495    chr(0xc8).chr(0x8D) => 'o', 
496    chr(0xc8).chr(0x8E) => 'o', 
497    chr(0xc8).chr(0x8F) => 'o', 
498
499    chr(0xc8).chr(0x90) => 'r', 
500    chr(0xc8).chr(0x91) => 'r', 
501    chr(0xc8).chr(0x92) => 'r', 
502    chr(0xc8).chr(0x93) => 'r', 
503    chr(0xc8).chr(0x94) => 'u', 
504    chr(0xc8).chr(0x95) => 'u', 
505    chr(0xc8).chr(0x96) => 'u', 
506    chr(0xc8).chr(0x97) => 'u',   
507    chr(0xc8).chr(0x98) => 's', 
508    chr(0xc8).chr(0x99) => 's', 
509    chr(0xc8).chr(0x9A) => 't', 
510    chr(0xc8).chr(0x9B) => 't', 
511    //chr(0xc8).chr(0x9C) => '', 
512    //chr(0xc8).chr(0x9D) => '', 
513    chr(0xc8).chr(0x9E) => 'h', 
514    chr(0xc8).chr(0x9F) => 'h',   
515
516    chr(0xc8).chr(0xA0) => 'n', 
517    chr(0xc8).chr(0xA1) => 'd', 
518    chr(0xc8).chr(0xA2) => 'ou', 
519    chr(0xc8).chr(0xA3) => 'ou', 
520    chr(0xc8).chr(0xA4) => 'z', 
521    chr(0xc8).chr(0xA5) => 'z', 
522    chr(0xc8).chr(0xA6) => 'a', 
523    chr(0xc8).chr(0xA7) => 'a',   
524    chr(0xc8).chr(0xA8) => 'e', 
525    chr(0xc8).chr(0xA9) => 'e', 
526    chr(0xc8).chr(0xAA) => 'o', 
527    chr(0xc8).chr(0xAB) => 'o', 
528    chr(0xc8).chr(0xAC) => 'o', 
529    chr(0xc8).chr(0xAD) => 'o', 
530    chr(0xc8).chr(0xAE) => 'o', 
531    chr(0xc8).chr(0xAF) => 'o',   
532
533    chr(0xc8).chr(0xB0) => 'o', 
534    chr(0xc8).chr(0xB1) => 'o', 
535    chr(0xc8).chr(0xB2) => 'y', 
536    chr(0xc8).chr(0xB3) => 'y', 
537    chr(0xc8).chr(0xB4) => 'l', 
538    chr(0xc8).chr(0xB5) => 'n', 
539    chr(0xc8).chr(0xB6) => 't', 
540    chr(0xc8).chr(0xB7) => 'j',   
541    chr(0xc8).chr(0xB8) => 'db',
542    chr(0xc8).chr(0xB9) => 'qp', 
543    chr(0xc8).chr(0xBA) => 'a', 
544    chr(0xc8).chr(0xBB) => 'c', 
545    chr(0xc8).chr(0xBC) => 'c', 
546    chr(0xc8).chr(0xBD) => 'l', 
547    chr(0xc8).chr(0xBE) => 't', 
548    chr(0xc8).chr(0xBF) => 's',   
549
550    chr(0xc9).chr(0x80) => 'z', 
551
552    chr(0xc9).chr(0x93) => 'b', 
553    chr(0xc9).chr(0x95) => 'c', 
554    chr(0xc9).chr(0x96) => 'd', 
555    chr(0xc9).chr(0x97) => 'd',   
556    chr(0xc9).chr(0x9B) => 'e', 
557
558    chr(0xc9).chr(0xA0) => 'g', 
559    chr(0xc9).chr(0xA1) => 'g', 
560    chr(0xc9).chr(0xA2) => 'g', 
561    chr(0xc9).chr(0xA6) => 'h', 
562    chr(0xc9).chr(0xA7) => 'h',   
563    chr(0xc9).chr(0xA8) => 'i', 
564    chr(0xc9).chr(0xA9) => 'i', 
565    chr(0xc9).chr(0xAA) => 'i', 
566    chr(0xc9).chr(0xAB) => 'l', 
567    chr(0xc9).chr(0xAC) => 'l', 
568    chr(0xc9).chr(0xAD) => 'l', 
569
570    chr(0xc9).chr(0xB1) => 'm', 
571    chr(0xc9).chr(0xB2) => 'n', 
572    chr(0xc9).chr(0xB3) => 'n', 
573    chr(0xc9).chr(0xB4) => 'n', 
574    chr(0xc9).chr(0xB5) => 'o', 
575    chr(0xc9).chr(0xB6) => 'oe',
576    chr(0xc9).chr(0xB9) => 'r', 
577    chr(0xc9).chr(0xBA) => 'r', 
578    chr(0xc9).chr(0xBB) => 'r', 
579    chr(0xc9).chr(0xBC) => 'r', 
580    chr(0xc9).chr(0xBD) => 'r', 
581    chr(0xc9).chr(0xBE) => 'r', 
582    chr(0xc9).chr(0xBF) => 'r'   
583
584    // possibly others from the extended latin sets
585  ),
586  // alternate replacements:
587  array(
588    chr(0xc3).chr(0x84) => 'ae',  // A umlaut
589    chr(0xc3).chr(0xA4) => 'ae',  // a umlaut
590
591    chr(0xc3).chr(0x96) => 'oe',  // O umlaut
592    chr(0xc3).chr(0xB6) => 'oe',  // o umlaut
593
594    chr(0xc3).chr(0x9C) => 'ue',  // U umlaut
595    chr(0xc3).chr(0xBC) => 'ue',  // u umlaut
596
597    chr(0xc3).chr(0x85) => 'a', // A ring
598    chr(0xc3).chr(0xA5) => 'a', // a ring
599
600    chr(0xc3).chr(0x98) => 'oe',  // O slash (scandinavian)
601    chr(0xc3).chr(0xB8) => 'oe',  // o slash
602
603    chr(0xc3).chr(0xB1) => 'ng',  // n tilde, spanish
604
605    chr(0xc3).chr(0x90) => 'dh',  // D bar (eth)
606    chr(0xc3).chr(0xB0) => 'dh',  // lower case eth
607  ),
608  array(
609    chr(0xc3).chr(0xB1) => 'ny',  // n tilde, catalan
610  ),
611  array(
612    chr(0xc3).chr(0xB1) => 'nh',  // n tilde, portugese
613  ),
614);
615
616?>
Note: See TracBrowser for help on using the repository browser.