1 /***************************************************************************/ 2 /* */ 3 /* afpic.h */ 4 /* */ 5 /* The FreeType position independent code services for autofit module. */ 6 /* */ 7 /* Copyright 2009 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, and update autofit_module_class_pic_init */ 37 #ifdef FT_OPTION_AUTOFIT2 38 #define AF_SCRIPT_CLASSES_COUNT 6 39 #else 40 #define AF_SCRIPT_CLASSES_COUNT 5 41 #endif 42 #define AF_SCRIPT_CLASSES_REC_COUNT (AF_SCRIPT_CLASSES_COUNT-1) 43 44 typedef struct AFModulePIC_ 45 { 46 AF_ScriptClass af_script_classes[AF_SCRIPT_CLASSES_COUNT]; 47 AF_ScriptClassRec af_script_classes_rec[AF_SCRIPT_CLASSES_REC_COUNT]; 48 FT_AutoHinter_ServiceRec af_autofitter_service; 49 } AFModulePIC; 50 51 #define GET_PIC(lib) ((AFModulePIC*)((lib)->pic_container.autofit)) 52 #define AF_SCRIPT_CLASSES_GET (GET_PIC(FT_FACE_LIBRARY(globals->face))->af_script_classes) 53 #define AF_AF_AUTOFITTER_SERVICE_GET (GET_PIC(library)->af_autofitter_service) 54 55 #endif /* FT_CONFIG_OPTION_PIC */ 56 57 /* */ 58 59 FT_END_HEADER 60 61 #endif /* __AFPIC_H__ */ 62 63 64 /* END */ 65