55 assert (Templates != NULL);
56 assert (Class != NULL);
64 assert (Templates->
Class[ClassId] == NULL);
65 Templates->
Class[ClassId] = Class;
82 assert (Config != NULL);
95 assert(Config != NULL);
177 Templates->
Class[i] = NULL;
199 if (templates != NULL) {
201 for (i = 0; i < (templates->
Templates)->NumClasses; i++)
222 int NumProtos = MaxProtoId + 1;
271 fprintf (File,
"\n\nSUMMARY OF ADAPTED TEMPLATES:\n\n");
272 fprintf (File,
"Num classes = %d; Num permanent classes = %d\n\n",
274 fprintf (File,
" Id NC NPC NP NPP\n");
275 fprintf (File,
"------------------------\n");
277 for (i = 0; i < (Templates->
Templates)->NumClasses; i++) {
279 AClass = Templates->
Class[i];
281 fprintf (File,
"%5d %s %3d %3d %3d %3d\n",
288 fprintf (File,
"\n");
325 fp->
FRead(&NumTempProtos,
sizeof(
int), 1);
327 for (i = 0; i < NumTempProtos; i++) {
334 fp->
FRead(&NumConfigs,
sizeof(
int), 1);
335 for (i = 0; i < NumConfigs; i++)
371 for (i = 0; i < (Templates->
Templates)->NumClasses; i++) {
398 Config->
Ambigs[NumAmbigs] = -1;
452 fwrite ((
char *) Class->PermProtos, sizeof (
uinT32),
454 fwrite ((
char *) Class->PermConfigs, sizeof (
uinT32),
458 NumTempProtos =
count (Class->TempProtos);
459 fwrite ((
char *) &NumTempProtos,
sizeof (
int), 1, File);
460 TempProtos = Class->TempProtos;
467 fwrite ((
char *) &NumConfigs,
sizeof (
int), 1, File);
468 for (i = 0; i < NumConfigs; i++)
469 if (
test_bit (Class->PermConfigs, i))
499 for (i = 0; i < (Templates->Templates)->NumClasses; i++) {
501 Templates->Templates->Class[i]->NumConfigs);
522 assert (Config != NULL);
523 while (Config->
Ambigs[NumAmbigs] > 0) ++NumAmbigs;
525 fwrite((
char *) &NumAmbigs,
sizeof(
uinT8), 1, File);
527 fwrite(&(Config->
FontinfoId),
sizeof(
int), 1, File);
544 assert (Config != NULL);
547 fwrite ((
char *) Config->Protos, sizeof (
uinT32),
548 Config->ProtoVectorSize, File);
PERM_CONFIG ReadPermConfig(TFile *fp)
ADAPTED_CONFIG Config[MAX_NUM_CONFIGS]
void FreeBitVector(BIT_VECTOR BitVector)
void WriteIntTemplates(FILE *File, INT_TEMPLATES Templates, const UNICHARSET &target_unicharset)
TEMP_CONFIG NewTempConfig(int MaxProtoId, int FontinfoId)
#define UnusedClassIdIn(T, c)
#define WordsInVectorOfSize(NumBits)
ADAPT_CLASS NewAdaptedClass()
ADAPT_TEMPLATES NewAdaptedTemplates(bool InitFromUnicharset)
void FreeTempConfig(TEMP_CONFIG Config)
PERM_CONFIG_STRUCT * PERM_CONFIG
ADAPT_CLASS ReadAdaptedClass(TFile *fp)
#define PermConfigFor(Class, ConfigId)
LIST push_last(LIST list, void *item)
ADAPT_CLASS_STRUCT * ADAPT_CLASS
void AddAdaptedClass(ADAPT_TEMPLATES Templates, ADAPT_CLASS Class, CLASS_ID ClassId)
ADAPT_TEMPLATES ReadAdaptedTemplates(TFile *File)
void PrintAdaptedTemplates(FILE *File, ADAPT_TEMPLATES Templates)
TEMP_PROTO_STRUCT * TEMP_PROTO
BIT_VECTOR NewBitVector(int NumBits)
void WritePermConfig(FILE *File, PERM_CONFIG Config)
const char * id_to_unichar(UNICHAR_ID id) const
void free_adapted_templates(ADAPT_TEMPLATES templates)
INT_TEMPLATES ReadIntTemplates(TFile *fp)
#define zero_all_bits(array, length)
void WriteTempConfig(FILE *File, TEMP_CONFIG Config)
void free_adapted_class(ADAPT_CLASS adapt_class)
void WriteAdaptedClass(FILE *File, ADAPT_CLASS Class, int NumConfigs)
ADAPT_TEMPLATES_STRUCT * ADAPT_TEMPLATES
#define TempConfigFor(Class, ConfigId)
TEMP_CONFIG_STRUCT * TEMP_CONFIG
INT_TEMPLATES NewIntTemplates()
INT_CLASS Class[MAX_NUM_CLASSES]
int GetFontinfoId(ADAPT_CLASS Class, uinT8 ConfigId)
TEMP_PROTO NewTempProto()
void AddIntClass(INT_TEMPLATES Templates, CLASS_ID ClassId, INT_CLASS Class)
void destroy_nodes(LIST list, void_dest destructor)
void FreeTempProto(void *arg)
void WriteAdaptedTemplates(FILE *File, ADAPT_TEMPLATES Templates)
TEMP_CONFIG ReadTempConfig(TFile *fp)
#define test_bit(array, bit)
void FreePermConfig(PERM_CONFIG Config)
ADAPT_CLASS Class[MAX_NUM_CLASSES]
#define IsEmptyAdaptedClass(Class)
void free_int_templates(INT_TEMPLATES templates)
#define ConfigIsPermanent(Class, ConfigId)
INT_CLASS NewIntClass(int MaxNumProtos, int MaxNumConfigs)
int FRead(void *buffer, int size, int count)