2
Copyright (c) 1993-2008, Cognitive Technologies
5
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
8
* ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
���� ����������� �� ��������� �����, ���� ������ ������� � �����������
11
* ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
������ ����������, ������������ ��� ���������������, ������ �����������
13
��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
����������� ����� �� ��������.
15
* �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
���� ������������ � �������� �������� ��������� �/��� �����������
17
���������, ���������� �� ���� ��, ��� ���������������� �����������
20
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
������������� ������, ��������� � �������������� ��� ���������� ����������
27
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
33
Redistribution and use in source and binary forms, with or without modification,
34
are permitted provided that the following conditions are met:
36
* Redistributions of source code must retain the above copyright notice,
37
this list of conditions and the following disclaimer.
38
* Redistributions in binary form must reproduce the above copyright notice,
39
this list of conditions and the following disclaimer in the documentation
40
and/or other materials provided with the distribution.
41
* Neither the name of the Cognitive Technologies nor the names of its
42
contributors may be used to endorse or promote products derived from this
43
software without specific prior written permission.
45
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
46
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
47
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
49
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
50
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
51
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
52
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
Copyright (c) 1993-2008, Cognitive Technologies
5
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
8
* ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
���� ����������� �� ��������� �����, ���� ������ ������� � �����������
11
* ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
������ ����������, ������������ ��� ���������������, ������ �����������
13
��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
����������� ����� �� ��������.
15
* �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
���� ������������ � �������� �������� ��������� �/��� �����������
17
���������, ���������� �� ���� ��, ��� ���������������� �����������
20
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
������������� ������, ��������� � �������������� ��� ���������� ����������
27
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
33
Redistribution and use in source and binary forms, with or without modification,
34
are permitted provided that the following conditions are met:
36
* Redistributions of source code must retain the above copyright notice,
37
this list of conditions and the following disclaimer.
38
* Redistributions in binary form must reproduce the above copyright notice,
39
this list of conditions and the following disclaimer in the documentation
40
and/or other materials provided with the distribution.
41
* Neither the name of the Cognitive Technologies nor the names of its
42
contributors may be used to endorse or promote products derived from this
43
software without specific prior written permission.
45
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
46
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
47
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
49
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
50
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
51
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
52
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57
57
/*#include <io.h>*/
58
58
#include <string.h>
64
64
#include "compat_defs.h"
66
static Word8 alph_russian[256]={
67
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
68
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 0
69
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 1
70
0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1, // 2
71
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 3
72
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 4
73
0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1, // 5
74
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 6
75
0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0, // 7
76
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 8
77
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 9
78
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // a
79
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // b
80
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // c
81
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // d
82
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // e
83
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // f
85
static Word8 alph_digital[256]={
86
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
87
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 0
88
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 1
89
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, // 2
90
1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, // 3
91
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 4
92
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 5
93
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 6
94
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 7
95
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 8
96
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 9
97
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // a
98
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // b
99
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // c
100
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // d
101
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // e
102
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // f
104
static Word8 alph_ruseng[256]={
105
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
106
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 0
107
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 1
108
0,1,0,1,1,1,1,0,1,1,0,0,0,1,1,1, // 2
109
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 3
110
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 4
111
1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1, // 5
112
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 6
113
1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, // 7
114
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 8
115
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 9
116
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // a
117
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // b
118
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // c
119
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // d
120
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // e
121
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // f
123
static Word8 alph_english[256]={
124
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
125
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 0
126
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 1
127
0,1,0,1,1,1,1,0,1,1,0,0,0,1,1,1, // 2
128
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 3
129
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 4
130
1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1, // 5
131
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 6
132
1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, // 7
133
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 8
134
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 9
135
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // a
136
1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, // b
137
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // c
138
0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, // d
139
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // e
140
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // f
142
static Word8 alph_ce[256]={
143
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
144
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 0
145
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 1
146
0,0,0,1,1,1,1,0,1,1,0,0,0,1,1,1, // 2
147
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 3
148
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 4
149
1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1, // 5
150
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, // 6
151
1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, // 7
152
1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 8
153
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 9
154
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // a
155
1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,0, // b
156
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // c
157
0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, // d
158
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // e
159
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // f
161
static Word8 *alph_lang[LANG_TOTAL]={
162
alph_english , // LANG_ENGLISH 0
163
alph_english , // LANG_GERMAN 1
164
alph_english , // LANG_FRENCH 2
165
alph_russian , // LANG_RUSSIAN 3
166
alph_english , // LANG_SWEDISH 4
167
alph_english , // LANG_SPANISH 5
168
alph_english , // LANG_ITALIAN 6
169
alph_ruseng , // LANG_RUSENG 7
170
alph_russian , // LANG_UKRAINIAN 8
171
alph_russian , // LANG_SERBIAN 9
172
alph_ce , // LANG_CROATIAN 10
173
alph_ce , // LANG_POLISH 11
174
alph_english , // LANG_DANISH 12
175
alph_english , // LANG_PORTUGUESE 13
176
alph_english , // LANG_DUTCH 14
177
alph_digital , // LANG_DIG 15
178
alph_russian , // LANG_UZBEK 16 // 01.09.2000 E.P.
179
alph_russian , // LANG_KAZ 17
180
alph_ruseng , // LANG_KAZ_ENG 18
181
alph_ce , // LANG_CZECH 19
182
alph_ce , // LANG_ROMAN 20
183
alph_ce , // LANG_HUNGAR 21
184
alph_russian , // LANG_BULGAR 22
185
alph_ce , // LANG_SLOVENIAN 23
186
alph_english , // LANG_LATVIAN 24
187
alph_english , // LANG_LITHUANIAN 25
188
alph_english , // LANG_ESTONIAN 26
189
alph_english // LANG_TURKISH 27
192
Bool16 rec_set_alpha(Word8 language, Word8 *alphabet)
194
if( language>=LANG_TOTAL )
196
if( alph_lang[language] )
197
memcpy(alphabet,alph_lang[language],256);
200
if(language==LANG_RUSSIAN || language==LANG_RUSENG ||
201
language==LANG_BULGAR // 01.09.2000 E.P.
211
alphabet[liga_exm]=1;
213
alphabet[liga_uperc]=1;
214
alphabet[liga_lperc]=1;
217
// � ���������� ��� ���� ������� ����. 01.09.2000 E.P.
218
if(language==LANG_BULGAR)
220
alphabet[r_EE_2dot]=0; alphabet[r_e_2dot]=0;
221
alphabet[(Word8)'�']=0; alphabet[(Word8)'�']=0;
222
alphabet[(Word8)'�']=0; alphabet[(Word8)'�']=0;
225
if( language==LANG_UKRAINIAN )
245
alphabet[liga_exm]=1;
247
alphabet[liga_uperc]=1;
248
alphabet[liga_lperc]=1;
250
if( language==LANG_SERBIAN )
274
alphabet[liga_exm]=1;
276
alphabet[liga_uperc]=1;
277
alphabet[liga_lperc]=1;
280
if(language==LANG_CROATIAN)
282
alphabet[CROAT_D ]=1;
283
alphabet[CROAT_d ]=1;
284
alphabet[CROAT_SR]=1;
285
alphabet[CROAT_sr]=1;
286
alphabet[CROAT_CA]=1;
287
alphabet[CROAT_ca]=1;
288
alphabet[CROAT_ZR]=1;
289
alphabet[CROAT_zr]=1;
290
alphabet[CROAT_CR]=1;
291
alphabet[CROAT_cr]=1;
293
if(language == LANG_POLISH )
295
alphabet[POLISH_SS ]=1;
296
alphabet[POLISH_s ]=1;
297
alphabet[POLISH_ZZR]=1;
298
alphabet[POLISH_zr ]=1;
299
alphabet[POLISH_ZZD]=1;
300
alphabet[POLISH_zd ]=1;
301
alphabet[POLISH_CC ]=1;
302
alphabet[POLISH_c ]=1;
303
alphabet[POLISH_EE ]=1;
304
alphabet[POLISH_e ]=1;
305
alphabet[POLISH_NN ]=1;
306
alphabet[POLISH_n ]=1;
307
alphabet[POLISH_OO ]=1;
308
alphabet[POLISH_o ]=1;
309
alphabet[POLISH_LL ]=1;
310
alphabet[POLISH_l ]=1;
313
if( language==LANG_GERMAN )
315
alphabet[AA_2dot_accent ]=1;
316
alphabet[a_2dot_accent ]=1;
317
alphabet[UU_2dot_accent ]=1;
318
alphabet[u_2dot_accent ]=1;
319
alphabet[OO_2dot_accent ]=1;
320
alphabet[o_2dot_accent ]=1;
321
alphabet[0xDF ]=1; // ??? small S-cet
324
if( language==LANG_FRENCH )
326
alphabet[AA_left_accent ]=1;
327
alphabet[AA_roof_accent ]=1;
328
alphabet[CC_bottom_accent ]=1;
329
alphabet[EE_left_accent ]=1;
330
alphabet[EE_right_accent ]=1;
331
alphabet[EE_roof_accent ]=1;
332
alphabet[EE_2dot_accent ]=1;
333
alphabet[II_roof_accent ]=1;
334
alphabet[II_2dot_accent ]=1;
335
alphabet[OO_roof_accent ]=1;
336
alphabet[OE_cap_deaf_sound ]=1;
337
alphabet[AE_cap_deaf_sound ]=1;
338
alphabet[UU_left_accent ]=1;
339
alphabet[UU_roof_accent ]=1;
340
alphabet[UU_2dot_accent ]=1;
342
alphabet[a_left_accent ]=1;
343
alphabet[a_roof_accent ]=1;
344
alphabet[c_bottom_accent ]=1;
345
alphabet[e_left_accent ]=1;
346
alphabet[e_right_accent ]=1;
347
alphabet[e_roof_accent ]=1;
348
alphabet[e_2dot_accent ]=1;
349
alphabet[i_roof_accent ]=1;
350
alphabet[i_2dot_accent ]=1;
351
alphabet[o_roof_accent ]=1;
352
alphabet[oe_deaf_sound ]=1;
353
alphabet[ae_deaf_sound ]=1;
354
alphabet[u_left_accent ]=1;
355
alphabet[u_roof_accent ]=1;
356
alphabet[u_2dot_accent ]=1;
359
if( language==LANG_SWEDISH )
361
alphabet[AA_2dot_accent ]=1;
362
alphabet[OO_2dot_accent ]=1;
363
alphabet[AA_circle_accent ]=1;
365
alphabet[a_2dot_accent ]=1;
366
alphabet[o_2dot_accent ]=1;
367
alphabet[a_circle_accent ]=1;
369
if( language==LANG_SPANISH )
371
alphabet[AA_right_accent ]=1;
372
alphabet[EE_right_accent ]=1;
373
alphabet[II_right_accent ]=1;
374
alphabet[OO_right_accent ]=1;
375
alphabet[UU_right_accent ]=1;
376
alphabet[UU_2dot_accent ]=1;
377
alphabet[NN_tild_accent ]=1;
379
alphabet[a_right_accent ]=1;
380
alphabet[e_right_accent ]=1;
381
alphabet[i_right_accent ]=1;
382
alphabet[o_right_accent ]=1;
383
alphabet[u_right_accent ]=1;
384
alphabet[u_2dot_accent ]=1;
385
alphabet[n_tild_accent ]=1;
387
if( language==LANG_ITALIAN )
389
alphabet[AA_left_accent ]=1;
390
alphabet[EE_left_accent ]=1;
391
alphabet[EE_right_accent]=1;
392
alphabet[II_left_accent ]=1;
393
alphabet[II_right_accent]=1;
394
alphabet[II_roof_accent ]=1;
395
alphabet[OO_left_accent ]=1;
396
alphabet[OO_right_accent]=1;
397
alphabet[UU_left_accent ]=1;
398
alphabet[UU_right_accent]=1;
400
alphabet[a_left_accent ]=1;
401
alphabet[e_left_accent ]=1;
402
alphabet[e_right_accent]=1;
403
alphabet[i_left_accent ]=1;
404
alphabet[i_right_accent]=1;
405
alphabet[i_roof_accent ]=1;
406
alphabet[o_left_accent ]=1;
407
alphabet[o_right_accent]=1;
408
alphabet[u_left_accent ]=1;
409
alphabet[u_right_accent]=1;
411
if( language==LANG_DANISH )
413
alphabet[AE_cap_deaf_sound ]=1;
414
alphabet[AA_circle_accent ]=1;
415
alphabet[OO_crossed ]=1;
417
alphabet[ae_deaf_sound ]=1;
418
alphabet[a_circle_accent ]=1;
419
alphabet[o_crossed ]=1;
421
if( language==LANG_PORTUGUESE )
423
alphabet[AA_left_accent ]=1;
424
alphabet[AA_right_accent]=1;
425
alphabet[AA_tild_accent ]=1;
426
alphabet[AA_roof_accent ]=1;
427
alphabet[CC_bottom_accent ]=1;
428
alphabet[EE_left_accent ]=1;
429
alphabet[EE_right_accent]=1;
430
alphabet[EE_2dot_accent ]=1;
431
alphabet[EE_roof_accent ]=1;
432
alphabet[OO_left_accent ]=1;
433
alphabet[OO_right_accent]=1;
434
alphabet[OO_tild_accent ]=1;
435
alphabet[OO_roof_accent ]=1;
436
alphabet[II_right_accent]=1;
437
alphabet[II_2dot_accent ]=1;
438
alphabet[UU_roof_accent ]=1;
440
alphabet[a_left_accent ]=1;
441
alphabet[a_right_accent]=1;
442
alphabet[a_tild_accent ]=1;
443
alphabet[a_roof_accent ]=1;
444
alphabet[c_bottom_accent ]=1;
445
alphabet[e_left_accent ]=1;
446
alphabet[e_right_accent]=1;
447
alphabet[e_2dot_accent ]=1;
448
alphabet[e_roof_accent ]=1;
449
alphabet[o_left_accent ]=1;
450
alphabet[o_right_accent]=1;
451
alphabet[o_tild_accent ]=1;
452
alphabet[o_roof_accent ]=1;
453
alphabet[i_right_accent]=1;
454
alphabet[i_2dot_accent ]=1;
455
alphabet[u_roof_accent ]=1;
457
if( language==LANG_DUTCH )
459
alphabet[AA_left_accent ]=1;
460
alphabet[AA_2dot_accent ]=1;
461
alphabet[AA_roof_accent ]=1;
462
alphabet[CC_bottom_accent]=1;
463
alphabet[EE_left_accent ]=1;
464
alphabet[EE_right_accent]=1;
465
alphabet[EE_2dot_accent ]=1;
466
alphabet[EE_roof_accent ]=1;
467
alphabet[OO_2dot_accent ]=1;
468
alphabet[NN_tild_accent ]=1;
469
alphabet[II_roof_accent ]=1;
470
alphabet[II_2dot_accent ]=1;
471
alphabet[UU_roof_accent ]=1;
472
alphabet[UU_2dot_accent ]=1;
474
alphabet[a_left_accent ]=1;
475
alphabet[a_2dot_accent ]=1;
476
alphabet[a_roof_accent ]=1;
477
alphabet[c_bottom_accent]=1;
478
alphabet[e_left_accent ]=1;
479
alphabet[e_right_accent]=1;
480
alphabet[e_2dot_accent ]=1;
481
alphabet[e_roof_accent ]=1;
482
alphabet[o_2dot_accent ]=1;
483
alphabet[n_tild_accent ]=1;
484
alphabet[i_roof_accent ]=1;
485
alphabet[i_2dot_accent ]=1;
486
alphabet[u_roof_accent ]=1;
487
alphabet[u_2dot_accent ]=1;
490
// � ����� � ������ ������ ��� ��� cp1250 01.09.2000 E.P.
491
if(is_cen_language(language))
493
alphabet[liga_exm]=1;
494
alphabet[liga_inv_exm]=1;
495
alphabet[right_quocket]=1;
500
if(language==LANG_CZECH)
502
alphabet[AA_right_accent]= alphabet[a_right_accent]=1;
503
alphabet[CC_inv_roof]= alphabet[c_inv_roof]=1;
504
alphabet[DD_inv_roof]= alphabet[d_inv_roof]=1;
505
alphabet[EE_right_accent]= alphabet[e_right_accent]=1;
506
alphabet[EE_inv_roof]= alphabet[e_inv_roof]=1;
507
alphabet[II_right_accent]= alphabet[i_right_accent]=1;
508
alphabet[NN_inv_roof]= alphabet[n_inv_roof]=1;
509
alphabet[OO_right_accent]= alphabet[o_right_accent]=1;
510
alphabet[RR_inv_roof]= alphabet[r_inv_roof]=1;
511
alphabet[SS_inv_roof_latin]= alphabet[s_inv_roof_latin]=1;
512
alphabet[TT_inv_roof]= alphabet[t_inv_roof]=1;
513
alphabet[UU_right_accent]= alphabet[u_right_accent]=1;
514
alphabet[UU_circle_accent]= alphabet[u_circle_accent]=1;
515
alphabet[YY_right_accent]= alphabet[y_right_accent]=1;
516
alphabet[ZZ_inv_roof_latin]= alphabet[z_inv_roof_latin]=1;
519
if(language==LANG_ROMAN)
521
alphabet[AA_semicircle]= alphabet[a_semicircle]=1;
522
alphabet[AA_roof_accent]= alphabet[a_roof_accent]=1;
523
alphabet[II_roof_accent]= alphabet[i_roof_accent]=1;
524
alphabet[SS_bottom_accent]= alphabet[s_bottom_accent]=1;
525
alphabet[TT_bottom_accent]= alphabet[t_bottom_accent]=1;
528
if(language==LANG_HUNGAR)
530
alphabet[AA_right_accent]= alphabet[a_right_accent]=1;
531
alphabet[EE_right_accent]= alphabet[e_right_accent]=1;
532
alphabet[II_right_accent]= alphabet[i_right_accent]=1;
533
alphabet[OO_right_accent]= alphabet[o_right_accent]=1;
534
alphabet[OO_2dot_accent]= alphabet[o_2dot_accent]=1;
535
alphabet[OO_double_right]= alphabet[o_double_right]=1;
538
if(language==LANG_SLOVENIAN)
540
alphabet[CC_inv_roof]= alphabet[c_inv_roof]=1;
541
alphabet[SS_inv_roof_latin]= alphabet[s_inv_roof_latin]=1;
542
alphabet[ZZ_inv_roof_latin]= alphabet[z_inv_roof_latin]=1;
545
// ������������� ���� cp1257 09.07.2001 E.P.
546
if(is_baltic_language(language))
548
alphabet[low_quotes ]=1;
549
alphabet[liga_exm ]=1;
551
alphabet[right_quocket ]=1;
552
alphabet[liga_TM ]=1;
553
alphabet[liga_CC ]=1;
554
alphabet[liga_CR ]=1;
555
alphabet[liga_bull_baltic]=1;
558
if( language==LANG_LATVIAN )
560
// LATVIAN 09.07.2001 E.P.
561
alphabet[AA_macron ]=1; alphabet[a_macron ]=1;
562
alphabet[CC_inv_roof ]=1; alphabet[c_inv_roof ]=1;
563
alphabet[EE_macron ]=1; alphabet[e_macron ]=1;
564
alphabet[GG_bottom_accent ]=1; alphabet[LATVIAN_g ]=1;
565
alphabet[II_macron ]=1; alphabet[i_macron ]=1;
566
alphabet[KK_bottom_accent ]=1; alphabet[k_bottom_accent ]=1;
567
alphabet[LL_bottom_accent ]=1; alphabet[l_bottom_accent ]=1;
568
alphabet[NN_bottom_accent ]=1; alphabet[n_bottom_accent ]=1;
569
alphabet[SS_inv_roof_baltic]=1; alphabet[s_inv_roof_baltic ]=1;
570
alphabet[UU_macron ]=1; alphabet[u_macron ]=1;
571
alphabet[ZZ_inv_roof_baltic]=1; alphabet[z_inv_roof_baltic ]=1;
573
alphabet[(Word8)'Q'] = alphabet[(Word8)'q'] = 0;
574
alphabet[(Word8)'W'] = alphabet[(Word8)'w'] = 0;
575
alphabet[(Word8)'X'] = alphabet[(Word8)'x'] = 0;
576
alphabet[(Word8)'Y'] = alphabet[(Word8)'y'] = 0;
579
if( language==LANG_LITHUANIAN )
581
// LITHUANIAN 09.07.2001 E.P.
582
alphabet[AA_bottom_accent ]=1; alphabet[a_bottom_accent ]=1;
583
alphabet[CC_inv_roof ]=1; alphabet[c_inv_roof ]=1;
584
alphabet[EE_bottom_accent ]=1; alphabet[e_bottom_accent ]=1;
585
alphabet[EE_dot_accent ]=1; alphabet[e_dot_accent ]=1;
586
alphabet[II_bottom_accent ]=1; alphabet[i_bottom_accent ]=1;
587
alphabet[SS_inv_roof_baltic]=1; alphabet[s_inv_roof_baltic ]=1;
588
alphabet[UU_bottom_accent ]=1; alphabet[u_bottom_accent ]=1;
589
alphabet[UU_macron ]=1; alphabet[u_macron ]=1;
590
alphabet[ZZ_inv_roof_baltic]=1; alphabet[z_inv_roof_baltic ]=1;
592
alphabet[(Word8)'Q'] = alphabet[(Word8)'q'] = 0;
593
alphabet[(Word8)'W'] = alphabet[(Word8)'w'] = 0;
594
alphabet[(Word8)'X'] = alphabet[(Word8)'x'] = 0;
597
if( language==LANG_ESTONIAN )
599
// ESTONIAN 09.07.2001 E.P.
600
alphabet[AA_2dot_accent ]=1; alphabet[a_2dot_accent ]=1;
601
alphabet[OO_tild_accent ]=1; alphabet[o_tild_accent ]=1;
602
alphabet[OO_2dot_accent ]=1; alphabet[o_2dot_accent ]=1;
603
alphabet[SS_inv_roof_baltic]=1; alphabet[s_inv_roof_baltic ]=1;
604
alphabet[UU_2dot_accent ]=1; alphabet[u_2dot_accent ]=1;
605
alphabet[ZZ_inv_roof_baltic]=1; alphabet[z_inv_roof_baltic ]=1;
607
alphabet[(Word8)'C'] = alphabet[(Word8)'c'] = 0;
608
alphabet[(Word8)'Q'] = alphabet[(Word8)'q'] = 0;
609
alphabet[(Word8)'W'] = alphabet[(Word8)'w'] = 0;
610
alphabet[(Word8)'X'] = alphabet[(Word8)'x'] = 0;
611
alphabet[(Word8)'Y'] = alphabet[(Word8)'y'] = 0;
615
// �������� ����. 20.05.2002 E.P.
616
if( language==LANG_TURKISH )
618
// �������� ����, �������� �� ������������������
619
alphabet[liga_TM_turkish ]=1;
620
alphabet[liga_CC_turkish ]=1;
621
alphabet[liga_CR_turkish ]=1;
622
alphabet[liga_bull_turkish ]=1;
624
// �������� �����, �������� �� ������������������
625
alphabet[GG_semicircle ]=1;
626
alphabet[g_semicircle ]=1;
627
alphabet[II_dot_accent ]=1;
628
alphabet[i_sans_accent ]=1;
629
alphabet[SS_bottom_accent_turkish ]=1;
630
alphabet[s_bottom_accent_turkish ]=1;
631
alphabet['Q'] = alphabet['q'] = 0;
632
alphabet['W'] = alphabet['w'] = 0;
633
alphabet['X'] = alphabet['x'] = 0;
639
static const char *tabevn1[LANG_TOTAL]={
640
"rec1.dat", // LANG_ENGLISH 0
641
"rec1.dat", // LANG_GERMAN 1
642
"rec1.dat", // LANG_FRENCH 2
643
"rec1rus.dat", // LANG_RUSSIAN 3
644
"rec1.dat", // LANG_SWEDISH 4
645
"rec1.dat", // LANG_SPANISH 5
646
"rec1.dat", // LANG_ITALIAN 6
647
"rec1r&e.dat", // LANG_RUSENG 7
648
"rec1rus.dat", // LANG_UKRAINIAN 8
649
"rec1rus.dat", // LANG_SERBIAN 9
650
"rec1cen.dat", // LANG_CROATIAN 10
651
"rec1cen.dat", // LANG_POLISH 11
652
"rec1n.dat", // LANG_DANISH 12
653
"rec1n.dat", // LANG_PORTUGUESE 13
654
"rec1n.dat", // LANG_DUTCH 14
655
"rec1.dat", // LANG_DIG 15
656
"rec1uzb.dat", // LANG_UZBEK 16 // 01.09.2000 E.P.
657
"rec1kaz.dat", // LANG_KAZ 17
658
"rec1kaz.dat", // LANG_KAZ_ENG 18
659
"rec1cen.dat", // LANG_CZECH 19
660
"rec1cen.dat", // LANG_ROMAN 20
661
"rec1cen.dat", // LANG_HUNGAR 21
662
"rec1rus.dat", // LANG_BULGAR 22
663
"rec1cen.dat", // LANG_SLOVENIAN 23
664
"rec1blt.dat", // LANG_LATVIAN 24
665
"rec1blt.dat", // LANG_LITHUANIAN 25
666
"rec1blt.dat", // LANG_ESTONIAN 26
667
"rec1tur.dat" // LANG_TURKISH 27
670
static const char *tabevn2[LANG_TOTAL]={
671
"rec2.dat", // LANG_ENGLISH 0
672
"rec2.dat", // LANG_GERMAN 1
673
"rec2.dat", // LANG_FRENCH 2
674
"rec2rus.dat", // LANG_RUSSIAN 3
675
"rec2.dat", // LANG_SWEDISH 4
676
"rec2.dat", // LANG_SPANISH 5
677
"rec2.dat", // LANG_ITALIAN 6
678
"rec2r&e.dat", // LANG_RUSENG 7
679
"rec2rus.dat", // LANG_UKRAINIAN 8
680
"rec2rus.dat", // LANG_SERBIAN 9
681
"rec2cen.dat", // LANG_CROATIAN 10
682
"rec2cen.dat", // LANG_POLISH 11
683
"rec2n.dat", // LANG_DANISH 12
684
"rec2n.dat", // LANG_PORTUGUESE 13
685
"rec2n.dat", // LANG_DUTCH 14
686
"rec2.dat", // LANG_DIG 15
687
"rec2uzb.dat", // LANG_UZBEK 16 // 01.09.2000 E.P.
688
"rec2kaz.dat", // LANG_KAZ 17
689
"rec2kaz.dat", // LANG_KAZ_ENG 18
690
"rec2cen.dat", // LANG_CZECH 19
691
"rec2cen.dat", // LANG_ROMAN 20
692
"rec2cen.dat", // LANG_HUNGAR 21
693
"rec2rus.dat", // LANG_BULGAR 22
694
"rec2cen.dat", // LANG_SLOVENIAN 23
695
"rec2blt.dat", // LANG_LATVIAN 24
696
"rec2blt.dat", // LANG_LITHUANIAN 25
697
"rec2blt.dat", // LANG_ESTONIAN 26
698
"rec2tur.dat" // LANG_TURKISH 27
701
Bool16 rec_load_tables(Word8 language) {
702
if (language >= LANG_TOTAL)
704
if (!EVNInitLanguage(tabevn1[language], tabevn2[language], language))
709
Bool16 rec_is_language(Word8 language) {
710
if (language < LANG_ENGLISH || language >= LANG_TOTAL)
712
if (data_file_exists(tabevn1[language]) == -1)
714
if (data_file_exists(tabevn2[language]) == -1)
66
static uchar alph_russian[256] = {
67
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
68
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0
69
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
70
0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, // 2
71
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3
72
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 4
73
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, // 5
74
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 6
75
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, // 7
76
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8
77
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9
78
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // a
79
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // b
80
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // c
81
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // d
82
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // e
83
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // f
85
static uchar alph_digital[256] = {
86
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
87
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0
88
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
89
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2
90
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 3
91
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 4
92
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 5
93
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 6
94
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 7
95
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8
96
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9
97
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // a
98
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // b
99
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // c
100
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // d
101
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // e
102
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // f
104
static uchar alph_ruseng[256] = {
105
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
106
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0
107
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
108
0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, // 2
109
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3
110
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4
111
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, // 5
112
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6
113
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, // 7
114
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8
115
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9
116
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // a
117
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // b
118
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // c
119
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // d
120
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // e
121
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // f
123
static uchar alph_english[256] = {
124
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
125
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0
126
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
127
0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, // 2
128
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3
129
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4
130
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, // 5
131
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6
132
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, // 7
133
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8
134
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9
135
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // a
136
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, // b
137
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // c
138
0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, // d
139
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // e
140
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // f
142
static uchar alph_ce[256] = {
143
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
144
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0
145
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
146
0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, // 2
147
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3
148
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4
149
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, // 5
150
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6
151
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, // 7
152
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8
153
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9
154
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // a
155
1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, // b
156
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // c
157
0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, // d
158
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // e
159
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // f
161
static uchar *alph_lang[LANG_TOTAL] = { alph_english, // LANG_ENGLISH 0
162
alph_english, // LANG_GERMAN 1
163
alph_english, // LANG_FRENCH 2
164
alph_russian, // LANG_RUSSIAN 3
165
alph_english, // LANG_SWEDISH 4
166
alph_english, // LANG_SPANISH 5
167
alph_english, // LANG_ITALIAN 6
168
alph_ruseng, // LANG_RUSENG 7
169
alph_russian, // LANG_UKRAINIAN 8
170
alph_russian, // LANG_SERBIAN 9
171
alph_ce, // LANG_CROATIAN 10
172
alph_ce, // LANG_POLISH 11
173
alph_english, // LANG_DANISH 12
174
alph_english, // LANG_PORTUGUESE 13
175
alph_english, // LANG_DUTCH 14
176
alph_digital, // LANG_DIG 15
177
alph_russian, // LANG_UZBEK 16 // 01.09.2000 E.P.
178
alph_russian, // LANG_KAZ 17
179
alph_ruseng, // LANG_KAZ_ENG 18
180
alph_ce, // LANG_CZECH 19
181
alph_ce, // LANG_ROMAN 20
182
alph_ce, // LANG_HUNGAR 21
183
alph_russian, // LANG_BULGAR 22
184
alph_ce, // LANG_SLOVENIAN 23
185
alph_english, // LANG_LATVIAN 24
186
alph_english, // LANG_LITHUANIAN 25
187
alph_english, // LANG_ESTONIAN 26
188
alph_english // LANG_TURKISH 27
191
Bool16 rec_set_alpha(uchar language, uchar *alphabet) {
192
if (language >= LANG_TOTAL)
194
if (alph_lang[language])
195
memcpy(alphabet, alph_lang[language], 256);
198
if (language == LANG_RUSSIAN || language == LANG_RUSENG || language
199
== LANG_BULGAR // 01.09.2000 E.P.
201
alphabet[r_cu_d] = 1;
202
alphabet[r_cu_g] = 1;
203
alphabet[r_cu_m] = 1;
204
alphabet[r_cu_u] = 1;
205
alphabet[r_cu_z] = 1;
206
alphabet[r_cu_a] = 1;
208
alphabet[liga_exm] = 1;
209
alphabet[liga_qm] = 1;
210
alphabet[liga_uperc] = 1;
211
alphabet[liga_lperc] = 1;
214
// � ���������� ��� ���� ������� ����. 01.09.2000 E.P.
215
if (language == LANG_BULGAR) {
216
alphabet[r_EE_2dot] = 0;
217
alphabet[r_e_2dot] = 0;
218
alphabet[(uchar) '�'] = 0;
219
alphabet[(uchar) '�'] = 0;
220
alphabet[(uchar) '�'] = 0;
221
alphabet[(uchar) '�'] = 0;
224
if (language == LANG_UKRAINIAN) {
225
alphabet[r_cu_d] = 1;
226
alphabet[r_cu_g] = 1;
227
alphabet[r_cu_m] = 1;
228
alphabet[r_cu_u] = 1;
229
alphabet[r_cu_z] = 1;
230
alphabet[r_cu_a] = 1;
235
alphabet[UKR_II] = 1;
236
alphabet[UKR_ii] = 1;
241
alphabet[liga_i] = 1;
243
alphabet[liga_exm] = 1;
244
alphabet[liga_qm] = 1;
245
alphabet[liga_uperc] = 1;
246
alphabet[liga_lperc] = 1;
248
if (language == LANG_SERBIAN) {
249
alphabet[r_cu_d] = 1;
250
alphabet[r_cu_g] = 1;
251
alphabet[r_cu_m] = 1;
252
alphabet[r_cu_u] = 1;
253
alphabet[r_cu_z] = 1;
254
alphabet[r_cu_a] = 1;
255
alphabet[SERB_HH] = 1;
256
alphabet[SERB_hh] = 1;
257
alphabet[SERB_L] = 1;
258
alphabet[SERB_l] = 1;
259
alphabet[SERB_N] = 1;
260
alphabet[SERB_n] = 1;
261
alphabet[SERB_H] = 1;
262
alphabet[SERB_h] = 1;
263
alphabet[SERB_U] = 1;
264
alphabet[SERB_u] = 1;
265
alphabet[SERB_J] = 1;
266
alphabet[SERB_j] = 1;
269
alphabet[liga_j] = 1;
271
alphabet[liga_exm] = 1;
272
alphabet[liga_qm] = 1;
273
alphabet[liga_uperc] = 1;
274
alphabet[liga_lperc] = 1;
277
if (language == LANG_CROATIAN) {
278
alphabet[CROAT_D] = 1;
279
alphabet[CROAT_d] = 1;
280
alphabet[CROAT_SR] = 1;
281
alphabet[CROAT_sr] = 1;
282
alphabet[CROAT_CA] = 1;
283
alphabet[CROAT_ca] = 1;
284
alphabet[CROAT_ZR] = 1;
285
alphabet[CROAT_zr] = 1;
286
alphabet[CROAT_CR] = 1;
287
alphabet[CROAT_cr] = 1;
289
if (language == LANG_POLISH) {
290
alphabet[POLISH_SS] = 1;
291
alphabet[POLISH_s] = 1;
292
alphabet[POLISH_ZZR] = 1;
293
alphabet[POLISH_zr] = 1;
294
alphabet[POLISH_ZZD] = 1;
295
alphabet[POLISH_zd] = 1;
296
alphabet[POLISH_CC] = 1;
297
alphabet[POLISH_c] = 1;
298
alphabet[POLISH_EE] = 1;
299
alphabet[POLISH_e] = 1;
300
alphabet[POLISH_NN] = 1;
301
alphabet[POLISH_n] = 1;
302
alphabet[POLISH_OO] = 1;
303
alphabet[POLISH_o] = 1;
304
alphabet[POLISH_LL] = 1;
305
alphabet[POLISH_l] = 1;
308
if (language == LANG_GERMAN) {
309
alphabet[AA_2dot_accent] = 1;
310
alphabet[a_2dot_accent] = 1;
311
alphabet[UU_2dot_accent] = 1;
312
alphabet[u_2dot_accent] = 1;
313
alphabet[OO_2dot_accent] = 1;
314
alphabet[o_2dot_accent] = 1;
315
alphabet[0xDF] = 1; // ??? small S-cet
318
if (language == LANG_FRENCH) {
319
alphabet[AA_left_accent] = 1;
320
alphabet[AA_roof_accent] = 1;
321
alphabet[CC_bottom_accent] = 1;
322
alphabet[EE_left_accent] = 1;
323
alphabet[EE_right_accent] = 1;
324
alphabet[EE_roof_accent] = 1;
325
alphabet[EE_2dot_accent] = 1;
326
alphabet[II_roof_accent] = 1;
327
alphabet[II_2dot_accent] = 1;
328
alphabet[OO_roof_accent] = 1;
329
alphabet[OE_cap_deaf_sound] = 1;
330
alphabet[AE_cap_deaf_sound] = 1;
331
alphabet[UU_left_accent] = 1;
332
alphabet[UU_roof_accent] = 1;
333
alphabet[UU_2dot_accent] = 1;
335
alphabet[a_left_accent] = 1;
336
alphabet[a_roof_accent] = 1;
337
alphabet[c_bottom_accent] = 1;
338
alphabet[e_left_accent] = 1;
339
alphabet[e_right_accent] = 1;
340
alphabet[e_roof_accent] = 1;
341
alphabet[e_2dot_accent] = 1;
342
alphabet[i_roof_accent] = 1;
343
alphabet[i_2dot_accent] = 1;
344
alphabet[o_roof_accent] = 1;
345
alphabet[oe_deaf_sound] = 1;
346
alphabet[ae_deaf_sound] = 1;
347
alphabet[u_left_accent] = 1;
348
alphabet[u_roof_accent] = 1;
349
alphabet[u_2dot_accent] = 1;
352
if (language == LANG_SWEDISH) {
353
alphabet[AA_2dot_accent] = 1;
354
alphabet[OO_2dot_accent] = 1;
355
alphabet[AA_circle_accent] = 1;
357
alphabet[a_2dot_accent] = 1;
358
alphabet[o_2dot_accent] = 1;
359
alphabet[a_circle_accent] = 1;
361
if (language == LANG_SPANISH) {
362
alphabet[AA_right_accent] = 1;
363
alphabet[EE_right_accent] = 1;
364
alphabet[II_right_accent] = 1;
365
alphabet[OO_right_accent] = 1;
366
alphabet[UU_right_accent] = 1;
367
alphabet[UU_2dot_accent] = 1;
368
alphabet[NN_tild_accent] = 1;
370
alphabet[a_right_accent] = 1;
371
alphabet[e_right_accent] = 1;
372
alphabet[i_right_accent] = 1;
373
alphabet[o_right_accent] = 1;
374
alphabet[u_right_accent] = 1;
375
alphabet[u_2dot_accent] = 1;
376
alphabet[n_tild_accent] = 1;
378
if (language == LANG_ITALIAN) {
379
alphabet[AA_left_accent] = 1;
380
alphabet[EE_left_accent] = 1;
381
alphabet[EE_right_accent] = 1;
382
alphabet[II_left_accent] = 1;
383
alphabet[II_right_accent] = 1;
384
alphabet[II_roof_accent] = 1;
385
alphabet[OO_left_accent] = 1;
386
alphabet[OO_right_accent] = 1;
387
alphabet[UU_left_accent] = 1;
388
alphabet[UU_right_accent] = 1;
390
alphabet[a_left_accent] = 1;
391
alphabet[e_left_accent] = 1;
392
alphabet[e_right_accent] = 1;
393
alphabet[i_left_accent] = 1;
394
alphabet[i_right_accent] = 1;
395
alphabet[i_roof_accent] = 1;
396
alphabet[o_left_accent] = 1;
397
alphabet[o_right_accent] = 1;
398
alphabet[u_left_accent] = 1;
399
alphabet[u_right_accent] = 1;
401
if (language == LANG_DANISH) {
402
alphabet[AE_cap_deaf_sound] = 1;
403
alphabet[AA_circle_accent] = 1;
404
alphabet[OO_crossed] = 1;
406
alphabet[ae_deaf_sound] = 1;
407
alphabet[a_circle_accent] = 1;
408
alphabet[o_crossed] = 1;
410
if (language == LANG_PORTUGUESE) {
411
alphabet[AA_left_accent] = 1;
412
alphabet[AA_right_accent] = 1;
413
alphabet[AA_tild_accent] = 1;
414
alphabet[AA_roof_accent] = 1;
415
alphabet[CC_bottom_accent] = 1;
416
alphabet[EE_left_accent] = 1;
417
alphabet[EE_right_accent] = 1;
418
alphabet[EE_2dot_accent] = 1;
419
alphabet[EE_roof_accent] = 1;
420
alphabet[OO_left_accent] = 1;
421
alphabet[OO_right_accent] = 1;
422
alphabet[OO_tild_accent] = 1;
423
alphabet[OO_roof_accent] = 1;
424
alphabet[II_right_accent] = 1;
425
alphabet[II_2dot_accent] = 1;
426
alphabet[UU_roof_accent] = 1;
428
alphabet[a_left_accent] = 1;
429
alphabet[a_right_accent] = 1;
430
alphabet[a_tild_accent] = 1;
431
alphabet[a_roof_accent] = 1;
432
alphabet[c_bottom_accent] = 1;
433
alphabet[e_left_accent] = 1;
434
alphabet[e_right_accent] = 1;
435
alphabet[e_2dot_accent] = 1;
436
alphabet[e_roof_accent] = 1;
437
alphabet[o_left_accent] = 1;
438
alphabet[o_right_accent] = 1;
439
alphabet[o_tild_accent] = 1;
440
alphabet[o_roof_accent] = 1;
441
alphabet[i_right_accent] = 1;
442
alphabet[i_2dot_accent] = 1;
443
alphabet[u_roof_accent] = 1;
445
if (language == LANG_DUTCH) {
446
alphabet[AA_left_accent] = 1;
447
alphabet[AA_2dot_accent] = 1;
448
alphabet[AA_roof_accent] = 1;
449
alphabet[CC_bottom_accent] = 1;
450
alphabet[EE_left_accent] = 1;
451
alphabet[EE_right_accent] = 1;
452
alphabet[EE_2dot_accent] = 1;
453
alphabet[EE_roof_accent] = 1;
454
alphabet[OO_2dot_accent] = 1;
455
alphabet[NN_tild_accent] = 1;
456
alphabet[II_roof_accent] = 1;
457
alphabet[II_2dot_accent] = 1;
458
alphabet[UU_roof_accent] = 1;
459
alphabet[UU_2dot_accent] = 1;
461
alphabet[a_left_accent] = 1;
462
alphabet[a_2dot_accent] = 1;
463
alphabet[a_roof_accent] = 1;
464
alphabet[c_bottom_accent] = 1;
465
alphabet[e_left_accent] = 1;
466
alphabet[e_right_accent] = 1;
467
alphabet[e_2dot_accent] = 1;
468
alphabet[e_roof_accent] = 1;
469
alphabet[o_2dot_accent] = 1;
470
alphabet[n_tild_accent] = 1;
471
alphabet[i_roof_accent] = 1;
472
alphabet[i_2dot_accent] = 1;
473
alphabet[u_roof_accent] = 1;
474
alphabet[u_2dot_accent] = 1;
477
// � ����� � ������ ������ ��� ��� cp1250 01.09.2000 E.P.
478
if (is_cen_language(language)) {
479
alphabet[liga_exm] = 1;
480
alphabet[liga_inv_exm] = 1;
481
alphabet[right_quocket] = 1;
482
alphabet[liga_CC] = 1;
483
alphabet[liga_CR] = 1;
486
if (language == LANG_CZECH) {
487
alphabet[AA_right_accent] = alphabet[a_right_accent] = 1;
488
alphabet[CC_inv_roof] = alphabet[c_inv_roof] = 1;
489
alphabet[DD_inv_roof] = alphabet[d_inv_roof] = 1;
490
alphabet[EE_right_accent] = alphabet[e_right_accent] = 1;
491
alphabet[EE_inv_roof] = alphabet[e_inv_roof] = 1;
492
alphabet[II_right_accent] = alphabet[i_right_accent] = 1;
493
alphabet[NN_inv_roof] = alphabet[n_inv_roof] = 1;
494
alphabet[OO_right_accent] = alphabet[o_right_accent] = 1;
495
alphabet[RR_inv_roof] = alphabet[r_inv_roof] = 1;
496
alphabet[SS_inv_roof_latin] = alphabet[s_inv_roof_latin] = 1;
497
alphabet[TT_inv_roof] = alphabet[t_inv_roof] = 1;
498
alphabet[UU_right_accent] = alphabet[u_right_accent] = 1;
499
alphabet[UU_circle_accent] = alphabet[u_circle_accent] = 1;
500
alphabet[YY_right_accent] = alphabet[y_right_accent] = 1;
501
alphabet[ZZ_inv_roof_latin] = alphabet[z_inv_roof_latin] = 1;
504
if (language == LANG_ROMAN) {
505
alphabet[AA_semicircle] = alphabet[a_semicircle] = 1;
506
alphabet[AA_roof_accent] = alphabet[a_roof_accent] = 1;
507
alphabet[II_roof_accent] = alphabet[i_roof_accent] = 1;
508
alphabet[SS_bottom_accent] = alphabet[s_bottom_accent] = 1;
509
alphabet[TT_bottom_accent] = alphabet[t_bottom_accent] = 1;
512
if (language == LANG_HUNGAR) {
513
alphabet[AA_right_accent] = alphabet[a_right_accent] = 1;
514
alphabet[EE_right_accent] = alphabet[e_right_accent] = 1;
515
alphabet[II_right_accent] = alphabet[i_right_accent] = 1;
516
alphabet[OO_right_accent] = alphabet[o_right_accent] = 1;
517
alphabet[OO_2dot_accent] = alphabet[o_2dot_accent] = 1;
518
alphabet[OO_double_right] = alphabet[o_double_right] = 1;
521
if (language == LANG_SLOVENIAN) {
522
alphabet[CC_inv_roof] = alphabet[c_inv_roof] = 1;
523
alphabet[SS_inv_roof_latin] = alphabet[s_inv_roof_latin] = 1;
524
alphabet[ZZ_inv_roof_latin] = alphabet[z_inv_roof_latin] = 1;
527
// ������������� ���� cp1257 09.07.2001 E.P.
528
if (is_baltic_language(language)) {
529
alphabet[low_quotes] = 1;
530
alphabet[liga_exm] = 1;
531
alphabet[liga_i] = 1;
532
alphabet[right_quocket] = 1;
533
alphabet[liga_TM] = 1;
534
alphabet[liga_CC] = 1;
535
alphabet[liga_CR] = 1;
536
alphabet[liga_bull_baltic] = 1;
539
if (language == LANG_LATVIAN) {
540
// LATVIAN 09.07.2001 E.P.
541
alphabet[AA_macron] = 1;
542
alphabet[a_macron] = 1;
543
alphabet[CC_inv_roof] = 1;
544
alphabet[c_inv_roof] = 1;
545
alphabet[EE_macron] = 1;
546
alphabet[e_macron] = 1;
547
alphabet[GG_bottom_accent] = 1;
548
alphabet[LATVIAN_g] = 1;
549
alphabet[II_macron] = 1;
550
alphabet[i_macron] = 1;
551
alphabet[KK_bottom_accent] = 1;
552
alphabet[k_bottom_accent] = 1;
553
alphabet[LL_bottom_accent] = 1;
554
alphabet[l_bottom_accent] = 1;
555
alphabet[NN_bottom_accent] = 1;
556
alphabet[n_bottom_accent] = 1;
557
alphabet[SS_inv_roof_baltic] = 1;
558
alphabet[s_inv_roof_baltic] = 1;
559
alphabet[UU_macron] = 1;
560
alphabet[u_macron] = 1;
561
alphabet[ZZ_inv_roof_baltic] = 1;
562
alphabet[z_inv_roof_baltic] = 1;
564
alphabet[(uchar) 'Q'] = alphabet[(uchar) 'q'] = 0;
565
alphabet[(uchar) 'W'] = alphabet[(uchar) 'w'] = 0;
566
alphabet[(uchar) 'X'] = alphabet[(uchar) 'x'] = 0;
567
alphabet[(uchar) 'Y'] = alphabet[(uchar) 'y'] = 0;
570
if (language == LANG_LITHUANIAN) {
571
// LITHUANIAN 09.07.2001 E.P.
572
alphabet[AA_bottom_accent] = 1;
573
alphabet[a_bottom_accent] = 1;
574
alphabet[CC_inv_roof] = 1;
575
alphabet[c_inv_roof] = 1;
576
alphabet[EE_bottom_accent] = 1;
577
alphabet[e_bottom_accent] = 1;
578
alphabet[EE_dot_accent] = 1;
579
alphabet[e_dot_accent] = 1;
580
alphabet[II_bottom_accent] = 1;
581
alphabet[i_bottom_accent] = 1;
582
alphabet[SS_inv_roof_baltic] = 1;
583
alphabet[s_inv_roof_baltic] = 1;
584
alphabet[UU_bottom_accent] = 1;
585
alphabet[u_bottom_accent] = 1;
586
alphabet[UU_macron] = 1;
587
alphabet[u_macron] = 1;
588
alphabet[ZZ_inv_roof_baltic] = 1;
589
alphabet[z_inv_roof_baltic] = 1;
591
alphabet[(uchar) 'Q'] = alphabet[(uchar) 'q'] = 0;
592
alphabet[(uchar) 'W'] = alphabet[(uchar) 'w'] = 0;
593
alphabet[(uchar) 'X'] = alphabet[(uchar) 'x'] = 0;
596
if (language == LANG_ESTONIAN) {
597
// ESTONIAN 09.07.2001 E.P.
598
alphabet[AA_2dot_accent] = 1;
599
alphabet[a_2dot_accent] = 1;
600
alphabet[OO_tild_accent] = 1;
601
alphabet[o_tild_accent] = 1;
602
alphabet[OO_2dot_accent] = 1;
603
alphabet[o_2dot_accent] = 1;
604
alphabet[SS_inv_roof_baltic] = 1;
605
alphabet[s_inv_roof_baltic] = 1;
606
alphabet[UU_2dot_accent] = 1;
607
alphabet[u_2dot_accent] = 1;
608
alphabet[ZZ_inv_roof_baltic] = 1;
609
alphabet[z_inv_roof_baltic] = 1;
611
alphabet[(uchar) 'C'] = alphabet[(uchar) 'c'] = 0;
612
alphabet[(uchar) 'Q'] = alphabet[(uchar) 'q'] = 0;
613
alphabet[(uchar) 'W'] = alphabet[(uchar) 'w'] = 0;
614
alphabet[(uchar) 'X'] = alphabet[(uchar) 'x'] = 0;
615
alphabet[(uchar) 'Y'] = alphabet[(uchar) 'y'] = 0;
619
// �������� ����. 20.05.2002 E.P.
620
if (language == LANG_TURKISH) {
621
// �������� ����, �������� �� ������������������
622
alphabet[liga_TM_turkish] = 1;
623
alphabet[liga_CC_turkish] = 1;
624
alphabet[liga_CR_turkish] = 1;
625
alphabet[liga_bull_turkish] = 1;
627
// �������� �����, �������� �� ������������������
628
alphabet[GG_semicircle] = 1;
629
alphabet[g_semicircle] = 1;
630
alphabet[II_dot_accent] = 1;
631
alphabet[i_sans_accent] = 1;
632
alphabet[SS_bottom_accent_turkish] = 1;
633
alphabet[s_bottom_accent_turkish] = 1;
634
alphabet['Q'] = alphabet['q'] = 0;
635
alphabet['W'] = alphabet['w'] = 0;
636
alphabet['X'] = alphabet['x'] = 0;
642
static const char *tabevn1[LANG_TOTAL] = { "rec1.dat", // LANG_ENGLISH 0
643
"rec1.dat", // LANG_GERMAN 1
644
"rec1.dat", // LANG_FRENCH 2
645
"rec1rus.dat", // LANG_RUSSIAN 3
646
"rec1.dat", // LANG_SWEDISH 4
647
"rec1.dat", // LANG_SPANISH 5
648
"rec1.dat", // LANG_ITALIAN 6
649
"rec1r&e.dat", // LANG_RUSENG 7
650
"rec1rus.dat", // LANG_UKRAINIAN 8
651
"rec1rus.dat", // LANG_SERBIAN 9
652
"rec1cen.dat", // LANG_CROATIAN 10
653
"rec1cen.dat", // LANG_POLISH 11
654
"rec1n.dat", // LANG_DANISH 12
655
"rec1n.dat", // LANG_PORTUGUESE 13
656
"rec1n.dat", // LANG_DUTCH 14
657
"rec1.dat", // LANG_DIG 15
658
"rec1uzb.dat", // LANG_UZBEK 16 // 01.09.2000 E.P.
659
"rec1kaz.dat", // LANG_KAZ 17
660
"rec1kaz.dat", // LANG_KAZ_ENG 18
661
"rec1cen.dat", // LANG_CZECH 19
662
"rec1cen.dat", // LANG_ROMAN 20
663
"rec1cen.dat", // LANG_HUNGAR 21
664
"rec1rus.dat", // LANG_BULGAR 22
665
"rec1cen.dat", // LANG_SLOVENIAN 23
666
"rec1blt.dat", // LANG_LATVIAN 24
667
"rec1blt.dat", // LANG_LITHUANIAN 25
668
"rec1blt.dat", // LANG_ESTONIAN 26
669
"rec1tur.dat" // LANG_TURKISH 27
672
static const char *tabevn2[LANG_TOTAL] = { "rec2.dat", // LANG_ENGLISH 0
673
"rec2.dat", // LANG_GERMAN 1
674
"rec2.dat", // LANG_FRENCH 2
675
"rec2rus.dat", // LANG_RUSSIAN 3
676
"rec2.dat", // LANG_SWEDISH 4
677
"rec2.dat", // LANG_SPANISH 5
678
"rec2.dat", // LANG_ITALIAN 6
679
"rec2r&e.dat", // LANG_RUSENG 7
680
"rec2rus.dat", // LANG_UKRAINIAN 8
681
"rec2rus.dat", // LANG_SERBIAN 9
682
"rec2cen.dat", // LANG_CROATIAN 10
683
"rec2cen.dat", // LANG_POLISH 11
684
"rec2n.dat", // LANG_DANISH 12
685
"rec2n.dat", // LANG_PORTUGUESE 13
686
"rec2n.dat", // LANG_DUTCH 14
687
"rec2.dat", // LANG_DIG 15
688
"rec2uzb.dat", // LANG_UZBEK 16 // 01.09.2000 E.P.
689
"rec2kaz.dat", // LANG_KAZ 17
690
"rec2kaz.dat", // LANG_KAZ_ENG 18
691
"rec2cen.dat", // LANG_CZECH 19
692
"rec2cen.dat", // LANG_ROMAN 20
693
"rec2cen.dat", // LANG_HUNGAR 21
694
"rec2rus.dat", // LANG_BULGAR 22
695
"rec2cen.dat", // LANG_SLOVENIAN 23
696
"rec2blt.dat", // LANG_LATVIAN 24
697
"rec2blt.dat", // LANG_LITHUANIAN 25
698
"rec2blt.dat", // LANG_ESTONIAN 26
699
"rec2tur.dat" // LANG_TURKISH 27
702
Bool16 rec_load_tables(uchar language) {
703
if (language >= LANG_TOTAL)
705
if (!EVNInitLanguage(tabevn1[language], tabevn2[language], language))
710
Bool16 rec_is_language(uchar language) {
711
if (language < LANG_ENGLISH || language >= LANG_TOTAL)
713
if (data_file_exists(tabevn1[language]) == -1)
715
if (data_file_exists(tabevn2[language]) == -1)