~ubuntu-branches/ubuntu/precise/cuneiform/precise

« back to all changes in this revision

Viewing changes to cuneiform_src/Kern/rverline/src/service/vl_rule.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jakub Wilk, c-assert.diff, slovenian-slv.diff
  • Date: 2011-01-26 21:53:07 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20110126215307-62x61mcesr607qb7
Tags: 1.0.0+dfsg-2
* Upload to unstable.
* Explicitly build-depend on pkg-config. Thanks to Stefano Rivera for the
  bug report.
* Add Vcs-* fields.
* Use the standard C assert() macro, rather than custom Cuneiform one.
  [c-assert.diff]
* Pass CFLAGS, CXXFLAGS and LDFLAGS (get from dpkg-buildflags) to cmake
  (closes: #608345). Thanks to Sami Liedes for the bug report.
  + Build depend on dpkg-dev (>= 1.15.7).
* Pass --parallel to dh.
  + Bump debhelper minimum version to 7.4.10.
* Update debian/copyright to the latest DEP-5 version.
* Bump year in debian/copyright.
* Explicitly link to GraphicsMagick (rather than via the ImageMagick
  compatibility layer).
* Don't ship /usr/lib/cuneiform/*.so symlinks. These libraries are
  considered private, at least until #598616 is fixed.
* Rename some private variables in debian/rules to make them lowercase.
* Update patch headers.
* Provide proper ‘build-arch’ and ‘build-indep’ targets in debian/rules.
* Document input format in the manual page (closes: #572061). Thanks to
  Janusz S. Bień for the bug report.
* Use ‘slv’ (rather than ‘slo’) as language code for Slovenian.
  [slovenian-slv.diff]
* Fix package description: Slovenian is supported, Slovak is not.
* Improve documentation of the language (-l) option (closes: #602512).
  Thanks to Jari Aalto for the bug report.
* Install reasons file for vrms.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
Copyright (c) 1993-2008, Cognitive Technologies
3
3
All rights reserved.
4
4
 
5
 
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
 
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
7
 
 
8
 
      * ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
 
        ���� ����������� �� ��������� �����, ���� ������ ������� � �����������
10
 
        ����� �� ��������.
11
 
      * ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
 
        ������ ����������, ������������ ��� ���������������, ������ �����������
13
 
        ��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
 
        ����������� ����� �� ��������.
15
 
      * �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
 
        ���� ������������ � �������� �������� ��������� �/��� �����������
17
 
        ���������, ���������� �� ���� ��, ��� ���������������� �����������
18
 
        ����������.
19
 
 
20
 
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
 
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
 
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
 
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
 
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
 
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
 
������������� ������, ��������� � �������������� ��� ���������� ����������
27
 
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
 
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
 
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
 
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
 
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
 
5
Разрешается повторное распространение и использование как в виде исходного кода,
 
6
так и в двоичной форме, с изменениями или без, при соблюдении следующих условий:
 
7
 
 
8
      * При повторном распространении исходного кода должны оставаться указанное
 
9
        выше уведомление об авторском праве, этот список условий и последующий
 
10
        отказ от гарантий.
 
11
      * При повторном распространении двоичного кода в документации и/или в
 
12
        других материалах, поставляемых при распространении, должны сохраняться
 
13
        указанная выше информация об авторском праве, этот список условий и
 
14
        последующий отказ от гарантий.
 
15
      * Ни название Cognitive Technologies, ни имена ее сотрудников не могут
 
16
        быть использованы в качестве средства поддержки и/или продвижения
 
17
        продуктов, основанных на этом ПО, без предварительного письменного
 
18
        разрешения.
 
19
 
 
20
ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ ЛИЦАМИ "КАК
 
21
ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ,
 
22
ВКЛЮЧАЯ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, НО НЕ
 
23
ОГРАНИЧИВАЯСЬ ИМИ. НИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ
 
24
МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, НИ В КОЕМ СЛУЧАЕ НЕ
 
25
НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ
 
26
ПОСЛЕДОВАВШИЕ УБЫТКИ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ИЛИ ПОНЕСЕННЫЕ ВСЛЕДСТВИЕ
 
27
НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ ПОТЕРИ ДАННЫХ, ИЛИ ДАННЫЕ,
 
28
СТАВШИЕ НЕГОДНЫМИ, ИЛИ УБЫТКИ И/ИЛИ ПОТЕРИ ДОХОДОВ, ПОНЕСЕННЫЕ ИЗ-ЗА ДЕЙСТВИЙ
 
29
ТРЕТЬИХ ЛИЦ И/ИЛИ ОТКАЗА ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ,
 
30
НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМИ СЛУЧАЯМИ), НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ДАЖЕ ЕСЛИ ТАКОЙ
 
31
ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ И ПОТЕРЬ.
32
32
 
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:
54
54
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
55
55
*/
56
56
 
57
 
/**********  ���������  **********/
58
 
/*  �����      :  ��������� ��������                                          */
59
 
/*  ��������   :  17.12.99                                                    */
60
 
/*  ����       :  'AM_RULE.CPP'                                              */
61
 
/*  ���������� :  ������� ������������ ���������� ������� ����������.         */
62
 
/*  ���������� :  ������ �� ���������� �����������.                           */
 
57
/**********  Заголовок  **********/
 
58
/*  Автор      :  Александр Михайлов                                          */
 
59
/*  Редакция   :  17.12.99                                                    */
 
60
/*  Файл       :  'AM_RULE.CPP'                                              */
 
61
/*  Содержание :  Функции внутренннего управления работой библиотеки.         */
 
62
/*  Назначение :  Сервис по управлению библиотекой.                           */
63
63
/*----------------------------------------------------------------------------*/
64
64
#include <stdio.h>
65
65
/*  interface my        */
66
66
#include "am_comm.h"
67
67
#include "vl_rule.h"
68
68
/*------------own objects-----------------------------------------------------*/
69
 
/*  ����������� �����  */
 
69
/*  Верификация линий  */
70
70
static Handle VL_Into;
71
71
static Handle VL_I_PrimLines; //+
72
72
static Handle VL_I_PrimBoxes; //+
95
95
void AM_MakeTreeRules_VerifLines (Handle parent)
96
96
{
97
97
        const char *pText;
98
 
/*  �������� �������  */
 
98
/*  Корневая вершина  */
99
99
pText = " \
100
 
\n �������� ������� ������ �������� [����������� �����] ���������� 'RLTABLE'. \
101
 
\n ��� ����� ��������� ��� �������������� ������� : \
102
 
\n   (I) ����������� ���������� ����������� 'RLINE' ����� \
103
 
\n  (II) ������������� '���� ������������ �����' ��� ������� ������, ����� \
104
 
\n       ����� ���� �������� � ���������� �������� \
105
 
\n ��� ������� ��������� �����. \
106
 
\n �������� ������� ������� ����� ���� �����: \
107
 
\n a) '������� ������' \
108
 
\n �) '���������� ������' \
109
 
\n �) '�������� ������' \
110
 
