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:
58
58
#include "struct.h"
59
59
#include "recdefs.h"
61
extern Word16 lpool_lth;
61
extern uint16_t lpool_lth;
63
63
//#include"excdefs.h"
64
64
#include"lang_def.h"
65
65
#include "ligas.h" // 04.06.2002 E.P.
66
66
#include "ccomdefs.h"
67
67
//------------------ FROM DIF.DLL
68
extern Word16 DIF_typ_thin_stick(Word8 *lin,Int16 dy,Int16 dx);
68
extern uint16_t DIF_typ_thin_stick(uchar *lin,int16_t dy,int16_t dx);
69
69
//------------------ Common working fields
70
70
extern c_comp wcomp;
71
extern Word8 records_change;
71
extern uchar records_change;
72
extern int16_t evfulln;
73
73
extern version *start_rec, *rec_ptr;
74
74
static version records[128];
75
extern Word8 work_raster[];
76
extern Word8 language;
75
extern uchar work_raster[];
76
extern uchar language;
78
78
//------------------ Common definitions
79
79
#define PURE_DUST_HEIGHT 3
80
80
#define PURE_DUST_WIDTH 3
82
82
//------------------ Common functions definitions
83
Word16 events_recog();
84
Word16 events_recog_rt();
85
Word16 sort_events_vers();
83
uint16_t events_recog();
84
uint16_t events_recog_rt();
85
uint16_t sort_events_vers();
88
//void sort_events_box(version *p, Word16 n);
88
//void sort_events_box(version *p, uint16_t n);
91
91
//------------------ Internal functions
92
static void setvers (Word8* p);
92
static void setvers (uchar* p);
95
95
//------------------ Recognition cases
121
121
#define cs_comma_dot 38 // determined as comma or dot by
122
122
// comma_dot criterium
124
static Word8 v_dash_defis[] = {ch_punct,cs_dash_defis_size,0};
125
static Word8 v_side_punct[] = {ch_punct,cs_punct_sw_size,0};
126
static Word8 v_up_punct[] = {ch_punct,cs_punct_up_size,0};
127
static Word8 v_sq_punct[] = {ch_punct,cs_punct_sq_size,0};
128
//static BYTE v_small_stick[] = {ch_letter,cs_stick_by_size,
124
static uchar v_dash_defis[] = {ch_punct,cs_dash_defis_size,0};
125
static uchar v_side_punct[] = {ch_punct,cs_punct_sw_size,0};
126
static uchar v_up_punct[] = {ch_punct,cs_punct_up_size,0};
127
static uchar v_sq_punct[] = {ch_punct,cs_punct_sq_size,0};
128
//static uchar v_small_stick[] = {ch_letter,cs_stick_by_size,
129
129
// 'l','i','I','!','j','f','t',0};
130
//static BYTE v_stick_by_size[] = {ch_letter,cs_stick_by_size,
130
//static uchar v_stick_by_size[] = {ch_letter,cs_stick_by_size,
131
131
// 'l','i','I','!','j',0};
132
//static BYTE v_temp_one_line[] = {ch_stick,cs_one_line_ltr,0};
133
//static BYTE v_comma_dot[] = {ch_punct,cs_comma_dot,0};
132
//static uchar v_temp_one_line[] = {ch_stick,cs_one_line_ltr,0};
133
//static uchar v_comma_dot[] = {ch_punct,cs_comma_dot,0};
135
static Word32 check_iIl1(); // 04.06.2002 E.P.
136
static Word32 check_letter(Word8 let); // 18.06.2002 E.P.
135
static uint32_t check_iIl1(); // 04.06.2002 E.P.
136
static uint32_t check_letter(uchar let); // 18.06.2002 E.P.
139
139
void recog_save_maden()