42 assert(Templates !=
nullptr);
43 assert(Class !=
nullptr);
51 assert(Templates->
Class[ClassId] ==
nullptr);
52 Templates->
Class[ClassId] = Class;
88 while (list !=
nullptr) {
104 if (
i < unicharset.
size()) {
111 for (
unsigned i = 0;
i < (
Templates)->NumClasses;
i++) {
128 int NumProtos = maxProtoId + 1;
130 Protos = NewBitVector(NumProtos);
157 fprintf(
File,
"\n\nSUMMARY OF ADAPTED TEMPLATES:\n\n");
160 fprintf(
File,
" Id NC NPC NP NPP\n");
161 fprintf(
File,
"------------------------\n");
163 for (
unsigned i = 0;
i < (Templates->
Templates)->NumClasses;
i++) {
165 AClass = Templates->
Class[
i];
203 fp->
FRead(&NumTempProtos,
sizeof(
int), 1);
205 for (
i = 0;
i < NumTempProtos;
i++) {
212 fp->
FRead(&NumConfigs,
sizeof(
int), 1);
213 for (
i = 0;
i < NumConfigs;
i++) {
245 for (
unsigned i = 0;
i < (Templates->Templates)->NumClasses;
i++) {
265 fp->
FRead(&NumAmbigs,
sizeof(NumAmbigs), 1);
268 Config->Ambigs[NumAmbigs] = -1;
317 fwrite(&NumTempProtos,
sizeof(NumTempProtos), 1,
File);
320 void *proto = TempProtos->node;
325 fwrite(&NumConfigs,
sizeof(
int), 1,
File);
326 for (
int i = 0;
i < NumConfigs;
i++) {
353 for (
unsigned i = 0;
i < (Templates->
Templates)->NumClasses;
i++) {
369 uint8_t NumAmbigs = 0;
371 assert(
Config !=
nullptr);
372 while (
Config->Ambigs[NumAmbigs] > 0) {
376 fwrite(&NumAmbigs,
sizeof(uint8_t), 1,
File);
378 fwrite(&(
Config->FontinfoId),
sizeof(
int), 1,
File);
392 assert(
Config !=
nullptr);
#define test_bit(array, bit)
#define UnusedClassIdIn(T, c)
#define IsEmptyAdaptedClass(Class)
#define ConfigIsPermanent(Class, ConfigId)
#define PermConfigFor(Class, ConfigId)
#define TempConfigFor(Class, ConfigId)
void AddIntClass(INT_TEMPLATES_STRUCT *Templates, CLASS_ID ClassId, INT_CLASS_STRUCT *Class)
void WriteAdaptedClass(FILE *File, ADAPT_CLASS_STRUCT *Class, int NumConfigs)
ADAPT_CLASS_STRUCT * ReadAdaptedClass(TFile *fp)
void WritePermConfig(FILE *File, PERM_CONFIG_STRUCT *Config)
PERM_CONFIG_STRUCT * ReadPermConfig(TFile *fp)
void AddAdaptedClass(ADAPT_TEMPLATES_STRUCT *Templates, ADAPT_CLASS_STRUCT *Class, CLASS_ID ClassId)
TEMP_CONFIG_STRUCT * ReadTempConfig(TFile *fp)
LIST push_last(LIST list, void *item)
void WriteTempConfig(FILE *File, TEMP_CONFIG_STRUCT *Config)
size_t FRead(void *buffer, size_t size, size_t count)
const char * id_to_unichar(UNICHAR_ID id) const
TEMP_CONFIG_STRUCT()=default
PERM_CONFIG_STRUCT * Perm
TEMP_CONFIG_STRUCT * Temp
ADAPTED_CONFIG Config[MAX_NUM_CONFIGS]
~ADAPT_TEMPLATES_STRUCT()
ADAPT_TEMPLATES_STRUCT()=default
ADAPT_CLASS_STRUCT * Class[MAX_NUM_CLASSES]
INT_TEMPLATES_STRUCT * Templates
void WriteIntTemplates(FILE *File, INT_TEMPLATES_STRUCT *Templates, const UNICHARSET &target_unicharset)
void WriteAdaptedTemplates(FILE *File, ADAPT_TEMPLATES_STRUCT *Templates)
INT_TEMPLATES_STRUCT * ReadIntTemplates(TFile *fp)
ADAPT_TEMPLATES_STRUCT * ReadAdaptedTemplates(TFile *File)
int GetFontinfoId(ADAPT_CLASS_STRUCT *Class, uint8_t ConfigId)
void PrintAdaptedTemplates(FILE *File, ADAPT_TEMPLATES_STRUCT *Templates)
INT_CLASS_STRUCT * Class[MAX_NUM_CLASSES]