\n �) '����������' \
111
 
\n �) '�������' \
112
 
\n ���� �) �) � �) ������������� ��� ������ ������������. ��� ������������ \
113
 
������������ � ������� ���� ������ ���������� � ������� � �������� ������ \
114
 
����������, � ����� ������ �� ������� ��������� ����������� ������, \
115
 
����������� � ������ �������� ��� ���������� ���������. \
116
 
\n ���� �) ������������ ��� ���������� ����������� ����������. \
117
 
\n ���� �) ������������ ��� ������������ ����������. \
 
100
\n Корневая вершина первой половины [верификация линий] библиотеки 'RLTABLE'. \
 
101
\n Эта часть реализует две содержательные функции : \
 
102
\n   (I) верификацию выделенных библиотекой 'RLINE' линий \
 
103
\n  (II) моделирование 'пула спасительных даных' для каждого случая, когда \
 
104
\n       линия была выделена с фатальными ошибками \
 
105
\n Обе функции одинаково важны. \
 
106
\n Корневая вершина отладки имеет пять узлов: \
 
107
\n a) 'Входные данные' \
 
108
\n б) 'Результаты работы' \
 
109
\n в) 'Контроль работы' \
 
110
\n г) 'Управление' \
 
111
\n д) 'Отладка' \
 
112
\n Узлы а) б) и в) предназначены для службы тестирования. Они обеспечивают \
 
113
визуализацию в главном окне полной информации о входных и выходных данных \
 
114
библиотеки, а также печать на консоль подробной диагностики ошибок, \
 
115
неточностей и редких ситуаций при исполнении программы. \
 
116
\n Узел г) предназначен для управления алгоритмами библиотеки. \
 
117
\n Узел д) предназначен для разработчика библиотеки. \
118
118
\n Almi 26.05.99";
119
119
AM_RegiHelp (parent, pText, TRUE);
120
 
        /*  ������ ����  */
