phonet 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1207 @@
1
+ /*
2
+ * phonet.h
3
+ * --------
4
+ *
5
+ * Phonetic rules for "phonet.c".
6
+ *
7
+ * Copyright (c):
8
+ * 1999-2007: Joerg MICHAEL, Adalbert-Stifter-Str. 11, 30655 Hannover, Germany
9
+ * and
10
+ * (version 1.0) 1999: Heise Verlag, Helstorfer Str. 7, 30625 Hannover, Germany
11
+ *
12
+ * SCCS: @(#) phonet.h 1.4.2 2007-08-27
13
+ *
14
+ * This program is subject to the GNU Lesser General Public License (LGPL)
15
+ * (formerly known as GNU Library General Public Licence)
16
+ * as published by the Free Software Foundation; either version 2 of the
17
+ * License, or (at your option) any later version.
18
+ * This program is distributed in the hope that it will be useful,
19
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21
+ *
22
+ * You should have received a copy of the GNU Library General Public License
23
+ * along with this program; if not, write to the
24
+ * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25
+ *
26
+ * Actually, the LGPL is __less__ restrictive than the better known GNU General
27
+ * Public License (GPL). See the GNU Library General Public License or the file
28
+ * LIB_GPLP.TXT for more details and for a DISCLAIMER OF ALL WARRANTIES.
29
+ *
30
+ * There is one important restriction: If you modify this program in any way
31
+ * (e.g. add or change phonetic rules or modify the underlying logic or
32
+ * translate this program into another programming language), you must also
33
+ * release the changes under the terms of the LGPL.
34
+ * That means you have to give out the source code to your changes,
35
+ * and a very good way to do so is mailing them to the address given below.
36
+ * I think this is the best way to promote further development and use
37
+ * of this software.
38
+ *
39
+ * If you have any remarks, feel free to e-mail to:
40
+ * ct@ct.heise.de
41
+ *
42
+ * The author's email address is:
43
+ * astro.joerg@googlemail.com
44
+ */
45
+
46
+
47
+ #ifndef _PHONET_H_
48
+ #define _PHONET_H_
49
+
50
+ #include <stdio.h>
51
+ #include <stdlib.h>
52
+
53
+ #include "ph_ext.h"
54
+
55
+
56
+ #define PHONET_VERSION "version 1.4.2, 2007-08-27"
57
+
58
+ /**** we assume 1 byte chars ****/
59
+ #define HASH_COUNT 256
60
+
61
+ /**** macro to make the rules easier readable ****/
62
+ #define null NULL
63
+
64
+
65
+ /**** end marker for string table ****/
66
+ static char PHONET_END[] = "";
67
+
68
+ static char *phonet_language = "unknown";
69
+ static int *phonet_init = NULL;
70
+ static int *phonet_hash = NULL;
71
+ static int (*phonet_hash_1)[26][28] = NULL; /*** these are pointers ***/
72
+ static int (*phonet_hash_2)[26][28] = NULL; /*** to array[26][28] ***/
73
+ static char **phonet_rules = NULL;
74
+
75
+
76
+ /**** Syntax for phonetic rules: ****/
77
+ /**** <search_string> <1st_rule> <2nd_rule> ****/
78
+ /**** Syntax for search strings: ****/
79
+ /**** <word> [<->..] [<] [<0-9>] [^[^]] [$] ****/
80
+
81
+ /**** Remarks: ****/
82
+ /**** a) All phonetic rules must be written ****/
83
+ /**** in upper case. ****/
84
+ /**** b) The end of <word> may contain as an ****/
85
+ /**** optional simple regular expression ****/
86
+ /**** one array of letters (or umlaut's) ****/
87
+ /**** enclosed in '(' and ')'. ****/
88
+ /**** c) Rules with a '<' demand that the ****/
89
+ /**** replacement string may not be longer ****/
90
+ /**** than the search string. ****/
91
+ /**** d) The placement of rules determines ****/
92
+ /**** their priority. Therefore, the rules ****/
93
+ /**** for "SH" must be placed before the ****/
94
+ /**** rules for "S" ****/
95
+ /**** (otherwise, a conversion error will ****/
96
+ /**** occur for "SH"). ****/
97
+
98
+
99
+
100
+ #ifdef PHONET_ENGLISH
101
+
102
+ /*
103
+ *
104
+ * UNDER CONSTRUCTION
105
+ * (no rules available at this time)
106
+ *
107
+ */
108
+
109
+ #endif /**** PHONET_ENGLISH ****/
110
+
111
+
112
+
113
+
114
+ #ifdef PHONET_NO_LANGUAGE
115
+
116
+ static char *phonet_language_no_language = "no language";
117
+ static int phonet_init_no_language = 0;
118
+ static int phonet_hash_no_language [HASH_COUNT];
119
+ static int phonet_hash_no_language_1 [26][28];
120
+ static int phonet_hash_no_language_2 [26][28];
121
+
122
+ /**** Phonetic rules for "no language" ****/
123
+ /**** (i.e. umlauts will be "expanded") ****/
124
+
125
+ static char *phonet_rules_no_language[] =
126
+ {
127
+ /**** separator chars ****/
128
+ "�", " ", " ",
129
+ "'", " ", " ",
130
+ "`$", "", "",
131
+ "\"", " ", " ",
132
+ ",", ",", ",",
133
+ ";", ",", ",",
134
+ "-", " ", " ",
135
+ " ", " ", " ",
136
+ ".", ".", ".",
137
+ ":", ".", ".",
138
+ /**** German umlauts ****/
139
+ "�", "AE", "AE",
140
+ "�", "OE", "OE",
141
+ "�", "UE", "UE",
142
+ "�", "S", "S",
143
+ /**** international umlauts ****/
144
+ "�", "A", "A",
145
+ "�", "A", "A",
146
+ "�", "A", "A",
147
+ "�", "A", "A",
148
+ "�", "A", "A",
149
+ "�", "AE", "AE",
150
+ "�", "C", "C",
151
+ "�", "DJ", "DJ",
152
+ "�", "E", "E",
153
+ "�", "E", "E",
154
+ "�", "E", "E",
155
+ "�", "E", "E",
156
+ "�", "I", "I",
157
+ "�", "I", "I",
158
+ "�", "I", "I",
159
+ "�", "I", "I",
160
+ "�", "NH", "NH",
161
+ "�", "O", "O",
162
+ "�", "O", "O",
163
+ "�", "O", "O",
164
+ "�", "O", "O",
165
+ "�", "OE", "OE",
166
+ "�", "OE", "OE",
167
+ "�", "SH", "SH",
168
+ "�", "TH", "TH",
169
+ "�", "U", "U",
170
+ "�", "U", "U",
171
+ "�", "U", "U",
172
+ "�", "Y", "Y",
173
+ "�", "Y", "Y",
174
+ /**** "normal" letters (A-Z) ****/
175
+ "MC^", "MAC", "MAC",
176
+ "MC^", "MAC", "MAC",
177
+ "M�^", "MAC", "MAC",
178
+ "M'^", "MAC", "MAC",
179
+ "O�^", "O", "O",
180
+ "O'^", "O", "O",
181
+ "VAN DEN ^", "VANDEN", "VANDEN",
182
+ PHONET_END, PHONET_END, PHONET_END
183
+ };
184
+
185
+ #endif /**** PHONET_NO_LANGUAGE ****/
186
+
187
+
188
+
189
+
190
+ #ifdef PHONET_GERMAN
191
+
192
+ static char *phonet_language_german = "German";
193
+ static int phonet_init_german = 0;
194
+ static int phonet_hash_german [HASH_COUNT];
195
+ static int phonet_hash_german_1 [26][28];
196
+ static int phonet_hash_german_2 [26][28];
197
+
198
+ /**** Phonetic rules for German. ****/
199
+ /**** First Rules: ****/
200
+ /**** The letters �,�,C,J,Q,V,Y ****/
201
+ /**** will "disappear". ****/
202
+ /**** Second Rules (less accurate): ****/
203
+ /**** The letters �,�,�,C,D, ****/
204
+ /**** G,H,J,O,P,Q,S,V,W,X,Y ****/
205
+ /**** will "disappear". ****/
206
+
207
+ static char *phonet_rules_german[] =
208
+ {
209
+ /**** separator chars ****/
210
+ "�", " ", " ",
211
+ "'", " ", " ",
212
+ "`$", "", "",
213
+ "\"", " ", " ",
214
+ ",", " ", " ",
215
+ ";", " ", " ",
216
+ "-", " ", " ",
217
+ " ", " ", " ",
218
+ ".", ".", ".",
219
+ ":", ".", ".",
220
+ /**** German umlauts ****/
221
+ "�E", "E", "E",
222
+ "�U<", "EU", "EU",
223
+ "�V(AEOU)-<", "EW", null,
224
+ "�$", "�", null,
225
+ "�<", null, "E",
226
+ "�", "E", null,
227
+ "�E", "�", "�",
228
+ "�U", "�", "�",
229
+ "�VER--<", "�W", null,
230
+ "�V(AOU)-", "�W", null,
231
+ "�BEL(GNRW)-^^", "�BL ", "IBL ",
232
+ "�BER^^", "�BA", "IBA",
233
+ "�E", "�", "I",
234
+ "�VER--<", "�W", null,
235
+ "�V(AOU)-", "�W", null,
236
+ "�", null, "I",
237
+ "�CH<", null, "Z",
238
+ "�<", "S", "Z",
239
+ /**** international umlauts ****/
240
+ "�<", "A", "A",
241
+ "�<", "A", "A",
242
+ "�<", "A", "A",
243
+ "�<", "A", "A",
244
+ "�<", "A", "A",
245
+ "�ER-", "E", "E",
246
+ "�U<", "EU", "EU",
247
+ "�V(AEOU)-<", "EW", null,
248
+ "�$", "�", null,
249
+ "�<", null, "E",
250
+ "�", "E", null,
251
+ "�", "Z", "Z",
252
+ "��-", "", "",
253
+ "�", "DI", "TI",
254
+ "�<", "E", "E",
255
+ "�<", "E", "E",
256
+ "�<", "E", "E",
257
+ "�", "E", "E",
258
+ "�<", "I", "I",
259
+ "�<", "I", "I",
260
+ "�<", "I", "I",
261
+ "�", "I", "I",
262
+ "��-", "", "",
263
+ "�", "NI", "NI",
264
+ "�<", "O", "U",
265
+ "�<", "O", "U",
266
+ "�<", "O", "U",
267
+ "�<", "O", "U",
268
+ "�<", "�", "�",
269
+ "�(IJY)-<", "E", "E",
270
+ "�<", "�", "�",
271
+ "�", "SH", "Z",
272
+ "�", "T", "T",
273
+ "�<", "U", "U",
274
+ "�<", "U", "U",
275
+ "�<", "U", "U",
276
+ "�<", "I", "I",
277
+ "�<", "I", "I",
278
+ /**** "normal" letters (A-Z) ****/
279
+ "ABELLE$", "ABL", "ABL",
280
+ "ABELL$", "ABL", "ABL",
281
+ "ABIENNE$", "ABIN", "ABIN",
282
+ "ACHME---^", "ACH", "AK",
283
+ "ACEY$", "AZI", "AZI",
284
+ "ADV", "ATW", null,
285
+ "AEGL-", "EK", null,
286
+ "AEU<", "EU", "EU",
287
+ "AE2", "E", "E",
288
+ "AFTRAUBEN------", "AFT ", "AFT ",
289
+ "AGL-1", "AK", null,
290
+ "AGNI-^", "AKN", "AKN",
291
+ "AGNIE-", "ANI", "ANI",
292
+ "AGN(AEOU)-$", "ANI", "ANI",
293
+ "AH(AIO�U�Y)-", "AH", null,
294
+ "AIA2", "AIA", "AIA",
295
+ "AIE$", "E", "E",
296
+ "AILL(EOU)-", "ALI", "ALI",
297
+ "AINE$", "EN", "EN",
298
+ "AIRE$", "ER", "ER",
299
+ "AIR-", "E", "E",
300
+ "AISE$", "ES", "EZ",
301
+ "AISSANCE$", "ESANS", "EZANZ",
302
+ "AISSE$", "ES", "EZ",
303
+ "AIX$", "EX", "EX",
304
+ "AJ(A�E���IO�U�)--", "A", "A",
305
+ "AKTIE", "AXIE", "AXIE",
306
+ "AKTUEL", "AKTUEL", null,
307
+ "ALOI^", "ALOI", "ALUI", /** Do NOT merge these rules **/
308
+ "ALOY^", "ALOI", "ALUI", /** (needed by "check_rules") **/
309
+ "AMATEU(RS)-", "AMAT�", "ANAT�",
310
+ "ANCH(OEI)-", "ANSH", "ANZ",
311
+ "ANDERGEGANG----", "ANDA GE", "ANTA KE",
312
+ "ANDERGEHE----", "ANDA ", "ANTA ",
313
+ "ANDERGESETZ----", "ANDA GE", "ANTA KE",
314
+ "ANDERGING----", "ANDA ", "ANTA ",
315
+ "ANDERSETZ(ET)-----", "ANDA ", "ANTA ",
316
+ "ANDERZUGEHE----", "ANDA ZU ", "ANTA ZU ",
317
+ "ANDERZUSETZE-----", "ANDA ZU ", "ANTA ZU ",
318
+ "ANER(BKO)---^^", "AN", null,
319
+ "ANHAND---^$", "AN H", "AN ",
320
+ "ANH(A�EIO�U�Y)--^^", "AN", null,
321
+ "ANIELLE$", "ANIEL", "ANIL",
322
+ "ANIEL", "ANIEL", null,
323
+ "ANSTELLE----^$", "AN ST", "AN ZT",
324
+ "ANTI^^", "ANTI", "ANTI",
325
+ "ANVER^^", "ANFA", "ANFA",
326
+ "ATIA$", "ATIA", "ATIA",
327
+ "ATIA(NS)--", "ATI", "ATI",
328
+ "ATI(A�O�U�)-", "AZI", "AZI",
329
+ "AUAU--", "", "",
330
+ "AUERE$", "AUERE", null,
331
+ "AUERE(NS)-$", "AUERE", null,
332
+ "AUERE(AIOUY)--", "AUER", null,
333
+ "AUER(A�IO�U�Y)-", "AUER", null,
334
+ "AUER<", "AUA", "AUA",
335
+ "AUF^^", "AUF", "AUF",
336
+ "AULT$", "O", "U",
337
+ "AUR(BCDFGKLMNQSTVWZ)-", "AUA", "AUA",
338
+ "AUR$", "AUA", "AUA",
339
+ "AUSSE$", "OS", "UZ",
340
+ "AUS(ST)-^", "AUS", "AUS",
341
+ "AUS^^", "AUS", "AUS",
342
+ "AUTOFAHR----", "AUTO ", "AUTU ",
343
+ "AUTO^^", "AUTO", "AUTU",
344
+ "AUX(IY)-", "AUX", "AUX",
345
+ "AUX", "O", "U",
346
+ "AU", "AU", "AU",
347
+ "AVER--<", "AW", null,
348
+ "AVIER$", "AWIE", "AFIE",
349
+ "AV(E���I)-^", "AW", null,
350
+ "AV(AOU)-", "AW", null,
351
+ "AYRE$", "EIRE", "EIRE",
352
+ "AYRE(NS)-$", "EIRE", "EIRE",
353
+ "AYRE(AIOUY)--", "EIR", "EIR",
354
+ "AYR(A�IO�U�Y)-", "EIR", "EIR",
355
+ "AYR<", "EIA", "EIA",
356
+ "AYER--<", "EI", "EI",
357
+ "AY(A�EIO�U�Y)--", "A", "A",
358
+ "A�", "E", "E",
359
+ "A(IJY)<", "EI", "EI",
360
+ "BABY^$", "BEBI", "BEBI",
361
+ "BAB(IY)^", "BEBI", "BEBI",
362
+ "BEAU^$", "BO", null,
363
+ "BEA(BCMNRU)-^", "BEA", "BEA",
364
+ "BEAT(AEIMORU)-^", "BEAT", "BEAT",
365
+ "BEE$", "BI", "BI",
366
+ "BEIGE^$", "BESH", "BEZ",
367
+ "BENOIT--", "BENO", "BENU",
368
+ "BER(DT)-", "BER", null,
369
+ "BERN(DT)-", "BERN", null,
370
+ "BE(LMNRST)-^", "BE", "BE",
371
+ "BETTE$", "BET", "BET",
372
+ "BEVOR^$", "BEFOR", null,
373
+ "BIC$", "BIZ", "BIZ",
374
+ "BOWL(EI)-", "BOL", "BUL",
375
+ "BP(A�E���I���O�RU�Y)-", "B", "B",
376
+ "BRINGEND-----^", "BRI", "BRI",
377
+ "BRINGEND-----", " BRI", " BRI",
378
+ "BROW(NS)-", "BRAU", "BRAU",
379
+ "BUDGET7", "B�GE", "BIKE",
380
+ "BUFFET7", "B�FE", "BIFE",
381
+ "BYLLE$", "BILE", "BILE",
382
+ "BYLL$", "BIL", "BIL",
383
+ "BYPA--^", "BEI", "BEI",
384
+ "BYTE<", "BEIT", "BEIT",
385
+ "BY9^", "B�", null,
386
+ "B(S�Z)$", "BS", null,
387
+ "CACH(EI)-^", "KESH", "KEZ",
388
+ "CAE--", "Z", "Z",
389
+ "CA(IY)$", "ZEI", "ZEI",
390
+ "CE(EIJUY)--", "Z", "Z",
391
+ "CENT<", "ZENT", "ZENT",
392
+ "CERST(EI)----^", "KE", "KE",
393
+ "CER$", "ZA", "ZA",
394
+ "CE3", "ZE", "ZE",
395
+ "CH'S$", "X", "X",
396
+ "CH�S$", "X", "X",
397
+ "CHAO(ST)-", "KAO", "KAU",
398
+ "CHAMPIO-^", "SHEMPI", "ZENBI",
399
+ "CHAR(AI)-^", "KAR", "KAR",
400
+ "CHAU(CDFSVWXZ)-", "SHO", "ZU",
401
+ "CH�(CF)-", "SHE", "ZE",
402
+ "CHE(CF)-", "SHE", "ZE",
403
+ "CHEM-^", "KE", "KE", /** or: "CHE", "KE" **/
404
+ "CHEQUE<", "SHEK", "ZEK",
405
+ "CHI(CFGPVW)-", "SHI", "ZI",
406
+ "CH(AEUY)-<^", "SH", "Z",
407
+ "CHK-", "", "",
408
+ "CHO(CKPS)-^", "SHO", "ZU",
409
+ "CHRIS-", "KRI", null,
410
+ "CHRO-", "KR", null,
411
+ "CH(LOR)-<^", "K", "K",
412
+ "CHST-", "X", "X",
413
+ "CH(S�XZ)3", "X", "X",
414
+ "CHTNI-3", "CHN", "KN",
415
+ "CH^", "K", "K", /** or: "CH", "K" **/
416
+ "CH", "CH", "K",
417
+ "CIC$", "ZIZ", "ZIZ",
418
+ "CIENCEFICT----", "EIENS ", "EIENZ ",
419
+ "CIENCE$", "EIENS", "EIENZ",
420
+ "CIER$", "ZIE", "ZIE",
421
+ "CYB-^", "ZEI", "ZEI",
422
+ "CY9^", "Z�", "ZI",
423
+ "C(IJY)-<3", "Z", "Z",
424
+ "CLOWN-", "KLAU", "KLAU",
425
+ "CCH", "Z", "Z",
426
+ "CCE-", "X", "X",
427
+ "C(CK)-", "", "",
428
+ "CLAUDET---", "KLO", "KLU",
429
+ "CLAUDINE^$", "KLODIN", "KLUTIN",
430
+ "COACH", "KOSH", "KUZ",
431
+ "COLE$", "KOL", "KUL",
432
+ "COUCH", "KAUSH", "KAUZ",
433
+ "COW", "KAU", "KAU",
434
+ "CQUES$", "K", "K",
435
+ "CQUE", "K", "K",
436
+ "CRASH--9", "KRE", "KRE",
437
+ "CREAT-^", "KREA", "KREA",
438
+ "CST", "XT", "XT",
439
+ "CS<^", "Z", "Z",
440
+ "C(S�X)", "X", "X",
441
+ "CT'S$", "X", "X",
442
+ "CT(S�XZ)", "X", "X",
443
+ "CZ<", "Z", "Z",
444
+ "C(�������)3", "Z", "Z",
445
+ "C.^", "C.", "C.",
446
+ "C�-", "Z", "Z",
447
+ "C�$", "Z�", "ZI",
448
+ "C'S$", "X", "X",
449
+ "C<", "K", "K",
450
+ "DAHER^$", "DAHER", null,
451
+ "DARAUFFOLGE-----", "DARAUF ", "TARAUF ",
452
+ "DAVO(NR)-^$", "DAFO", "TAFU",
453
+ "DD(SZ)--<", "", "",
454
+ "DD9", "D", null,
455
+ "DEPOT7", "DEPO", "TEBU",
456
+ "DESIGN", "DISEIN", "TIZEIN",
457
+ "DE(LMNRST)-3^", "DE", "TE",
458
+ "DETTE$", "DET", "TET",
459
+ "DH$", "T", null,
460
+ "DIC$", "DIZ", "TIZ",
461
+ "DIDR-^", "DIT", null,
462
+ "DIEDR-^", "DIT", null,
463
+ "DJ(AEIOU)-^", "I", "I",
464
+ "DMITR-^", "DIMIT", "TINIT",
465
+ "DRY9^", "DR�", null,
466
+ "DT-", "", "",
467
+ "DUIS-^", "D�", "TI",
468
+ "DURCH^^", "DURCH", "TURK",
469
+ "DVA$", "TWA", null,
470
+ "DY9^", "D�", null,
471
+ "DYS$", "DIS", null,
472
+ "DS(CH)--<", "T", "T",
473
+ "DST", "ZT", "ZT",
474
+ "DZS(CH)--", "T", "T",
475
+ "D(S�Z)", "Z", "Z",
476
+ "D(A�EIO�RU�Y)-", "D", null,
477
+ "D(��������������)-", "D", null,
478
+ "D'H^", "D", "T",
479
+ "D�H^", "D", "T",
480
+ "D`H^", "D", "T",
481
+ "D'S3$", "Z", "Z",
482
+ "D�S3$", "Z", "Z",
483
+ "D^", "D", null,
484
+ "D", "T", "T",
485
+ "EAULT$", "O", "U",
486
+ "EAUX$", "O", "U",
487
+ "EAU", "O", "U",
488
+ "EAV", "IW", "IF",
489
+ "EAS3$", "EAS", null,
490
+ "EA(A�EIO��Y)-3", "EA", "EA",
491
+ "EA3$", "EA", "EA",
492
+ "EA3", "I", "I",
493
+ "EBENSO^$", "EBNSO", "EBNZU",
494
+ "EBENSO^^", "EBNSO ", "EBNZU ",
495
+ "EBEN^^", "EBN", "EBN",
496
+ "EE9", "E", "E",
497
+ "EGL-1", "EK", null,
498
+ "EHE(IUY)--1", "EH", null,
499
+ "EHUNG---1", "E", null,
500
+ "EH(A�IO�U�Y)-1", "EH", null,
501
+ "EIEI--", "", "",
502
+ "EIERE^$", "EIERE", null,
503
+ "EIERE$", "EIERE", null,
504
+ "EIERE(NS)-$", "EIERE", null,
505
+ "EIERE(AIOUY)--", "EIER", null,
506
+ "EIER(A�IO�U�Y)-", "EIER", null,
507
+ "EIER<", "EIA", null,
508
+ "EIGL-1", "EIK", null,
509
+ "EIGH$", "EI", "EI",
510
+ "EIH--", "E", "E",
511
+ "EILLE$", "EI", "EI",
512
+ "EIR(BCDFGKLMNQSTVWZ)-", "EIA", "EIA",
513
+ "EIR$", "EIA", "EIA",
514
+ "EITRAUBEN------", "EIT ", "EIT ",
515
+ "EI", "EI", "EI",
516
+ "EJ$", "EI", "EI",
517
+ "ELIZ^", "ELIS", null,
518
+ "ELZ^", "ELS", null,
519
+ "EL-^", "E", "E",
520
+ "ELANG----1", "E", "E",
521
+ "EL(DKL)--1", "E", "E",
522
+ "EL(MNT)--1$", "E", "E",
523
+ "ELYNE$", "ELINE", "ELINE",
524
+ "ELYN$", "ELIN", "ELIN",
525
+ "EL(A�E���I���O�U�Y)-1", "EL", "EL",
526
+ "EL-1", "L", "L",
527
+ "EM-^", null, "E",
528
+ "EM(DFKMPQT)--1", null, "E",
529
+ "EM(A�E���I���O�U�Y)--1", null, "E",
530
+ "EM-1", null, "N",
531
+ "ENGAG-^", "ANGA", "ANKA",
532
+ "EN-^", "E", "E",
533
+ "ENTUEL", "ENTUEL", null,
534
+ "EN(CDGKQSTZ)--1", "E", "E",
535
+ "EN(A�E���I���NO�U�Y)-1", "EN", "EN",
536
+ "EN-1", "", "",
537
+ "ERH(A�EIO�U�)-^", "ERH", "ER",
538
+ "ER-^", "E", "E",
539
+ "ERREGEND-----", " ER", " ER",
540
+ "ERT1$", "AT", null,
541
+ "ER(DGLKMNRQTZ�)-1", "ER", null,
542
+ "ER(A�E���I���O�U�Y)-1", "ER", "A",
543
+ "ER1$", "A", "A",
544
+ "ER<1", "A", "A",
545
+ "ETAT7", "ETA", "ETA",
546
+ "ETI(A�O��U)-", "EZI", "EZI",
547
+ "EUERE$", "EUERE", null,
548
+ "EUERE(NS)-$", "EUERE", null,
549
+ "EUERE(AIOUY)--", "EUER", null,
550
+ "EUER(A�IO�U�Y)-", "EUER", null,
551
+ "EUER<", "EUA", null,
552
+ "EUEU--", "", "",
553
+ "EUILLE$", "�", "�",
554
+ "EUR$", "�R", "�R",
555
+ "EUX", "�", "�",
556
+ "EUSZ$", "EUS", null,
557
+ "EUTZ$", "EUS", null,
558
+ "EUYS$", "EUS", "EUZ",
559
+ "EUZ$", "EUS", null,
560
+ "EU", "EU", "EU",
561
+ "EVER--<1", "EW", null,
562
+ "EV(�O�U�)-1", "EW", null,
563
+ "EYER<", "EIA", "EIA",
564
+ "EY<", "EI", "EI",
565
+ "FACETTE", "FASET", "FAZET",
566
+ "FANS--^$", "FE", "FE",
567
+ "FAN-^$", "FE", "FE",
568
+ "FAULT-", "FOL", "FUL",
569
+ "FEE(DL)-", "FI", "FI",
570
+ "FEHLER", "FELA", "FELA",
571
+ "FE(LMNRST)-3^", "FE", "FE",
572
+ "FOERDERN---^", "F�RD", "F�RT",
573
+ "FOERDERN---", " F�RD", " F�RT",
574
+ "FOND7", "FON", "FUN",
575
+ "FRAIN$", "FRA", "FRA",
576
+ "FRISEU(RS)-", "FRIS�", "FRIZ�",
577
+ "FY9^", "F�", null,
578
+ "F�RDERN---^", "F�RD", "F�RT",
579
+ "F�RDERN---", " F�RD", " F�RT",
580
+ "GAGS^$", "GEX", "KEX",
581
+ "GAG^$", "GEK", "KEK",
582
+ "GD", "KT", "KT",
583
+ "GEGEN^^", "GEGN", "KEKN",
584
+ "GEGENGEKOM-----", "GEGN ", "KEKN ",
585
+ "GEGENGESET-----", "GEGN ", "KEKN ",
586
+ "GEGENKOMME-----", "GEGN ", "KEKN ",
587
+ "GEGENZUKOM---", "GEGN ZU ", "KEKN ZU ",
588
+ "GENDETWAS-----$", "GENT ", "KENT ",
589
+ "GENRE", "IORE", "IURE",
590
+ "GE(LMNRST)-3^", "GE", "KE",
591
+ "GER(DKT)-", "GER", null,
592
+ "GETTE$", "GET", "KET",
593
+ "GGF.", "GF.", null,
594
+ "GG-", "", "",
595
+ "GH", "G", null,
596
+ "GI(AOU)-^", "I", "I",
597
+ "GION-3", "KIO", "KIU",
598
+ "G(CK)-", "", "",
599
+ "GJ(AEIOU)-^", "I", "I",
600
+ "GMBH^$", "GMBH", "GMBH",
601
+ "GNAC$", "NIAK", "NIAK",
602
+ "GNON$", "NION", "NIUN",
603
+ "GN$", "N", "N",
604
+ "GONCAL-^", "GONZA", "KUNZA",
605
+ "GRY9^", "GR�", null,
606
+ "G(S�XZ)-<", "K", "K",
607
+ "GUCK-", "KU", "KU",
608
+ "GUISEP-^", "IUSE", "IUZE",
609
+ "GUI-^", "G", "K",
610
+ "GUTAUSSEH------^", "GUT ", "KUT ",
611
+ "GUTGEHEND------^", "GUT ", "KUT ",
612
+ "GY9^", "G�", null,
613
+ "G(A�EILO�RU�Y)-", "G", null,
614
+ "G(��������������)-", "G", null,
615
+ "G'S$", "X", "X",
616
+ "G�S$", "X", "X",
617
+ "G^", "G", null,
618
+ "G", "K", "K",
619
+ "HA(HIUY)--1", "H", null,
620
+ "HANDVOL---^", "HANT ", "ANT ",
621
+ "HANNOVE-^", "HANOF", null,
622
+ "HAVEN7$", "HAFN", null,
623
+ "HEAD-", "HE", "E",
624
+ "HELIEGEN------", "E ", "E ",
625
+ "HESTEHEN------", "E ", "E ",
626
+ "HE(LMNRST)-3^", "HE", "E",
627
+ "HE(LMN)-1", "E", "E",
628
+ "HEUR1$", "�R", "�R",
629
+ "HE(HIUY)--1", "H", null,
630
+ "HIH(A�EIO�U�Y)-1", "IH", null,
631
+ "HLH(A�EIO�U�Y)-1", "LH", null,
632
+ "HMH(A�EIO�U�Y)-1", "MH", null,
633
+ "HNH(A�EIO�U�Y)-1", "NH", null,
634
+ "HOBBY9^", "HOBI", null,
635
+ "HOCHBEGAB-----^", "HOCH ", "UK ",
636
+ "HOCHTALEN-----^", "HOCH ", "UK ",
637
+ "HOCHZUFRI-----^", "HOCH ", "UK ",
638
+ "HO(HIY)--1", "H", null,
639
+ "HRH(A�EIO�U�Y)-1", "RH", null,
640
+ "HUH(A�EIO�U�Y)-1", "UH", null,
641
+ "HUIS^^", "H�S", "IZ",
642
+ "HUIS$", "�S", "IZ",
643
+ "HUI--1", "H", null,
644
+ "HYGIEN^", "H�KIEN", null,
645
+ "HY9^", "H�", null,
646
+ "HY(BDGMNPST)-", "�", null,
647
+ "H.^", null, "H.",
648
+ "H�U--1", "H", null,
649
+ "H^", "H", "",
650
+ "H", "", "",
651
+ "ICHELL---", "ISH", "IZ",
652
+ "ICHI$", "ISHI", "IZI",
653
+ "IEC$", "IZ", "IZ",
654
+ "IEDENSTELLE------", "IDN ", "ITN ",
655
+ "IEI-3", "", "",
656
+ "IELL3", "IEL", "IEL",
657
+ "IENNE$", "IN", "IN",
658
+ "IERRE$", "IER", "IER",
659
+ "IERZULAN---", "IR ZU ", "IR ZU ",
660
+ "IETTE$", "IT", "IT",
661
+ "IEU", "I�", "I�",
662
+ "IE<4", "I", "I",
663
+ "IGL-1", "IK", null,
664
+ "IGHT3$", "EIT", "EIT",
665
+ "IGNI(EO)-", "INI", "INI",
666
+ "IGN(AEOU)-$", "INI", "INI",
667
+ "IHER(DGLKRT)--1", "IHE", null,
668
+ "IHE(IUY)--", "IH", null,
669
+ "IH(AIO�U�Y)-", "IH", null,
670
+ "IJ(AOU)-", "I", "I",
671
+ "IJ$", "I", "I",
672
+ "IJ<", "EI", "EI",
673
+ "IKOLE$", "IKOL", "IKUL",
674
+ "ILLAN(STZ)--4", "ILIA", "ILIA",
675
+ "ILLAR(DT)--4", "ILIA", "ILIA",
676
+ "IMSTAN----^", "IM ", "IN ",
677
+ "INDELERREGE------", "INDL ", "INTL ",
678
+ "INFRAGE-----^$", "IN ", "IN ",
679
+ "INTERN(AOU)-^", "INTAN", "INTAN",
680
+ "INVER-", "INWE", "INFE",
681
+ "ITI(A�IO�U�)-", "IZI", "IZI",
682
+ "IUSZ$", "IUS", null,
683
+ "IUTZ$", "IUS", null,
684
+ "IUZ$", "IUS", null,
685
+ "IVER--<", "IW", null,
686
+ "IVIER$", "IWIE", "IFIE",
687
+ "IV(�O�U�)-", "IW", null,
688
+ "IV<3", "IW", null,
689
+ "IY2", "I", null,
690
+ "I(���)<4", "I", "I",
691
+ "JAVIE---<^", "ZA", "ZA",
692
+ "JEANS^$", "JINS", "INZ",
693
+ "JEANNE^$", "IAN", "IAN",
694
+ "JEAN-^", "IA", "IA",
695
+ "JER-^", "IE", "IE",
696
+ "JE(LMNST)-", "IE", "IE",
697
+ "JI^", "JI", null,
698
+ "JOR(GK)^$", "I�RK", "I�RK",
699
+ "J", "I", "I",
700
+ "KC(�EIJ)-", "X", "X",
701
+ "KD", "KT", null,
702
+ "KE(LMNRST)-3^", "KE", "KE",
703
+ "KG(A�EILO�RU�Y)-", "K", null,
704
+ "KH<^", "K", "K",
705
+ "KIC$", "KIZ", "KIZ",
706
+ "KLE(LMNRST)-3^", "KLE", "KLE",
707
+ "KOTELE-^", "KOTL", "KUTL",
708
+ "KREAT-^", "KREA", "KREA",
709
+ "KR�S(TZ)--^", "KRI", null,
710
+ "KRYS(TZ)--^", "KRI", null,
711
+ "KRY9^", "KR�", null,
712
+ "KSCH---", "K", "K",
713
+ "KSH--", "K", "K",
714
+ "K(S�XZ)7", "X", "X", /**** implies "KST" -> "XT" ****/
715
+ "KT'S$", "X", "X",
716
+ "KTI(AIOU)-3", "XI", "XI",
717
+ "KT(S�XZ)", "X", "X",
718
+ "KY9^", "K�", null,
719
+ "K'S$", "X", "X",
720
+ "K�S$", "X", "X",
721
+ "LANGES$", " LANGES", " LANKEZ",
722
+ "LANGE$", " LANGE", " LANKE",
723
+ "LANG$", " LANK", " LANK",
724
+ "LARVE-", "LARF", "LARF",
725
+ "LD(S�Z)$", "LS", "LZ",
726
+ "LD'S$", "LS", "LZ",
727
+ "LD�S$", "LS", "LZ",
728
+ "LEAND-^", "LEAN", "LEAN",
729
+ "LEERSTEHE-----^", "LER ", "LER ",
730
+ "LEICHBLEIB-----", "LEICH ", "LEIK ",
731
+ "LEICHLAUTE-----", "LEICH ", "LEIK ",
732
+ "LEIDERREGE------", "LEIT ", "LEIT ",
733
+ "LEIDGEPR----^", "LEIT ", "LEIT ",
734
+ "LEINSTEHE-----", "LEIN ", "LEIN ",
735
+ "LEL-", "LE", "LE",
736
+ "LE(MNRST)-3^", "LE", "LE",
737
+ "LETTE$", "LET", "LET",
738
+ "LFGNAG-", "LFGAN", "LFKAN",
739
+ "LICHERWEIS----", "LICHA ", "LIKA ",
740
+ "LIC$", "LIZ", "LIZ",
741
+ "LIVE^$", "LEIF", "LEIF",
742
+ "LT(S�Z)$", "LS", "LZ",
743
+ "LT'S$", "LS", "LZ",
744
+ "LT�S$", "LS", "LZ",
745
+ "LUI(GS)--", "LU", "LU",
746
+ "LV(AIO)-", "LW", null,
747
+ "LY9^", "L�", null,
748
+ "LSTS$", "LS", "LZ",
749
+ "LZ(BDFGKLMNPQRSTVWX)-", "LS", null,
750
+ "L(S�Z)$", "LS", null,
751
+ "MAIR-<", "MEI", "NEI",
752
+ "MANAG-", "MENE", "NENE",
753
+ "MANUEL", "MANUEL", null,
754
+ "MASSEU(RS)-", "MAS�", "NAZ�",
755
+ "MATCH", "MESH", "NEZ",
756
+ "MAURICE", "MORIS", "NURIZ",
757
+ "MBH^$", "MBH", "MBH",
758
+ "MB(�Z)$", "MS", null,
759
+ "MB(S�TZ)-", "M", "N",
760
+ "MCG9^", "MAK", "NAK",
761
+ "MC9^", "MAK", "NAK",
762
+ "MEMOIR-^", "MEMOA", "NENUA",
763
+ "MERHAVEN$", "MAHAFN", null,
764
+ "ME(LMNRST)-3^", "ME", "NE",
765
+ "MEN(STZ)--3", "ME", null,
766
+ "MEN$", "MEN", null,
767
+ "MIGUEL-", "MIGE", "NIKE",
768
+ "MIKE^$", "MEIK", "NEIK",
769
+ "MITHILFE----^$", "MIT H", "NIT ",
770
+ "MN$", "M", null,
771
+ "MN", "N", "N",
772
+ "MPJUTE-", "MPUT", "NBUT",
773
+ "MP(�Z)$", "MS", null,
774
+ "MP(S�TZ)-", "M", "N",
775
+ "MP(BDJLMNPQVW)-", "MB", "NB",
776
+ "MY9^", "M�", null,
777
+ "M(�Z)$", "MS", null,
778
+ "M�G7^", "MAK", "NAK",
779
+ "M'G7^", "MAK", "NAK",
780
+ "M�^", "MAK", "NAK",
781
+ "M'^", "MAK", "NAK",
782
+ "M", null, "N",
783
+ "NACH^^", "NACH", "NAK",
784
+ "NADINE", "NADIN", "NATIN",
785
+ "NAIV--", "NA", "NA",
786
+ "NAISE$", "NESE", "NEZE",
787
+ "NAUGENOMM------", "NAU ", "NAU ",
788
+ "NAUSOGUT$", "NAUSO GUT", "NAUZU KUT",
789
+ "NCH$", "NSH", "NZ",
790
+ "NCOISE$", "SOA", "ZUA",
791
+ "NCOIS$", "SOA", "ZUA",
792
+ "NDAR$", "NDA", "NTA",
793
+ "NDERINGEN------", "NDE ", "NTE ",
794
+ "NDRO(CDKTZ)-", "NTRO", null,
795
+ "ND(BFGJLMNPQVW)-", "NT", null,
796
+ "ND(S�Z)$", "NS", "NZ",
797
+ "ND'S$", "NS", "NZ",
798
+ "ND�S$", "NS", "NZ",
799
+ "NEBEN^^", "NEBN", "NEBN",
800
+ "NENGELERN------", "NEN ", "NEN ",
801
+ "NENLERN(ET)---", "NEN LE", "NEN LE",
802
+ "NENZULERNE---", "NEN ZU LE", "NEN ZU LE",
803
+ "NE(LMNRST)-3^", "NE", "NE",
804
+ "NEN-3", "NE", "NE",
805
+ "NETTE$", "NET", "NET",
806
+ "NGU^^", "NU", "NU",
807
+ "NG(BDFJLMNPQRTVW)-", "NK", "NK",
808
+ "NH(AUO)-$", "NI", "NI",
809
+ "NICHTSAHNEN-----", "NIX ", "NIX ",
810
+ "NICHTSSAGE----", "NIX ", "NIX ",
811
+ "NICHTS^^", "NIX", "NIX",
812
+ "NICHT^^", "NICHT", "NIKT",
813
+ "NINE$", "NIN", "NIN",
814
+ "NON^^", "NON", "NUN",
815
+ "NOTLEIDE-----^", "NOT ", "NUT ",
816
+ "NOT^^", "NOT", "NUT",
817
+ "NTI(AIOU)-3", "NZI", "NZI",
818
+ "NTIEL--3", "NZI", "NZI",
819
+ "NT(S�Z)$", "NS", "NZ",
820
+ "NT'S$", "NS", "NZ",
821
+ "NT�S$", "NS", "NZ",
822
+ "NYLON", "NEILON", "NEILUN",
823
+ "NY9^", "N�", null,
824
+ "NSTZUNEH---", "NST ZU ", "NZT ZU ",
825
+ "NSZ-", "NS", null,
826
+ "NSTS$", "NS", "NZ",
827
+ "NZ(BDFGKLMNPQRSTVWX)-", "NS", null,
828
+ "N(S�Z)$", "NS", null,
829
+ "OBERE-", "OBER", null,
830
+ "OBER^^", "OBA", "UBA",
831
+ "OEU2", "�", "�",
832
+ "OE<2", "�", "�",
833
+ "OGL-", "OK", null,
834
+ "OGNIE-", "ONI", "UNI",
835
+ "OGN(AEOU)-$", "ONI", "UNI",
836
+ "OH(AIO�U�Y)-", "OH", null,
837
+ "OIE$", "�", "�",
838
+ "OIRE$", "OA", "UA",
839
+ "OIR$", "OA", "UA",
840
+ "OIX", "OA", "UA",
841
+ "OI<3", "EU", "EU",
842
+ "OKAY^$", "OKE", "UKE",
843
+ "OLYN$", "OLIN", "ULIN",
844
+ "OO(DLMZ)-", "U", null,
845
+ "OO$", "U", null,
846
+ "OO-", "", "",
847
+ "ORGINAL-----", "ORI", "URI",
848
+ "OTI(A�O�U�)-", "OZI", "UZI",
849
+ "OUI^", "WI", "FI",
850
+ "OUILLE$", "ULIE", "ULIE",
851
+ "OU(DT)-^", "AU", "AU",
852
+ "OUSE$", "AUS", "AUZ",
853
+ "OUT-", "AU", "AU",
854
+ "OU", "U", "U",
855
+ "O(FV)$", "AU", "AU", /**** due to "OW$" -> "AU" ****/
856
+ "OVER--<", "OW", null,
857
+ "OV(AOU)-", "OW", null,
858
+ "OW$", "AU", "AU",
859
+ "OWS$", "OS", "UZ",
860
+ "OJ(A�EIO�U�)--", "O", "U",
861
+ "OYER", "OIA", null,
862
+ "OY(A�EIO�U�)--", "O", "U",
863
+ "O(JY)<", "EU", "EU",
864
+ "OZ$", "OS", null,
865
+ "O�^", "O", "U",
866
+ "O'^", "O", "U",
867
+ "O", null, "U",
868
+ "PATIEN--^", "PAZI", "PAZI",
869
+ "PENSIO-^", "PANSI", "PANZI",
870
+ "PE(LMNRST)-3^", "PE", "PE",
871
+ "PFER-^", "FE", "FE",
872
+ "P(FH)<", "F", "F",
873
+ "PIC^$", "PIK", "PIK",
874
+ "PIC$", "PIZ", "PIZ",
875
+ "PIPELINE", "PEIBLEIN", "PEIBLEIN",
876
+ "POLYP-", "POL�", null,
877
+ "POLY^^", "POLI", "PULI",
878
+ "PORTRAIT7", "PORTRE", "PURTRE",
879
+ "POWER7", "PAUA", "PAUA",
880
+ "PP(FH)--<", "B", "B",
881
+ "PP-", "", "",
882
+ "PRODUZ-^", "PRODU", "BRUTU",
883
+ "PRODUZI--", " PRODU", " BRUTU",
884
+ "PRIX^$", "PRI", "PRI",
885
+ "PS-^^", "P", null,
886
+ "P(S�Z)^", null, "Z",
887
+ "P(S�Z)$", "BS", null,
888
+ "PT-^", "", "",
889
+ "PTI(A�O�U�)-3", "BZI", "BZI",
890
+ "PY9^", "P�", null,
891
+ "P(A�EIO�RU�Y)-", "P", "P",
892
+ "P(��������������)-", "P", null,
893
+ "P.^", null, "P.",
894
+ "P^", "P", null,
895
+ "P", "B", "B",
896
+ "QI-", "Z", "Z",
897
+ "QUARANT--", "KARA", "KARA",
898
+ "QUE(LMNRST)-3", "KWE", "KFE",
899
+ "QUE$", "K", "K",
900
+ "QUI(NS)$", "KI", "KI",
901
+ "QUIZ7", "KWIS", null,
902
+ "Q(UV)7", "KW", "KF",
903
+ "Q<", "K", "K",
904
+ "RADFAHR----", "RAT ", "RAT ",
905
+ "RAEFTEZEHRE-----", "REFTE ", "REFTE ",
906
+ "RCH", "RCH", "RK",
907
+ "REA(DU)---3^", "R", null,
908
+ "REBSERZEUG------", "REBS ", "REBZ ",
909
+ "RECHERCH^", "RESHASH", "REZAZ",
910
+ "RECYCL--", "RIZEI", "RIZEI",
911
+ "RE(ALST)-3^", "RE", null,
912
+ "REE$", "RI", "RI",
913
+ "RER$", "RA", "RA",
914
+ "RE(MNR)-4", "RE", "RE",
915
+ "RETTE$", "RET", "RET",
916
+ "REUZ$", "REUZ", null,
917
+ "REW$", "RU", "RU",
918
+ "RH<^", "R", "R",
919
+ "RJA(MN)--", "RI", "RI",
920
+ "ROWD-^", "RAU", "RAU",
921
+ "RTEMONNAIE-", "RTMON", "RTNUN",
922
+ "RTI(A�O�U�)-3", "RZI", "RZI",
923
+ "RTIEL--3", "RZI", "RZI",
924
+ "RV(AEOU)-3", "RW", null,
925
+ "RY(KN)-$", "RI", "RI",
926
+ "RY9^", "R�", null,
927
+ "R�FTEZEHRE-----", "REFTE ", "REFTE ",
928
+ "SAISO-^", "SES", "ZEZ",
929
+ "SAFE^$", "SEIF", "ZEIF",
930
+ "SAUCE-^", "SOS", "ZUZ",
931
+ "SCHLAGGEBEN-----<", "SHLAK ", "ZLAK ",
932
+ "SCHSCH---7", "", "",
933
+ "SCHTSCH", "SH", "Z",
934
+ "SC(HZ)<", "SH", "Z",
935
+ "SC", "SK", "ZK",
936
+ "SELBSTST--7^^", "SELB", "ZELB",
937
+ "SELBST7^^", "SELBST", "ZELBZT",
938
+ "SERVICE7^", "S�RWIS", "Z�RFIZ",
939
+ "SERVI-^", "SERW", null,
940
+ "SE(LMNRST)-3^", "SE", "ZE",
941
+ "SETTE$", "SET", "ZET",
942
+ "SHP-^", "S", "Z",
943
+ "SHST", "SHT", "ZT",
944
+ "SHTSH", "SH", "Z",
945
+ "SHT", "ST", "Z",
946
+ "SHY9^", "SH�", null,
947
+ "SH^^", "SH", null,
948
+ "SH3", "SH", "Z",
949
+ "SICHERGEGAN-----^", "SICHA ", "ZIKA ",
950
+ "SICHERGEHE----^", "SICHA ", "ZIKA ",
951
+ "SICHERGESTEL------^", "SICHA ", "ZIKA ",
952
+ "SICHERSTELL-----^", "SICHA ", "ZIKA ",
953
+ "SICHERZU(GS)--^", "SICHA ZU ", "ZIKA ZU ",
954
+ "SIEGLI-^", "SIKL", "ZIKL",
955
+ "SIGLI-^", "SIKL", "ZIKL",
956
+ "SIGHT", "SEIT", "ZEIT",
957
+ "SIGN", "SEIN", "ZEIN",
958
+ "SKI(NPZ)-", "SKI", "ZKI",
959
+ "SKI<^", "SHI", "ZI",
960
+ "SODASS^$", "SO DAS", "ZU TAZ",
961
+ "SODA�^$", "SO DAS", "ZU TAZ",
962
+ "SOGENAN--^", "SO GEN", "ZU KEN",
963
+ "SOUND-", "SAUN", "ZAUN",
964
+ "STAATS^^", "STAZ", "ZTAZ",
965
+ "STADT^^", "STAT", "ZTAT",
966
+ "STANDE$", " STANDE", " ZTANTE",
967
+ "START^^", "START", "ZTART",
968
+ "STAURANT7", "STORAN", "ZTURAN",
969
+ "STEAK-", "STE", "ZTE",
970
+ "STEPHEN-^$", "STEW", null,
971
+ "STERN", "STERN", null,
972
+ "STRAF^^", "STRAF", "ZTRAF",
973
+ "ST'S$", "Z", "Z",
974
+ "ST�S$", "Z", "Z",
975
+ "STST--", "", "",
976
+ "STS(ACE���HI���OU���)--", "ST", "ZT",
977
+ "ST(SZ)", "Z", "Z",
978
+ "SPAREN---^", "SPA", "ZPA",
979
+ "SPAREND----", " SPA", " ZPA",
980
+ "S(PTW)-^^", "S", null,
981
+ "SP", "SP", null,
982
+ "STYN(AE)-$", "STIN", "ZTIN",
983
+ "ST", "ST", "ZT",
984
+ "SUITE<", "SIUT", "ZIUT",
985
+ "SUKE--$", "S", "Z",
986
+ "SURF(EI)-", "S�RF", "Z�RF",
987
+ "SV(AE���I���OU)-<^", "SW", null,
988
+ "SYB(IY)--^", "SIB", null,
989
+ "SYL(KVW)--^", "SI", null,
990
+ "SY9^", "S�", null,
991
+ "SZE(NPT)-^", "ZE", "ZE",
992
+ "SZI(ELN)-^", "ZI", "ZI",
993
+ "SZCZ<", "SH", "Z",
994
+ "SZT<", "ST", "ZT",
995
+ "SZ<3", "SH", "Z",
996
+ "S�L(KVW)--^", "SI", null,
997
+ "S", null, "Z",
998
+ "TCH", "SH", "Z",
999
+ "TD(A�EIO�RU�Y)-", "T", null,
1000
+ "TD(���������������������ݟ)-", "T", null,
1001
+ "TEAT-^", "TEA", "TEA",
1002
+ "TERRAI7^", "TERA", "TERA",
1003
+ "TE(LMNRST)-3^", "TE", "TE",
1004
+ "TH<", "T", "T",
1005
+ "TICHT-", "TIK", "TIK",
1006
+ "TICH$", "TIK", "TIK",
1007
+ "TIC$", "TIZ", "TIZ",
1008
+ "TIGGESTELL-------", "TIK ", "TIK ",
1009
+ "TIGSTELL-----", "TIK ", "TIK ",
1010
+ "TOAS-^", "TO", "TU",
1011
+ "TOILET-", "TOLE", "TULE",
1012
+ "TOIN-", "TOA", "TUA",
1013
+ "TRAECHTI-^", "TRECHT", "TREKT",
1014
+ "TRAECHTIG--", " TRECHT", " TREKT",
1015
+ "TRAINI-", "TREN", "TREN",
1016
+ "TR�CHTI-^", "TRECHT", "TREKT",
1017
+ "TR�CHTIG--", " TRECHT", " TREKT",
1018
+ "TSCH", "SH", "Z",
1019
+ "TSH", "SH", "Z",
1020
+ "TST", "ZT", "ZT",
1021
+ "T(S�)", "Z", "Z",
1022
+ "TT(SZ)--<", "", "",
1023
+ "TT9", "T", "T",
1024
+ "TV^$", "TV", "TV",
1025
+ "TX(AEIOU)-3", "SH", "Z",
1026
+ "TY9^", "T�", null,
1027
+ "TZ-", "", "",
1028
+ "T'S3$", "Z", "Z",
1029
+ "T�S3$", "Z", "Z",
1030
+ "UEBEL(GNRW)-^^", "�BL ", "IBL ",
1031
+ "UEBER^^", "�BA", "IBA",
1032
+ "UE2", "�", "I",
1033
+ "UGL-", "UK", null,
1034
+ "UH(AO�U�Y)-", "UH", null,
1035
+ "UIE$", "�", "I",
1036
+ "UM^^", "UM", "UN",
1037
+ "UNTERE--3", "UNTE", "UNTE",
1038
+ "UNTER^^", "UNTA", "UNTA",
1039
+ "UNVER^^", "UNFA", "UNFA",
1040
+ "UN^^", "UN", "UN",
1041
+ "UTI(A�O�U�)-", "UZI", "UZI",
1042
+ "UVE-4", "UW", null,
1043
+ "UY2", "UI", null,
1044
+ "UZZ", "AS", "AZ",
1045
+ "VACL-^", "WAZ", "FAZ",
1046
+ "VAC$", "WAZ", "FAZ",
1047
+ "VAN DEN ^", "FANDN", "FANTN",
1048
+ "VANES-^", "WANE", null,
1049
+ "VATRO-", "WATR", null,
1050
+ "VA(DHJNT)--^", "F", null,
1051
+ "VEDD-^", "FE", "FE",
1052
+ "VE(BEHIU)--^", "F", null,
1053
+ "VEL(BDLMNT)-^", "FEL", null,
1054
+ "VENTZ-^", "FEN", null,
1055
+ "VEN(NRSZ)-^", "FEN", null,
1056
+ "VER(AB)-^$", "WER", null,
1057
+ "VERBAL^$", "WERBAL", null,
1058
+ "VERBAL(EINS)-^", "WERBAL", null,
1059
+ "VERTEBR--", "WERTE", null,
1060
+ "VEREIN-----", "F", null,
1061
+ "VEREN(AEIOU)-^", "WEREN", null,
1062
+ "VERIFI", "WERIFI", null,
1063
+ "VERON(AEIOU)-^", "WERON", null,
1064
+ "VERSEN^", "FERSN", "FAZN",
1065
+ "VERSIERT--^", "WERSI", null,
1066
+ "VERSIO--^", "WERS", null,
1067
+ "VERSUS", "WERSUS", null,
1068
+ "VERTI(GK)-", "WERTI", null,
1069
+ "VER^^", "FER", "FA",
1070
+ "VERSPRECHE-------", " FER", " FA",
1071
+ "VER$", "WA", null,
1072
+ "VER", "FA", "FA",
1073
+ "VET(HT)-^", "FET", "FET",
1074
+ "VETTE$", "WET", "FET",
1075
+ "VE^", "WE", null,
1076
+ "VIC$", "WIZ", "FIZ",
1077
+ "VIELSAGE----", "FIL ", "FIL ",
1078
+ "VIEL", "FIL", "FIL",
1079
+ "VIEW", "WIU", "FIU",
1080
+ "VILL(AE)-", "WIL", null,
1081
+ "VIS(ACEIKUVWZ)-<^", "WIS", null,
1082
+ "VI(ELS)--^", "F", null,
1083
+ "VILLON--", "WILI", "FILI",
1084
+ "VIZE^^", "FIZE", "FIZE",
1085
+ "VLIE--^", "FL", null,
1086
+ "VL(AEIOU)--", "W", null,
1087
+ "VOKA-^", "WOK", null,
1088
+ "VOL(ATUVW)--^", "WO", null,
1089
+ "VOR^^", "FOR", "FUR",
1090
+ "VR(AEIOU)--", "W", null,
1091
+ "VV9", "W", null,
1092
+ "VY9^", "W�", "FI",
1093
+ "V(�Y)-", "W", null,
1094
+ "V(��������������)-", "W", null,
1095
+ "V(AEIJLRU)-<", "W", null,
1096
+ "V.^", "V.", null,
1097
+ "V<", "F", "F",
1098
+ "WEITERENTWI-----^", "WEITA ", "FEITA ",
1099
+ "WEITREICH-----^", "WEIT ", "FEIT ",
1100
+ "WEITVER^", "WEIT FER", "FEIT FA",
1101
+ "WE(LMNRST)-3^", "WE", "FE",
1102
+ "WER(DST)-", "WER", null,
1103
+ "WIC$", "WIZ", "FIZ",
1104
+ "WIEDERU--", "WIDE", "FITE",
1105
+ "WIEDER^$", "WIDA", "FITA",
1106
+ "WIEDER^^", "WIDA ", "FITA ",
1107
+ "WIEVIEL", "WI FIL", "FI FIL",
1108
+ "WISUEL", "WISUEL", null,
1109
+ "WR-^", "W", null,
1110
+ "WY9^", "W�", "FI",
1111
+ "W(BDFGJKLMNPQRSTZ)-", "F", null,
1112
+ "W$", "F", null,
1113
+ "W", null, "F",
1114
+ "X<^", "Z", "Z",
1115
+ "XHAVEN$", "XAFN", null,
1116
+ "X(CSZ)", "X", "X",
1117
+ "XTS(CH)--", "XT", "XT",
1118
+ "XT(SZ)", "Z", "Z",
1119
+ "YE(LMNRST)-3^", "IE", "IE",
1120
+ "YE-3", "I", "I",
1121
+ "YOR(GK)^$", "I�RK", "I�RK",
1122
+ "Y(AOU)-<7", "I", "I",
1123
+ "Y(BKLMNPRSTX)-1", "�", null,
1124
+ "YVES^$", "IF", "IF",
1125
+ "YVONNE^$", "IWON", "IFUN",
1126
+ "Y.^", "Y.", null,
1127
+ "Y", "I", "I",
1128
+ "ZC(AOU)-", "SK", "ZK",
1129
+ "ZE(LMNRST)-3^", "ZE", "ZE",
1130
+ "ZIEJ$", "ZI", "ZI",
1131
+ "ZIGERJA(HR)-3", "ZIGA IA", "ZIKA IA",
1132
+ "ZL(AEIOU)-", "SL", null,
1133
+ "ZS(CHT)--", "", "",
1134
+ "ZS", "SH", "Z",
1135
+ "ZUERST", "ZUERST", "ZUERST",
1136
+ "ZUGRUNDE^$", "ZU GRUNDE", "ZU KRUNTE",
1137
+ "ZUGRUNDE", "ZU GRUNDE ", "ZU KRUNTE ",
1138
+ "ZUGUNSTEN", "ZU GUNSTN", "ZU KUNZTN",
1139
+ "ZUHAUSE-", "ZU HAUS", "ZU AUZ",
1140
+ "ZULASTEN^$", "ZU LASTN", "ZU LAZTN",
1141
+ "ZURUECK^^", "ZUR�K", "ZURIK",
1142
+ "ZURZEIT", "ZUR ZEIT", "ZUR ZEIT",
1143
+ "ZUR�CK^^", "ZUR�K", "ZURIK",
1144
+ "ZUSTANDE", "ZU STANDE", "ZU ZTANTE",
1145
+ "ZUTAGE", "ZU TAGE", "ZU TAKE",
1146
+ "ZUVER^^", "ZUFA", "ZUFA",
1147
+ "ZUVIEL", "ZU FIL", "ZU FIL",
1148
+ "ZUWENIG", "ZU WENIK", "ZU FENIK",
1149
+ "ZY9^", "Z�", null,
1150
+ "ZYK3$", "ZIK", null,
1151
+ "Z(VW)7^", "SW", null,
1152
+ PHONET_END, PHONET_END, PHONET_END
1153
+ };
1154
+
1155
+ #endif /**** PHONET_GERMAN ****/
1156
+
1157
+
1158
+
1159
+
1160
+ static int set_phonet_language (int rule_set)
1161
+ /**** result: 0 : success ****/
1162
+ /**** -1 : language not found ****/
1163
+ {
1164
+ switch (rule_set)
1165
+ {
1166
+ #ifdef PHONET_NO_LANGUAGE
1167
+ case PHONET_NO_LANGUAGE :
1168
+ phonet_language = phonet_language_no_language;
1169
+ phonet_init = & phonet_init_no_language;
1170
+ phonet_hash = phonet_hash_no_language;
1171
+ phonet_hash_1 = & phonet_hash_no_language_1;
1172
+ phonet_hash_2 = & phonet_hash_no_language_2;
1173
+ phonet_rules = phonet_rules_no_language;
1174
+ return (0);
1175
+ #endif
1176
+
1177
+ #ifdef PHONET_ENGLISH
1178
+ case PHONET_ENGLISH :
1179
+ phonet_language = phonet_language_english;
1180
+ phonet_init = & phonet_init_english;
1181
+ phonet_hash = phonet_hash_english;
1182
+ phonet_hash_1 = & phonet_hash_english_1;
1183
+ phonet_hash_2 = & phonet_hash_english_2;
1184
+ phonet_rules = phonet_rules_english;
1185
+ return (0);
1186
+ #endif
1187
+
1188
+ #ifdef PHONET_GERMAN
1189
+ case PHONET_GERMAN :
1190
+ phonet_language = phonet_language_german;
1191
+ phonet_init = & phonet_init_german;
1192
+ phonet_hash = phonet_hash_german;
1193
+ phonet_hash_1 = & phonet_hash_german_1;
1194
+ phonet_hash_2 = & phonet_hash_german_2;
1195
+ phonet_rules = phonet_rules_german;
1196
+ return (0);
1197
+ #endif
1198
+ }
1199
+ return (-1);
1200
+ }
1201
+
1202
+ #endif /**** _PHONET_H_ ****/
1203
+
1204
+
1205
+ /************************************************************/
1206
+ /**** end of file "phonet.h" ******************************/
1207
+ /************************************************************/