Exemple #1
0
void criteries()
 {
 cell *c;

 if (!line_number || current_fragment!=curr_frag)
  {
  dist_point_of_i_1=dist_point_of_i_2=dist_point_of_i_3=
  dist_point_of_i_b=0;
  curr_frag=current_fragment;
  }

 c=cell_f();
 while ((c=c->nextl)->nextl != NULL)
 {
  criteria(c);
 if(language == PUMA_LANG_RUSSIAN )
  {
  r_criteria(c,NULL);
  if( c->nvers>0 && memchr("’вѓЈ",c->vers[0].let,4) &&
      !is_russian_baltic_conflict(c->vers[0].let)&& // 17.07.2001 E.P.
	  !is_russian_turkish_conflict(c->vers[0].let) 	// 21.05.2002 E.P.
	)
    stick_center_study(c,NULL,1);
  }
 }
 }
Exemple #2
0
static Bool is_slash(cell *c)
 {
 puchar raster;
 int16_t i1,i2,j1,j2,l;
 int16_t    ginc=erect_get_local();
 if( c->stick_inc==NO_INCLINE || c->stick_inc==0 )
    stick_center_study(c,NULL,1);
if( nIncline<256 && c->stick_inc>700 && (c->flg&c_f_solid))
    return TRUE;
if( c->stick_inc!=NO_INCLINE && ginc<400 && ginc*2<c->stick_inc )
    return TRUE;
 raster=save_raster(c);
 l=(c->w+7)/8;
 i1=c->h/4;
 for (j1=0; !(raster[i1*l+j1/8]&(128>>(j1%8))); j1++) ;
 i2=3*c->h/4;
 for (j2=0; !(raster[i2*l+j2/8]&(128>>(j2%8))); j2++) ;
 if ((c->font|c->font_new)&c_fp_it && NOMINCL*(j1-j2)>=DENOMINCL*(i2-i1) ||
     (c->font|c->font_new)&c_fp_str && 2*NOMINCL*(j1-j2)>=DENOMINCL*(i2-i1))
  return TRUE;
 return FALSE;
 }