121
 
        AM_RegiVert (&VL_Into, "������� ������ /��/", parent);
 
120
        /*  Первый узел  */
 
121
        AM_RegiVert (&VL_Into, "Входные данные /ВЛ/", parent);
122
122
        pText = " \
123
 
\n �������� ������� ��� ���� ����� ���������� 'RLTABLE' �������� : \
124
 
\n - ����� \
125
 
\n - ������� ��������� \
 
123
\n Входными данными для этой части библиотеки 'RLTABLE' являются : \
 
124
\n - линии \
 
125
\n - коробки компонент \
126
126
\n Almi 26.05.99";
127
127
        AM_RegiHelp (VL_Into, pText, FALSE);
128
 
                AM_RegiVert (&VL_I_PrimLines, "����� /��/", VL_Into);
129
 
                AM_RegiHelp (VL_I_PrimLines, "�����", FALSE);
130
 
                AM_RegiVert (&VL_I_PrimBoxes, "������� ��������� /��/", VL_Into);
131
 
                AM_RegiHelp (VL_I_PrimBoxes, "������� ���������", FALSE);
132
 
        /*  ������ ����  */
133
 
        AM_RegiVert (&VL_Out, "���������� ������ /��/", parent);
 
128
                AM_RegiVert (&VL_I_PrimLines, "Линии /ВЛ/", VL_Into);
 
129
                AM_RegiHelp (VL_I_PrimLines, "Линии", FALSE);
 
130
                AM_RegiVert (&VL_I_PrimBoxes, "Коробки компонент /ВЛ/", VL_Into);
 
131
                AM_RegiHelp (VL_I_PrimBoxes, "Коробки компонент", FALSE);
 
132
        /*  Второй узел  */
 
133
        AM_RegiVert (&VL_Out, "Результаты работы /ВЛ/", parent);
134
134
        pText = " \
135
 
\n ������������ ������ ���� ����� ���������� 'RLTABLE' �������� : \
136
 
\n - ������������ ����� ����������� ����� \
137
 
\n - ����������������� ����� \
138
 
\n - ������ ��������������� ����� \
139
 
\n - ��������� ���������� \
 
135
\n Результатами работы этой части библиотеки 'RLTABLE' являются : \
 
136
\n - выставленные флаги верификации линий \
 
137
\n - скорректированные линии \
 
138
\n - заново смоделированные линии \
 
139
\n - спасенные компоненты \
140
140
\n Almi 29.05.99";
141
141
        AM_RegiHelp (VL_Out, pText, FALSE);
142
 
                AM_RegiVert (&VL_O_VerifLines, "����������� �����", VL_Out);
143
 
                pText = "����������� ����� : \
144
 
\n ����� - ��������, ������� - ������, ������ - ������������ ��� ���������������, \
145
 
\n ���������� - ������� ������� ���������, ���������� - ���������";
 
142
                AM_RegiVert (&VL_O_VerifLines, "Верификация линий", VL_Out);
 
143
                pText = "Верификация линий : \
 
144
\n Синие - реальные, красные - ложные, желтые - сомнительные или неисследованные, \
 
145
\n фиолетовые - краевые захваты компонент, коричневые - составные";
146
146
                AM_RegiHelp (VL_O_VerifLines, pText, FALSE);
147
 
                AM_RegiVert (&VL_O_CorrLines, "����������������� �����", VL_Out);
148
 
                pText = "����������������� ����� : \
149
 
\n ��� - ��������� � ��� ����� ������ ����������� �������� � �������� \
150
 
\n ������������ �����, ���������� � �������� ��������� ���������.";
 
147
                AM_RegiVert (&VL_O_CorrLines, "Скорректированные линии", VL_Out);
 
148
                pText = "Скорректированные линии : \
 
149
\n Это - внесенные в пул линий общего пользования указания о истинном \
 
150
\n расположении линий, выделенных с краевыми захватами компонент.";
151
151
                AM_RegiHelp (VL_O_CorrLines, pText, FALSE);
152
 
                AM_RegiVert (&VL_O_ModelLines, "(�/�)��������������� �����", VL_Out);
153
 
                pText = "��������������� ����� : \
154
 
\n ��� - ��� �������������� ������, ���������������  ������ ��������� ����� \
155
 
\n ��� ������� ��������.";
 
152
                AM_RegiVert (&VL_O_ModelLines, "(н/р)Смоделированные линии", VL_Out);
 
