1 /***************************************************************************/
5 /* The FreeType position independent code services for cff module. */
7 /* Copyright 2009, 2012, 2013 by */
8 /* Oran Agra and Mickey Gabel. */
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. */
16 /***************************************************************************/
25 #include FT_INTERNAL_PIC_H
28 #ifndef FT_CONFIG_OPTION_PIC
30 #define CFF_SERVICE_PS_INFO_GET cff_service_ps_info
31 #define CFF_SERVICE_GLYPH_DICT_GET cff_service_glyph_dict
32 #define CFF_SERVICE_PS_NAME_GET cff_service_ps_name
33 #define CFF_SERVICE_GET_CMAP_INFO_GET cff_service_get_cmap_info
34 #define CFF_SERVICE_CID_INFO_GET cff_service_cid_info
35 #define CFF_SERVICE_PROPERTIES_GET cff_service_properties
36 #define CFF_SERVICES_GET cff_services
37 #define CFF_CMAP_ENCODING_CLASS_REC_GET cff_cmap_encoding_class_rec
38 #define CFF_CMAP_UNICODE_CLASS_REC_GET cff_cmap_unicode_class_rec
39 #define CFF_FIELD_HANDLERS_GET cff_field_handlers
41 #else /* FT_CONFIG_OPTION_PIC */
43 #include FT_SERVICE_GLYPH_DICT_H
45 #include FT_SERVICE_POSTSCRIPT_INFO_H
46 #include FT_SERVICE_POSTSCRIPT_NAME_H
47 #include FT_SERVICE_TT_CMAP_H
48 #include FT_SERVICE_CID_H
49 #include FT_SERVICE_PROPERTIES_H
52 typedef struct CffModulePIC_
54 FT_ServiceDescRec
* cff_services
;
55 CFF_Field_Handler
* cff_field_handlers
;
56 FT_Service_PsInfoRec cff_service_ps_info
;
57 FT_Service_GlyphDictRec cff_service_glyph_dict
;
58 FT_Service_PsFontNameRec cff_service_ps_name
;
59 FT_Service_TTCMapsRec cff_service_get_cmap_info
;
60 FT_Service_CIDRec cff_service_cid_info
;
61 FT_Service_PropertiesRec cff_service_properties
;
62 FT_CMap_ClassRec cff_cmap_encoding_class_rec
;
63 FT_CMap_ClassRec cff_cmap_unicode_class_rec
;
68 #define GET_PIC( lib ) \
69 ( (CffModulePIC*)( (lib)->pic_container.cff ) )
71 #define CFF_SERVICE_PS_INFO_GET \
72 ( GET_PIC( library )->cff_service_ps_info )
73 #define CFF_SERVICE_GLYPH_DICT_GET \
74 ( GET_PIC( library )->cff_service_glyph_dict )
75 #define CFF_SERVICE_PS_NAME_GET \
76 ( GET_PIC( library )->cff_service_ps_name )
77 #define CFF_SERVICE_GET_CMAP_INFO_GET \
78 ( GET_PIC( library )->cff_service_get_cmap_info )
79 #define CFF_SERVICE_CID_INFO_GET \
80 ( GET_PIC( library )->cff_service_cid_info )
81 #define CFF_SERVICE_PROPERTIES_GET \
82 ( GET_PIC( library )->cff_service_properties )
83 #define CFF_SERVICES_GET \
84 ( GET_PIC( library )->cff_services )
85 #define CFF_CMAP_ENCODING_CLASS_REC_GET \
86 ( GET_PIC( library )->cff_cmap_encoding_class_rec )
87 #define CFF_CMAP_UNICODE_CLASS_REC_GET \
88 ( GET_PIC( library )->cff_cmap_unicode_class_rec )
89 #define CFF_FIELD_HANDLERS_GET \
90 ( GET_PIC( library )->cff_field_handlers )
92 /* see cffpic.c for the implementation */
94 cff_driver_class_pic_free( FT_Library library
);
97 cff_driver_class_pic_init( FT_Library library
);
99 #endif /* FT_CONFIG_OPTION_PIC */
105 #endif /* __CFFPIC_H__ */