20 #include FT_FREETYPE_H 21 #include FT_INTERNAL_OBJECTS_H 26 #ifdef FT_CONFIG_OPTION_PIC 38 FT_Init_Class_af_service_properties( FT_Service_PropertiesRec* clazz );
40 void FT_Init_Class_af_autofitter_interface(
47 #ifdef FT_OPTION_AUTOFIT2 58 FT_PIC_Container* pic_container = &library->pic_container;
62 if ( pic_container->autofit )
64 AFModulePIC* container = (AFModulePIC*)pic_container->autofit;
67 if ( container->af_services )
68 FT_Destroy_Class_af_services( library,
69 container->af_services );
70 container->af_services =
NULL;
73 pic_container->autofit =
NULL;
79 autofit_module_class_pic_init(
FT_Library library )
81 FT_PIC_Container* pic_container = &library->pic_container;
84 AFModulePIC* container =
NULL;
89 if (
FT_ALLOC ( container,
sizeof ( *container ) ) )
91 FT_MEM_SET( container, 0,
sizeof ( *container ) );
92 pic_container->autofit = container;
96 error = FT_Create_Class_af_services( library,
97 &container->af_services );
101 FT_Init_Class_af_service_properties( &container->af_service_properties );
103 for ( ss = 0 ; ss < AF_SCRIPT_CLASSES_REC_COUNT ; ss++ )
105 container->af_script_classes[ss] =
106 &container->af_script_classes_rec[ss];
108 container->af_script_classes[AF_SCRIPT_CLASSES_COUNT - 1] =
NULL;
112 FT_Init_Class_af_dummy_script_class(
113 &container->af_script_classes_rec[ss++] );
114 #ifdef FT_OPTION_AUTOFIT2 115 FT_Init_Class_af_latin2_script_class(
116 &container->af_script_classes_rec[ss++] );
118 FT_Init_Class_af_latin_script_class(
119 &container->af_script_classes_rec[ss++] );
120 FT_Init_Class_af_cjk_script_class(
121 &container->af_script_classes_rec[ss++] );
122 FT_Init_Class_af_indic_script_class(
123 &container->af_script_classes_rec[ss++] );
125 FT_Init_Class_af_autofitter_interface(
126 library, &container->af_autofitter_interface );
130 autofit_module_class_pic_free( library );
#define FT_ALLOC(ptr, size)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
if(!abbox) return FT_THROW(Invalid_Argument)
#define FT_MEM_SET(dest, byte, count)