153
                pText = "Смоделированные линии : \
 
154
\n Это - пул альтернативных данных, предназначенный  взамен составных линий \
 
155
\n для разбора страницы.";
156
156
                AM_RegiHelp (VL_O_ModelLines, pText, FALSE);
157
 
                AM_RegiVert (&VL_O_SaveComps, "������ ����� (��������� ����������)", VL_Out);
158
 
                pText = "������ ����� (��������� ����������) : \
159
 
\n ��� - ��� ��������� ���������, ������� ��������� ���������� �� ������ \
160
 
\n ����������� ���������� �����. �� ������������ ��� ������������� � \
161
 
\n ������������ � ������������� �����.";
 
157
                AM_RegiVert (&VL_O_SaveComps, "Жертвы линий (спасенные компоненты)", VL_Out);
 
158
                pText = "Жертвы линий (спасенные компоненты) : \
 
159
\n Это - пул спасенных компонент, которые неизбежно пострадают от чистки \
 
160
\n некорректно выделенных линий. Он предназначен для использования в \
 
161
\n формировании и распознавании строк.";
162
162
                AM_RegiHelp (VL_O_SaveComps, pText, FALSE);
163
 
        /*  ������ ����  */
164
 
        AM_RegiVert (&VL_Control, "�������� ������ /��/", parent);
165
 
        AM_RegiHelp (VL_Control, "�������� ������", FALSE);
166
 
                AM_RegiVert (&VL_C_ContErr , "�������� ������ /��/", VL_Control);
167
 
                AM_RegiHelp (VL_C_ContErr  , "�������� ������", FALSE);
168
 
                AM_RegiVert (&VL_C_ContWarn, "�������� ����������� /��/", VL_Control);
169
 
                AM_RegiHelp (VL_C_ContWarn , "�������� �����������", FALSE);
170
 
                AM_RegiVert (&VL_C_ContRare, "�������� ������ �������� /��/", VL_Control);
171
 
                AM_RegiHelp (VL_C_ContRare , "�������� ������ ��������", FALSE);
172
 
        /*  ��������� ����  */
173
 
        AM_RegiVert (&VL_Upravlenie, "���������� ����������� /��/", parent);
174
 
        AM_RegiHelp (VL_Upravlenie, "���������� �����������", FALSE);
175
 
                AM_RegiVert (&VL_U_NoPointedLines , "�� ������ �������", VL_Upravlenie);
176
 
                AM_RegiHelp (VL_U_NoPointedLines  , "�� ������ �������", FALSE);
177
 
                AM_RegiVert (&VL_U_AbleKillShortVert , "����� ����������� �������� ������������", VL_Upravlenie);
178
 
                AM_RegiHelp (VL_U_AbleKillShortVert  , "����� ����������� �������� ������������", FALSE);
179
 
                AM_RegiVert (&VL_U_NewFormalVerify , "����� ���������� �����������", VL_Upravlenie);
180
 
                AM_RegiHelp (VL_U_NewFormalVerify  , "����� ���������� �����������", FALSE);
181
 
                AM_RegiVert (&VL_U_NoInvestLongLines, "�������� ����� ����� � ���������", VL_Upravlenie);
182
 
                AM_RegiHelp (VL_U_NoInvestLongLines , "�������� ����� ����� � ���������", FALSE);
183
 
                AM_RegiVert (&VL_U_NoInvestImage, "�������� �������� ����� � �������� ������", VL_Upravlenie);
184
 
                AM_RegiHelp (VL_U_NoInvestImage , "�������� �������� ����� � �������� ������", FALSE);
185
 
                AM_RegiVert (&VL_U_AbleHoriZher, "������ ������ �������������� �����", VL_Upravlenie);
186
 
                AM_RegiHelp (VL_U_AbleHoriZher , "������ ������ �������������� �����", FALSE);
187
 
        /*  ����� ����  */
188
 
        AM_RegiVert (&VL_Debug, "������� /��/", parent);
189
 
        AM_RegiHelp (VL_Debug, "���� ������������", FALSE);
190
 
                AM_RegiVert (&VL_D_Info , "����� ����������", VL_Debug);
191
 
                AM_RegiHelp (VL_D_Info  , "����� ����������", FALSE);
192
 
                AM_RegiVert (&VL_D_InvestImage , "�������� �� ����", VL_Debug);
193
 
                AM_RegiHelp (VL_D_InvestImage  , "�������� �� ����", FALSE);
