~ubuntu-branches/ubuntu/trusty/cuneiform/trusty

« back to all changes in this revision

Viewing changes to cuneiform_src/Kern/rstr/src/dm2.c

  • 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:
64
64
#include <stdlib.h>
65
65
#include <stdio.h>
66
66
#include <string.h>
67
 
#include "nt_types.h"
68
67
#include "struct.h"
69
68
#include "cuthdr.h"
70
69
#include "dmconst.h"
78
77
 
79
78
#include "compat_defs.h"
80
79
 
81
 
static CHAR txg1[]={"LOCOMP ERR"};
82
 
static CHAR txg2[]={"NO CELL got"};
83
 
static CHAR txg3[]={"        p=(%d,%d)"};
84
 
static CHAR txg4[]={"        GL OK"};
85
 
static CHAR txg5[]={"        BOX OK"};
86
 
static CHAR txg6[]={"n,a,m,e,l"};
 
80
static char txg1[]={"LOCOMP ERR"};
 
81
static char txg2[]={"NO CELL got"};
 
82
static char txg3[]={"        p=(%d,%d)"};
 
83
static char txg4[]={"        GL OK"};
 
84
static char txg5[]={"        BOX OK"};
 
85
static char txg6[]={"n,a,m,e,l"};
87
86
// bad letters are allowed to eat good letters:
88
87
//    if the eaten letter is in list
89
88
//    if the result is registered
96
95
        10,11 for UKR_I,II
97
96
        12,13 for turkish palka
98
97
*/
99
 
static BYTE sticks_left_to_bad[]  =  {"  /l1IJ)}]  11"};
100
 
 
101
 
 
102
 
static BYTE letters_left_to_bad[] =  {" nrvtcC(u<>윯|ᑣ"}; // 0th pos for sticks
103
 
 
104
 
static CHAR ltmp0[] = "kDPbh�� "; /* stick */
105
 
static CHAR ltmp1[] = "m"; /* n */
106
 
static CHAR ltmp2[] = "nm"; /* r */
107
 
static CHAR ltmp3[] = "w"; /* v */
108
 
static CHAR ltmp4[] = "u"; /* t */
109
 
static CHAR ltmp5[] = "ao"; /* c */
110
 
static CHAR ltmp6[] = "O6"; /* C */
111
 
static CHAR ltmp7[] = "oO6"; /* ( */
112
 
static CHAR ltmp8[] = "w"; /* u */
113
 
static CHAR ltmp9[] = "od�"; /* < */
114
 
static CHAR ltmp10[] = "xX�"; /* > */
115
 
static CHAR ltmp11[] = "�"; /* � */
116
 
static CHAR ltmp12[] = "�"; /* � */
117
 
static CHAR ltmp13[] = "��"; /* � */
118
 
static CHAR ltmp14[] = "����������"; /* | */
119
 
static CHAR ltmp15[] = "�"; /* � */
120
 
static CHAR ltmp16[] = "�"; /* � */
121
 
static CHAR ltmp17[] = "�"; /* � */
122
 
 
123
 
