1 /***************************************************************************/ 2 /* */ 3 /* afpic.h */ 4 /* */ 5 /* The FreeType position independent code services for autofit module. */ 6 /* */ 7 /* Copyright 2009, 2011 by */ 8 /* Oran Agra and Mickey Gabel. */ 9 /* */ 10 /* This file is part of the FreeType project, and may only be used, */ 11 /* modified, and distributed under the terms of the FreeType project */ 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 /* this file you indicate that you have read the license and */ 14 /* understand and accept it fully. */ 15 /* */ 16 /***************************************************************************/ 17 18 19 #ifndef __AFPIC_H__ 20 #define __AFPIC_H__ 21 22 23 FT_BEGIN_HEADER 24 25 #include FT_INTERNAL_PIC_H 26 27 #ifndef FT_CONFIG_OPTION_PIC 28 29 #define AF_SCRIPT_CLASSES_GET af_script_classes 30 #define AF_AF_AUTOFITTER_SERVICE_GET af_autofitter_service 31 32 #else /* FT_CONFIG_OPTION_PIC */ 33 34 #include "aftypes.h" 35 36 /* increase these when you add new scripts, */ 37 /* and update autofit_module_class_pic_init */ 38 #ifdef FT_OPTION_AUTOFIT2 39 #define AF_SCRIPT_CLASSES_COUNT 6 40 #else 41 #define AF_SCRIPT_CLASSES_COUNT 5 42 #endif 43 #define AF_SCRIPT_CLASSES_REC_COUNT ( AF_SCRIPT_CLASSES_COUNT - 1 ) 44 45 typedef struct AFModulePIC_ 46 { 47 AF_ScriptClass af_script_classes[AF_SCRIPT_CLASSES_COUNT]; 48 AF_ScriptClassRec af_script_classes_rec[AF_SCRIPT_CLASSES_REC_COUNT]; 49 FT_AutoHinter_ServiceRec af_autofitter_service; 50 51 } AFModulePIC; 52 53 #define GET_PIC( lib ) \ 54 ( (AFModulePIC*)((lib)->pic_container.autofit) ) 55 #define AF_SCRIPT_CLASSES_GET \ 56 ( GET_PIC( FT_FACE_LIBRARY(globals->face) )->af_script_classes ) 57 #define AF_AF_AUTOFITTER_SERVICE_GET \ 58 ( GET_PIC( library )->af_autofitter_service ) 59 60 /* see afpic.c for the implementation */ 61 void 62 autofit_module_class_pic_free( FT_Library library ); 63 64 FT_Error 65 autofit_module_class_pic_init( FT_Library library ); 66 67 #endif /* FT_CONFIG_OPTION_PIC */ 68 69 /* */ 70 71 FT_END_HEADER 72 73 #endif /* __AFPIC_H__ */ 74 75 76 /* END */ 77