194
 
                AM_RegiVert (&VL_D_WrResLine , "����������� ����������� ������ �����", VL_Debug);
195
 
                AM_RegiHelp (VL_D_WrResLine  , "����������� ����������� ������ �����", FALSE);
196
 
//          AM_RegiVert(&hUseCLine,"������ � ����������� �����",NULL);
 
163
        /*  Третий узел  */
 
164
        AM_RegiVert (&VL_Control, "Контроль работы /ВЛ/", parent);
 
165
        AM_RegiHelp (VL_Control, "Контроль работы", FALSE);
 
166
                AM_RegiVert (&VL_C_ContErr , "Контроль ошибок /ВЛ/", VL_Control);
 
167
                AM_RegiHelp (VL_C_ContErr  , "Контроль ошибок", FALSE);
 
168
                AM_RegiVert (&VL_C_ContWarn, "Контроль неточностей /ВЛ/", VL_Control);
 
169
                AM_RegiHelp (VL_C_ContWarn , "Контроль неточностей", FALSE);
 
170
                AM_RegiVert (&VL_C_ContRare, "Контроль редких ситуаций /ВЛ/", VL_Control);
 
171
                AM_RegiHelp (VL_C_ContRare , "Контроль редких ситуаций", FALSE);
 
172
        /*  Четвертый узел  */
 
173
        AM_RegiVert (&VL_Upravlenie, "Управление алгоритмами /ВЛ/", parent);
 
174
        AM_RegiHelp (VL_Upravlenie, "Управление алгоритмами", FALSE);
 
175
                AM_RegiVert (&VL_U_NoPointedLines , "Не искать отточия", VL_Upravlenie);
 
176
                AM_RegiHelp (VL_U_NoPointedLines  , "Не искать отточия", FALSE);
 
177
                AM_RegiVert (&VL_U_AbleKillShortVert , "Можно опровергать короткие вертикальные", VL_Upravlenie);
 
178
                AM_RegiHelp (VL_U_AbleKillShortVert  , "Можно опровергать короткие вертикальные", FALSE);
 
179
                AM_RegiVert (&VL_U_NewFormalVerify , "Новая формальная верификация", VL_Upravlenie);
 
180
                AM_RegiHelp (VL_U_NewFormalVerify  , "Новая формальная верификация", FALSE);
 
181
                AM_RegiVert (&VL_U_NoInvestLongLines, "Отменить поиск линий с захватами", VL_Upravlenie);
 
182
                AM_RegiHelp (VL_U_NoInvestLongLines , "Отменить поиск линий с захватами", FALSE);
 
183
                AM_RegiVert (&VL_U_NoInvestImage, "Отменить проверку линий с анализом растра", VL_Upravlenie);
 
184
                AM_RegiHelp (VL_U_NoInvestImage , "Отменить проверку линий с анализом растра", FALSE);
 
185
                AM_RegiVert (&VL_U_AbleHoriZher, "Искать жертвы горизонтальных линий", VL_Upravlenie);
 
186
                AM_RegiHelp (VL_U_AbleHoriZher , "Искать жертвы горизонтальных линий", FALSE);
 
187
        /*  Пятый узел  */
 
188
        AM_RegiVert (&VL_Debug, "Отладка /ВЛ/", parent);
 
189
        AM_RegiHelp (VL_Debug, "Узел разработчика", FALSE);
 
190
                AM_RegiVert (&VL_D_Info , "Общая информация", VL_Debug);
 
191
                AM_RegiHelp (VL_D_Info  , "Общая информация", FALSE);
 
192
                AM_RegiVert (&VL_D_InvestImage , "Проверка по тифу", VL_Debug);
 
193
                AM_RegiHelp (VL_D_InvestImage  , "Проверка по тифу", FALSE);
 
194
                AM_RegiVert (&VL_D_WrResLine , "Отписывание результатов поиска линий", VL_Debug);
 
195
                AM_RegiHelp (VL_D_WrResLine  , "Отписывание результатов поиска линий", FALSE);
 
196
//          AM_RegiVert(&hUseCLine,"Работа с контейнером линий",NULL);
197
197
}
198
198
/*----------------------------------------------------------------------------*/
199
199
Handle AM_GetKeyOfRule (VL_RULES Code)
200
200
{
201
201
        switch (Code)
202
202
        {
203
 
                /*  ����������� �����  */
 
203
                /*  Верификация линий  */
204
204
                case RU_VL_Into :
205
205
                        return VL_Into;
206
206
                case RU_VL_I_PrimLines :