static CHAR *results_left_to_bad[] = {
 
98
static uchar sticks_left_to_bad[]  =  {"  /l1IJ)}]  11"};
 
99
 
 
100
 
 
101
static uchar letters_left_to_bad[] =  {" nrvtcC(u<>윯|ᑣ"}; // 0th pos for sticks
 
102
 
 
103
static char ltmp0[] = "kDPbh�� "; /* stick */
 
104
static char ltmp1[] = "m"; /* n */
 
105
static char ltmp2[] = "nm"; /* r */
 
106
static char ltmp3[] = "w"; /* v */
 
107
static char ltmp4[] = "u"; /* t */
 
108
static char ltmp5[] = "ao"; /* c */
 
109
static char ltmp6[] = "O6"; /* C */
 
110
static char ltmp7[] = "oO6"; /* ( */
 
111
static char ltmp8[] = "w"; /* u */
 
112
static char ltmp9[] = "od�"; /* < */
 
113
static char ltmp10[] = "xX�"; /* > */
 
114
static char ltmp11[] = "�"; /* � */
 
115
static char ltmp12[] = "�"; /* � */
 
116
static char ltmp13[] = "��"; /* � */
 
117
static char ltmp14[] = "����������"; /* | */
 
118
static char ltmp15[] = "�"; /* � */
 
119
static char ltmp16[] = "�"; /* � */
 
120
static char ltmp17[] = "�"; /* � */
 
121
 
 
122
static char *results_left_to_bad[] = {
124
123
        ltmp0, ltmp1, ltmp2, ltmp3, ltmp4, ltmp5, ltmp6, ltmp7, ltmp8, ltmp9,
125
124
        ltmp10, ltmp11, ltmp12, ltmp13, ltmp14, ltmp15, ltmp16, ltmp17
126
125
};
129
128
        0 pos reserved for liga_i
130
129
        6-7 pos for turkish II_dot_accent, i_sans_accent 21.05.2002 E.P.
131
130
*/
132
 
static BYTE sticks_right_to_bad[] =  {" /l1I]11"};  // 1st pos reserved for liga_i
133
 
static BYTE letters_right_to_bad[] = {" nvt)u><�斮���"}; // 0th pos for sticks
134
 
 
135
 
static CHAR rtmp0[] = "d����";
136
 
static CHAR rtmp1[] = "m"; /* n */
137
 
static CHAR rtmp2[] = "w"; /* v */
138
 
static CHAR rtmp3[] = "u"; /* t */
139
 
static CHAR rtmp4[] = "o"; /* ) */
140
 
static CHAR rtmp5[] = "w"; /* u */
141
 
static CHAR rtmp6[] = "bop6D�"; /* < */
142
 
static CHAR rtmp7[] = "kXx��"; /* > */
143
 
static CHAR rtmp8[] = "��"; /* � */
144
 
static CHAR rtmp9[] = "�"; /* � */
145
 
static CHAR rtmp10[] = "�"; /* � */
146
 
static CHAR rtmp11[] = "�"; /* � */
147
 
static CHAR rtmp12[] = "�"; /* � */
148
 
static CHAR rtmp13[] = "�"; /* � */
149
 
static CHAR rtmp14[] = "�"; /* � */
150
 
 
151
 
static CHAR *results_right_to_bad[] = {
 
131
static uchar sticks_right_to_bad[] =  {" /l1I]11"};  // 1st pos reserved for liga_i
 
132
static uchar letters_right_to_bad[] = {" nvt)u><�斮���"}; // 0th pos for sticks
 
133
 
 
134
static char rtmp0[] = "d����";
 
135
static char rtmp1[] = "m"; /* n */
 
136
static char rtmp2[] = "w"; /* v */
 
137
static char rtmp3[] = "u"; /* t */
 
138
static char rtmp4[] = "o"; /* ) */
 
139
static char rtmp5[] = "w"; /* u */
 
140
static char rtmp6[] = "bop6D�"; /* < */
 
141
static char rtmp7[] = "kXx��"; /* > */
 
142
static char rtmp8[] = "��"; /* � */
 
143
static char rtmp9[] = "�"; /* � */
 
144
static char rtmp10[] = "�"; /* � */
 
145
static char rtmp11[] = "�"; /* � */
 
146
static char rtmp12[] = "�"; /* � */
 
147
static char rtmp13[] = "�"; /* � */
 
148
static char rtmp14[] = "�"; /* � */
 
149
 
 
150
static char *results_right_to_bad[] = {
152
151
        rtmp0, rtmp1, rtmp2, rtmp3, rtmp4, rtmp5, rtmp6, rtmp7, rtmp8, rtmp9,
153
152
        rtmp10, rtmp11, rtmp12, rtmp13, rtmp14,
154
153
};
155
154
 
156
 
static CHAR *ltoi;
157
 
static INT lton;
158
 
static INT glue_pass;
159
 
static CHAR percgot;       // percent was got as result of a glue
160
 
extern CHAR db_pass;
 
155
static char *ltoi;
 
156
static int16_t lton;
 
157
static int16_t glue_pass;
 
158
static char percgot;       // percent was got as result of a glue
 
159
extern char db_pass;
161
160
 
162
161
void collect_pat(cell *BC, s_glue *GL, cell *EC);
163
 
cell * finpat(cell *BC, s_glue *GL, INT var, BYTE flag,BYTE pen);
 
162
cell * finpat(cell *BC, s_glue *GL, int16_t var, uchar flag,uchar pen);
164
163
 
165
 
extern BYTE db_status;  //snap presence
166
 
//extern BYTE accent_tab[];
 
164
extern uchar db_status; //snap presence
 
165
//extern uchar accent_tab[];
167
166
 
168
167
static void glue_let_dust();
169
168
static void glue_let_bad();
171
170
#ifdef UFA
172
171
static void glue_all_dusts();
173
172
#endif
174
 
static INT contain(cell *,cell *);
 
173
static int16_t contain(cell *,cell *);
175
174
static cut_pos cposd;
176
175
// russian glue-heuristics
177
176
static void glue_III();
178
 
static BOOL config_III(cell *BC,cell *EC, cell *ECN);
179
 
static BOOL config_brace_and_K(cell *BC,cell *EC);
180
 
static BOOL config_CapRusGe_and_bad(cell *BC,cell *EC);
 
177
static Bool config_III(cell *BC,cell *EC, cell *ECN);
 
178
static Bool config_brace_and_K(cell *BC,cell *EC);
 
179
static Bool config_CapRusGe_and_bad(cell *BC,cell *EC);
181
180
 
182
 
static INT is_bad_turkish_glue(BYTE c1, BYTE c2, BYTE c3); // 27.06.2002 E.P.
 
181
static int16_t is_bad_turkish_glue(uchar c1, uchar c2, uchar c3); // 27.06.2002 E.P.
183
182
 
184
183
void make_all_glues()
185
184
 {
186
185
 cell *BC;
187
 
 WORD i;
 
186
 uint16_t i;
188
187
 
189
188
 sticks_left_to_bad[0] = liga_i;        // 10.09.2000 E.P.
190
189
 sticks_left_to_bad[1] = liga_exm;      // 10.09.2000 E.P.
216
215
  if( langUkr ){
217
216
     sticks_left_to_bad[10] = UKR_I;
218
217
     sticks_left_to_bad[11] = UKR_II;
219
 
     *((BYTE*)&results_left_to_bad[0][7]) = (BYTE)'�';
 
218
     *((uchar*)&results_left_to_bad[0][7]) = (uchar)'�';
220
219
  }
221
220
 
222
221
 snap_newpass('b');
242
241
  if( BC->accent_leader )
243
242
    continue; // Oleg : 06/10/97 17:51 : can't glued fictive images
244
243
  if ((BC->nvers > 0) && (BC->vers[0].prob > 220))
245
 
  { CHAR c;
 
244
  { char c;
246
245
    DOT = NULL;
247
246
    c = BC->vers[0].let;
248
247
    if ((c == 'i') || (c == 'j'))
288
287
void collect_pat(cell *BC, s_glue *GL, cell *EC)
289
288
 {
290
289
 //cell *WC;
291
 
 INT  n, fl;
 
290
 int16_t  n, fl;
292
291
 if (db_status)
293
292
   snap_newcell(BC);
294
293
 fl = 0;
324
323
//
325
324
 s_glue GL={0};
326
325
 cell *BC,*LC,*WC,*WS,*CC,*DC;
327
 
 INT bdiff; CHAR dflag;
328
 
 INT i, nsc, ngc, n, p1, p1l, p2;
 
326
 int16_t bdiff; char dflag;
 
327
 int16_t i, nsc, ngc, n, p1, p1l, p2;
329
328
 SVERS svv1;
330
 
 CHAR  defl, ww[40];
331
 
 BYTE c1, c1l, c2, cp;
 
329
 char  defl, ww[40];
 
330
 uchar c1, c1l, c2, cp;
332
331
 cell bc;
333
332
 MN *mn;
334
 
 INT  inc=0;
 
333
 int16_t  inc=0;
335
334
 
336
335
 snap_newpass('b');
337
336
 
386
385
  ngc=0;
387
386
  while(/*1*/ngc<MAX_CELLS_IN_LIST)
388
387
  {
389
 
    GL.nclist[ngc++]=CC=create_cell(mn,LC,(CHAR)bdiff,dflag);
 
388
    GL.nclist[ngc++]=CC=create_cell(mn,LC,(char)bdiff,dflag);
390
389
    inter_diff(CC);
391
390
    if (!CC->env)
392
391
      { glsnap('b',WS,txg1);  goto  delrest; }  // NOT to recog garbage
447
446
  if (WC && (WC->flg & (c_f_bad | c_f_let)))
448
447
    i=estcomp('b',WC,&svv1,TRSG2,0,0,&GL,&cposd,&cposd,0,0,0);
449
448
  if  (i>=TRSG2)
450
 
  { INT var_w;
 
449
  { int16_t var_w;
451
450
    var_w = GL.var & 15;
452
451
    p2 = p1;
453
452
    cp=WC->vers[0].let;
502
501
 }
503
502
 
504
503
 
505
 
static CHAR txt11[]="B-->B";
506
 
static CHAR txt12[]="B-->L";
507
 
static CHAR txt21[]="B<--B";
508
 
static CHAR txt22[]="L<--B";
 
504
static char txt11[]="B-->B";
 
505
static char txt12[]="B-->L";
 
506
static char txt21[]="B<--B";
 
507
static char txt22[]="L<--B";
509
508
 
510
509
static lll=0;
511
 
INT glue_to_o (BYTE c2, BYTE c3, cell *BC, cell *EC)
 
510
int16_t glue_to_o (uchar c2, uchar c3, cell *BC, cell *EC)
512
511
{
513
512
  if (
514
513
       ( ( c2=='(' ) || ( c2=='<')  )  &&
526
525
  return 0;
527
526
}
528
527
 
529
 
BYTE broken_ii; // broken '�','�','�'
 
528
uchar broken_ii; // broken '�','�','�'
530
529
 
531
530
static void glue_let_bad()
532
531
 {
533
 
 INT   i, j, dist, ndist, wdg, bdiff, trsuccess;
534
 
 CHAR dflag, gtofl;
535
 
 WORD  p1, p2, pt;
536
 
 BYTE  *tx1, *tx2, **rp1, *rp2, *rps, c2, c3, cw, flb;
537
 
 BYTE  rus_iee;
 
532
 int16_t   i, j, dist, ndist, wdg, bdiff, trsuccess;
 
533
 char dflag, gtofl;
 
534
 uint16_t  p1, p2, pt;
 
535
 uchar  *tx1, *tx2, **rp1, *rp2, *rps, c2, c3, cw, flb;
 
536
 uchar  rus_iee;
538
537
 cell  *B1, *B2, *BP, *BD, *BC, *EC, *WS;
539
538
 void  *k1, *k2, *k3;
540
539
 c_comp *S[8];
541
 
 CHAR sgfl,fgd, flgBOX, ww[40];
 
540
 char sgfl,fgd, flgBOX, ww[40];
542
541
 MN  *mn;
543
542
 cell w;
544
543
 SVERS svv1, sav1, sav2;
545
544
 s_glue GL={0};
546
 
 INT inc=0;     cell *C[8];
 
545
 int16_t inc=0;     cell *C[8];
547
546
 
548
547
 lll++;
549
548
 flb=0;               // 1st pass:  B+B  only
626
625
                c3==liga_exm
627
626
                )
628
627
      if (EC->cg_flag & c_cg_cutl)        // cut at left  side
629
 
        if ((c2=='c') || (c2=='(') || (c2=='<') || (c2==(BYTE)'�'))
 
628
        if ((c2=='c') || (c2=='(') || (c2=='<') || (c2==(uchar)'�'))
630
629
          { glsnap ('b',BC,"<+I-->d");
631
630
            goto asif2bad;
632
631
          }
670
669
  if (BC->flg & c_f_bad )   // 93.08.19 no more RQDOT
671
670
  {
672
671
    B1=BC; B2=EC; tx1=txt11; tx2=txt12;
673
 
    rp1=results_right_to_bad;
 
672
    rp1=(uchar**)results_right_to_bad;
674
673
    rp2=letters_right_to_bad;
675
674
    rps=sticks_right_to_bad;
676
675
    rps[0] = liga_i;
680
679
  if (EC->flg & c_f_bad )   // 93.08.19 no more RQDOT
681
680
  {
682
681
    B1=EC; B2=BC; tx1=txt21; tx2=txt22;
683
 
    rp1=results_left_to_bad;
 
682
    rp1=(uchar**)results_left_to_bad;
684
683
    rp2=letters_left_to_bad;
685
684
    rps=sticks_left_to_bad;
686
685
    rps[0] = liga_i;
719
718
       glsnap('b',BC,"unregistered pair");
720
719
       continue;
721
720
    }
722
 
    lton=ltoi-(CHAR*)rp2;
 
721
    lton=ltoi-(char*)rp2;
723
722
    ltoi=rp1[lton];
724
723
  pairgot:
725
724
    glsnap('b',BC,tx2);
839
838
   k1=del_save_cell(B1);
840
839
   k2=del_save_cell(B2);
841
840
   if (fgd) k3=del_save_cell(BD);
842
 
   BC=create_cell(mn,WS,(CHAR)bdiff, dflag);
 
841
   BC=create_cell(mn,WS,(char)bdiff, dflag);
843
842
   inter_diff(BC);
844
843
   if (!BC->env)
845
844
    {
864
863
              promote(1,BC,'�',60);
865
864
 
866
865
  if (gtofl)
867
 
  { BYTE vers_c;
 
866
  { uchar vers_c;
868
867
    vers_c = BC->vers[0].let;
869
868
    if (! ( memchr("oO0��",vers_c,5) &&
870
869
                        !is_russian_turkish_conflict(BC->vers[0].let)   // 21.05.2002 E.P.
906
905
      goto accel;
907
906
  }
908
907
  if( language==LANG_RUSSIAN && BC->vers[0].prob>230 &&
909
 
      c2==(BYTE)'�' && c3==(BYTE)'�' && cw==(BYTE)'�' )
 
908
      c2==(uchar)'�' && c3==(uchar)'�' && cw==(uchar)'�' )
910
909
      goto accel; // Oleg : 30-03-1995 : near cursive rus n+cursive rus ge
911
910
  if ( ((BC->recsource & c_rs_ev) == 0) ||
912
911
       ( i < 220) ||
976
975
 
977
976
static void glue_dust_dust()
978
977
 {
979
 
 INT  i,j, bdiff;
980
 
 CHAR dflag;
 
978
 int16_t  i,j, bdiff;
 
979
 char dflag;
981
980
 cell *BC, *EC, *WS;
982
981
 void *k1, *k2;
983
982
 c_comp *S[8];
984
 
 cell   *C[8]; INT inc=0;
985
 
 CHAR  flgBOX;
 
983
 cell   *C[8]; int16_t inc=0;
 
984
 char  flgBOX;
986
985
 MN  *mn;
987
986
 cell w;
988
987
 SVERS svv1, sav1, sav2;
1049
1048
   save_vers(EC,&sav2);
1050
1049
   k1=del_save_cell(BC);
1051
1050
   k2=del_save_cell(EC);
1052
 
   BC=create_cell(mn,WS,(CHAR)bdiff,dflag);
 
1051
   BC=create_cell(mn,WS,(char)bdiff,dflag);
1053
1052
   inter_diff(BC);
1054
1053
   if ((!BC->env) || (BC->flg & c_f_dust))
1055
1054
    {
1110
1109
 }
1111
1110
 
1112
1111
 
1113
 
static INT contain(cell *new, cell *old)
 
1112
static int16_t contain(cell *new, cell *old)
1114
1113
//
1115
1114
//      This procedure check whether new cell contains old one.
1116
1115
//
1127
1126
 return 1;
1128
1127
 }
1129
1128
 
1130
 
void glsnap(CHAR I, cell *C, CHAR *txt)
 
1129
void glsnap(char I, cell *C, char *txt)
1131
1130
 {
1132
1131
 
1133
1132
 if (!db_status) return;
1143
1142
 
1144
1143
 
1145
1144
#ifdef UFA
1146
 
extern BYTE pitch;
 
1145
extern uchar pitch;
1147
1146
static void glue_all_dusts()
1148
1147
 {
1149
1148
s_glue GLG;
1150
1149
B_LINES bl;
1151
 
INT f_u,f_d,f_r,f_l;
 
1150
int16_t f_u,f_d,f_r,f_l;
1152
1151
cell *BC,*EC,*C;
1153
 
INT ngl=0,row,col,w,h,ngreat;
1154
 
INT rrow,rcol;
 
1152
int16_t ngl=0,row,col,w,h,ngreat;
 
1153
int16_t rrow,rcol;
1155
1154
 
1156
1155
      if( db_status && snap_activity('b') )
1157
1156
       {
1256
1255
 
1257
1256
#endif
1258
1257
 
1259
 
BOOL config_III(cell *BC,cell *EC, cell *ECN)
 
1258
Bool config_III(cell *BC,cell *EC, cell *ECN)
1260
1259
{
1261
1260
return(  (EC->flg&c_f_bad) &&
1262
1261
       (ECN->flg&c_f_let) &&
1263
1262
       BC->broken_II && (BC->flg&c_f_let) && BC->nvers>0 &&
1264
 
       (BC->vers[0].let==(BYTE)'�' ||
1265
 
       BC->vers[1].let==(BYTE)'�'&& BC->vers[1].prob==BC->vers[0].prob ||
1266
 
       BC->vers[2].let==(BYTE)'�'&& BC->vers[2].prob==BC->vers[0].prob) );
 
1263
       (BC->vers[0].let==(uchar)'�' ||
 
1264
       BC->vers[1].let==(uchar)'�'&& BC->vers[1].prob==BC->vers[0].prob ||
 
1265
       BC->vers[2].let==(uchar)'�'&& BC->vers[2].prob==BC->vers[0].prob) );
1267
1266
 
1268
1267
}
1269
1268
 
1270
 
BOOL config_CapRusGe_and_bad(cell *BC,cell *EC)
 
1269
Bool config_CapRusGe_and_bad(cell *BC,cell *EC)
1271
1270
{
1272
1271
cell *BP,*BPP;
1273
1272
BP  = ( BC!=cell_f())?BC->prev:NULL;
1281
1280
                        !is_russian_turkish_conflict(BP->vers[0].let)   // 21.05.2002 E.P.
1282
1281
                 ||
1283
1282
         BP->nvers>0 && BP->vers[0].let=='|' &&
1284
 
           BPP!=NULL && BPP->nvers>0 && BPP->vers[0].let==(BYTE)'�' &&
 
1283
           BPP!=NULL && BPP->nvers>0 && BPP->vers[0].let==(uchar)'�' &&
1285
1284
                        !is_russian_baltic_conflict(BPP->vers[0].let) &&// 17.07.2001 E.P.
1286
1285
                        !is_russian_turkish_conflict(BPP->vers[0].let)  // 21.05.2002 E.P.
1287
1286
                 )&&
1288
 
         BC->nvers>0 && BC->vers[0].let==(BYTE)'�' && BC->vers[0].prob<220 &&
 
1287
         BC->nvers>0 && BC->vers[0].let==(uchar)'�' && BC->vers[0].prob<220 &&
1289
1288
         EC->nvers<1 );
1290
1289
}
1291
1290
 
1292
 
BOOL config_brace_and_K(cell *BC,cell *EC)
 
1291
Bool config_brace_and_K(cell *BC,cell *EC)
1293
1292
{
1294
 
return( BC->nvers>0 && BC->vers[0].let==(BYTE)'>' &&
1295
 
        EC->nvers>0 && EC->vers[0].let==(BYTE)'�' &&
 
1293
return( BC->nvers>0 && BC->vers[0].let==(uchar)'>' &&
 
1294
        EC->nvers>0 && EC->vers[0].let==(uchar)'�' &&
1296
1295
        EC->col - BC->col - BC->w<3 );
1297
1296
}
1298
1297
s_glue GLG;
1301
1300
void glue_III()
1302
1301
 {
1303
1302
cell *BC,*EC;
1304
 
INT ngl=0,row,col,w,h, inc=0;
1305
 
INT rrow,rcol;
1306
 
BYTE res[30];
 
1303
int16_t ngl=0,row,col,w,h, inc=0;
 
1304
int16_t rrow,rcol;
 
1305
uchar res[30];
1307
1306
 
1308
1307
      if( db_status && snap_activity('b') )
1309
1308
       {
1353
1352
 
1354
1353
    GLG.row   = row; GLG.col  = col;
1355
1354
    GLG.width = w; GLG.height = h;
1356
 
    GLG.ncell = (BYTE)ngl;
1357
 
    GLG.maxnc = (BYTE)ngl;
 
1355
    GLG.ncell = (uchar)ngl;
 
1356
    GLG.maxnc = (uchar)ngl;
1358
1357
    GLG.complist[ngl]=0;
1359
1358
    GLG.celist[ngl]  =0;
1360
1359
    GLG.maxlist[ngl] =0;
1412
1411
} /* end glue_III */
1413
1412
 
1414
1413
// 27.06.2002 E.P.
1415
 
INT is_bad_turkish_glue(BYTE c1, BYTE c2, BYTE c3)
 
1414
int16_t is_bad_turkish_glue(uchar c1, uchar c2, uchar c3)
1416
1415
{
1417
1416
/*
1418
1417
        ����������� ��������� �������� �������. 27.06.2002 E.P.