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
// ============================================================================
58
// Written by Shahverdiev Alik
59
// This file cration date: 10.18.98
63
// ============================================================================
65
#ifndef __frmtfile_h__
66
#define __frmtfile_h__
70
BOOL CreateInternalFileForFormatter(FILE *fpInternalFileName);
71
BOOL CheckComingLine( CSTR_line* Comingline );
72
BOOL CheckLineForFilling( CSTR_line* Comingline );
74
//BOOL CheckRect(InternalRect* Inner);
76
/////////////////////////////////////////////////////////////////////////////
85
struct PageElementCount
93
typedef struct tagInternalRect {
101
void VCopyRect(InternalRect* InnerR, RECT* OuterR);
102
BOOL CheckRect(InternalRect* Inner);
105
/////////////////////////////////////////////////////////////////////////////
108
class CFPage //: public CObject
114
CFragment* GetFirstFrag();
115
CFragment* GetNextFrag();
116
void ProcessingComingLine( CSTR_line* line );
117
void CreateArray_For_TextFragments( );
118
BOOL CheckComingLine_For_TextFragments( CSTR_line* line );
119
void AddString( CSTR_line* line );
122
/*CDWordArray*/std::vector<DWORD> FragmentsArray;
123
PageElementCount Count;
125
std::vector<CFragment*>/*CObArray*/ m_arFrags;
127
int m_nCurFragNumber;
128
int m_nPrevFragNumber;
132
/////////////////////////////////////////////////////////////////////////////
135
class CFragment//:public CObject
141
CFString* GetFirstString();
142
CFString* GetNextString();
143
void AddString( CSTR_line* line , PageElementCount* Count );
146
WORD m_wStringsCount;
147
/*CObArray*/ std::vector<CFString*> m_arStrings;
155
/////////////////////////////////////////////////////////////////////////////
158
class CFString//:public CObject
164
CWord* GetFirstWord();
165
CWord* GetNextWord();
166
void ExtractWordsFromString( CSTR_line* line , PageElementCount* Count );
167
void ExtractNextWord( CSTR_line* line );
171
/*CObArray*/ std::vector<CWord*> m_arWords;
177
Word32 S_Flags; //NEGA_STR vmk 10-06-2001
180
/////////////////////////////////////////////////////////////////////////////
183
class CWord//:public CObject
189
CChar* GetFirstChar();
190
CChar* GetNextChar();
191
void AddLetter2Word( CSTR_rast* rast , PageElementCount* Count ,BOOL* FlagCapDrop);
194
/*CObArray*/std::vector<CChar*> m_arChars;
200
WORD m_wFontPointSize;
203
/////////////////////////////////////////////////////////////////////////////
206
class CChar//:public CObject
211
void AddingLetter( CSTR_rast* rast , int index ,BOOL* FlagCapDrop);
220
} m_chrVersions[REC_MAX_VERS];//!!! Art
223
BYTE m_bFlg_spell_nocarrying;
224
BYTE m_bFlg_cup_drop;
230
/////////////////////////////////////////////////////////////////////////////
232
#endif // __frmtfile_h__