47 int i, ich, newlen, cclp, ccls, cclmec;
61 for ( ccls = 0; ccls <
ccllen[
i]; ++ccls )
80 for ( j = 0; j < newlen; ++j )
81 if (
ccltbl[cclp + j] == -cclmec )
86 ccltbl[cclp + newlen] = -cclmec;
91 else if ( cclmec > 0 )
93 ccltbl[cclp + newlen] = cclmec;
126 for ( i = 1; i <= num; ++
i )
130 for ( j = fwd[i]; j !=
NIL; j = fwd[j] )
153 int nul_is_alone =
false;
154 int did_default_xlation_class =
false;
163 for ( i = 1; i <
csize; ++
i )
176 for ( i = 1; i <
csize; ++
i )
179 if ( did_default_xlation_class )
189 did_default_xlation_class =
true;
232 void mkeccl(
unsigned char ccls[],
int lenccl,
int fwd[],
int bck[],
int llsiz,
int NUL_mapping)
234 int cclp, oldec, newec;
236 static unsigned char cclflags[
CSIZE];
244 while ( cclp < lenccl )
248 if ( NUL_mapping && cclm == 0 )
256 for ( i = fwd[cclm]; i !=
NIL && i <= llsiz; i = fwd[
i] )
258 for ( ; j < lenccl; ++j )
262 if ( NUL_mapping && ccls[j] == 0 )
263 ccl_char = NUL_mapping;
270 if ( ccl_char == i && ! cclflags[j] )
302 if ( bck[cclm] !=
NIL || oldec != bck[cclm] )
312 for ( ++cclp; cclflags[cclp] && cclp < lenccl; ++cclp )
334 if ( fwd[tch] !=
NIL )
335 bck[fwd[tch]] = bck[tch];
337 if ( bck[tch] !=
NIL )
338 fwd[bck[tch]] = fwd[tch];
int cre8ecs(int fwd[], int bck[], int num)
int ecs_from_xlation(int ecmap[])
void mkeccl(unsigned char ccls[], int lenccl, int fwd[], int bck[], int llsiz, int NUL_mapping)
void mkechar(int tch, int fwd[], int bck[])