2
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
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
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
33
Redistribution and use in source and binary forms, with or without modification,
34
34
are permitted provided that the following conditions are met:
136
136
static long _SearchFormat(long prev)
140
enumFormatCode[i].format>=0 &&
141
i<sizeof(enumFormatCode)/sizeof(enumFormatCode[0]);
143
if(prev == enumFormatCode[i].format)
140
enumFormatCode[i].format>=0 &&
141
i<sizeof(enumFormatCode)/sizeof(enumFormatCode[0]);
143
if(prev == enumFormatCode[i].format)
151
151
long _EnumFormats(long prev)
155
rc = enumFormatCode[0].format;
158
int i = _SearchFormat(prev);
160
rc = enumFormatCode[i+1].format;
155
rc = enumFormatCode[0].format;
158
int i = _SearchFormat(prev);
160
rc = enumFormatCode[i+1].format;
165
165
long _EnumCodes(long f,long prev)
169
int format = _SearchFormat(f);
173
rc = enumFormatCode[format].code[0];
177
enumFormatCode[format].code[i]>=0 &&
178
i<sizeof(enumFormatCode[format].code)/sizeof(enumFormatCode[format].code[0]);
180
if(prev == enumFormatCode[format].code[i])
182
rc = enumFormatCode[format].code[i+1];
169
int format = _SearchFormat(f);
173
rc = enumFormatCode[format].code[0];
177
enumFormatCode[format].code[i]>=0 &&
178
i<sizeof(enumFormatCode[format].code)/sizeof(enumFormatCode[format].code[0]);
180
if(prev == enumFormatCode[format].code[i])
182
rc = enumFormatCode[format].code[i+1];
190
static long enumLanguage[] =
192
PUMA_LANG_ENGLISH , // 0
193
PUMA_LANG_GERMAN , // 1
194
PUMA_LANG_FRENCH , // 2
195
PUMA_LANG_RUSSIAN , // 3
196
PUMA_LANG_SWEDISH , // 4
197
PUMA_LANG_SPANISH , // 5
198
PUMA_LANG_ITALIAN , // 6
199
PUMA_LANG_RUSENG , // 7
200
PUMA_LANG_UKRAINIAN , // 8
201
PUMA_LANG_SERBIAN , // 9
202
PUMA_LANG_CROATIAN , // 10
203
PUMA_LANG_POLISH , // 11
204
PUMA_LANG_DANISH , // 12
205
PUMA_LANG_PORTUGUESE, // 13
206
PUMA_LANG_DUTCH , // 14
207
PUMA_LANG_DIG , // 15
208
PUMA_LANG_UZBEK , // 16
209
PUMA_LANG_KAZ , // 17
210
PUMA_LANG_KAZ_ENG , // 18
211
PUMA_LANG_CZECH , // 19 01.09.2000 E.P.
212
PUMA_LANG_ROMAN , // 20
213
PUMA_LANG_HUNGAR , // 21
214
PUMA_LANG_BULGAR , // 22
215
PUMA_LANG_SLOVENIAN , // 23 25.05.2001 E.P.
216
PUMA_LANG_LATVIAN , // 24 16.07.2001 E.P.
217
PUMA_LANG_LITHUANIAN, // 25
218
PUMA_LANG_ESTONIAN , // 26
219
PUMA_LANG_TURKISH , // 27
190
static long enumLanguage[] = {
199
LANG_UKRAINIAN , // 8
201
LANG_CROATIAN , // 10
204
LANG_PORTUGUESE, // 13
210
LANG_CZECH , // 19 01.09.2000 E.P.
214
LANG_SLOVENIAN , // 23 25.05.2001 E.P.
215
LANG_LATVIAN , // 24 16.07.2001 E.P.
216
LANG_LITHUANIAN, // 25
217
LANG_ESTONIAN , // 26
223
222
long _EnumLanguage(long prev)
227
rc = enumLanguage[0];
226
rc = enumLanguage[0];
230
229
long next = prev;
231
for(int i=0;i<sizeof(enumLanguage)/sizeof(enumLanguage[0])-1;i++)
233
if(enumLanguage[i]==next)
235
next = enumLanguage[i + 1];
236
// if(REXC_IsLanguage((Word8)next) && RSTR_IsLanguage((Word8)next) )
237
if(RRECCOM_IsLanguage((Word8)next) && RSTR_IsLanguage((Word8)next) )
230
for(int i=0;i<sizeof(enumLanguage)/sizeof(enumLanguage[0])-1;i++)
232
if(enumLanguage[i]==next)
234
next = enumLanguage[i + 1];
235
// if(REXC_IsLanguage((uchar)next) && RSTR_IsLanguage((uchar)next) )
236
if(RRECCOM_IsLanguage((uchar)next) && RSTR_IsLanguage((uchar)next) )
250
249
static long enumFormatMode[] =
254
// PUMA_FORMAT_ONLY_FRAME,
253
// PUMA_FORMAT_ONLY_FRAME,
258
257
long _EnumFormatMode(long prev)
262
rc = enumFormatMode[0];
265
for(int i=0;i<sizeof(enumFormatMode)/sizeof(enumFormatMode[0]);i++)
267
if(enumFormatMode[i]==prev)
269
rc = enumFormatMode[i + 1];
261
rc = enumFormatMode[0];
264
for(int i=0;i<sizeof(enumFormatMode)/sizeof(enumFormatMode[0]);i++)
266
if(enumFormatMode[i]==prev)
268
rc = enumFormatMode[i + 1];
277
276
static long enumTable[] =
281
/* PUMA_TABLE_ONLY_LINE,
282
PUMA_TABLE_ONLY_TEXT,
283
PUMA_TABLE_LINE_TEXT,*/
280
/* PUMA_TABLE_ONLY_LINE,
281
PUMA_TABLE_ONLY_TEXT,
282
PUMA_TABLE_LINE_TEXT,*/
287
286
long _EnumTable(long prev)
294
for(int i=0;i<sizeof(enumTable)/sizeof(enumTable[0]);i++)
296
if(enumTable[i]==prev)
298
rc = enumTable[i + 1];
293
for(int i=0;i<sizeof(enumTable)/sizeof(enumTable[0]);i++)
295
if(enumTable[i]==prev)
297
rc = enumTable[i + 1];
306
305
static long enumPicture[] =
313
312
long _EnumPicture(long prev)
320
for(int i=0;i<sizeof(enumPicture)/sizeof(enumPicture[0]);i++)
322
if(enumPicture[i]==prev)
324
rc = enumPicture[i + 1];
319
for(int i=0;i<sizeof(enumPicture)/sizeof(enumPicture[0]);i++)
321
if(enumPicture[i]==prev)
323
rc = enumPicture[i + 1];