| 1 | /***************************************************************************/ | 
|---|
| 2 | /*                                                                         */ | 
|---|
| 3 | /*  cffpic.h                                                               */ | 
|---|
| 4 | /*                                                                         */ | 
|---|
| 5 | /*    The FreeType position independent code services for cff module.      */ | 
|---|
| 6 | /*                                                                         */ | 
|---|
| 7 | /*  Copyright 2009-2018 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 CFFPIC_H_ | 
|---|
| 20 | #define CFFPIC_H_ | 
|---|
| 21 |  | 
|---|
| 22 |  | 
|---|
| 23 | #include FT_INTERNAL_PIC_H | 
|---|
| 24 |  | 
|---|
| 25 | #ifndef FT_CONFIG_OPTION_PIC | 
|---|
| 26 |  | 
|---|
| 27 | #define CFF_SERVICE_PS_INFO_GET          cff_service_ps_info | 
|---|
| 28 | #define CFF_SERVICE_GLYPH_DICT_GET       cff_service_glyph_dict | 
|---|
| 29 | #define CFF_SERVICE_PS_NAME_GET          cff_service_ps_name | 
|---|
| 30 | #define CFF_SERVICE_GET_CMAP_INFO_GET    cff_service_get_cmap_info | 
|---|
| 31 | #define CFF_SERVICE_CID_INFO_GET         cff_service_cid_info | 
|---|
| 32 | #define CFF_SERVICE_PROPERTIES_GET       cff_service_properties | 
|---|
| 33 | #define CFF_SERVICES_GET                 cff_services | 
|---|
| 34 | #define CFF_SERVICE_MULTI_MASTERS_GET    cff_service_multi_masters | 
|---|
| 35 | #define CFF_SERVICE_METRICS_VAR_GET      cff_service_metrics_variations | 
|---|
| 36 | #define CFF_SERVICE_CFF_LOAD_GET         cff_service_cff_load | 
|---|
| 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 | 
|---|
| 40 |  | 
|---|
| 41 | #else /* FT_CONFIG_OPTION_PIC */ | 
|---|
| 42 |  | 
|---|
| 43 | #include FT_SERVICE_GLYPH_DICT_H | 
|---|
| 44 | #include "cffparse.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 | 
|---|
| 50 | #include FT_SERVICE_MULTIPLE_MASTERS_H | 
|---|
| 51 | #include FT_SERVICE_METRICS_VARIATIONS_H | 
|---|
| 52 |  | 
|---|
| 53 |  | 
|---|
| 54 | FT_BEGIN_HEADER | 
|---|
| 55 |  | 
|---|
| 56 | typedef struct  CffModulePIC_ | 
|---|
| 57 | { | 
|---|
| 58 | FT_ServiceDescRec*               cff_services; | 
|---|
| 59 | CFF_Field_Handler*               cff_field_handlers; | 
|---|
| 60 | FT_Service_PsInfoRec             cff_service_ps_info; | 
|---|
| 61 | FT_Service_GlyphDictRec          cff_service_glyph_dict; | 
|---|
| 62 | FT_Service_PsFontNameRec         cff_service_ps_name; | 
|---|
| 63 | FT_Service_TTCMapsRec            cff_service_get_cmap_info; | 
|---|
| 64 | FT_Service_CIDRec                cff_service_cid_info; | 
|---|
| 65 | FT_Service_PropertiesRec         cff_service_properties; | 
|---|
| 66 | FT_Service_MultiMastersRec       cff_service_multi_masters; | 
|---|
| 67 | FT_Service_MetricsVariationsRec  cff_service_metrics_variations; | 
|---|
| 68 | FT_Service_CFFLoadRec            cff_service_cff_load; | 
|---|
| 69 | FT_CMap_ClassRec                 cff_cmap_encoding_class_rec; | 
|---|
| 70 | FT_CMap_ClassRec                 cff_cmap_unicode_class_rec; | 
|---|
| 71 |  | 
|---|
| 72 | } CffModulePIC; | 
|---|
| 73 |  | 
|---|
| 74 |  | 
|---|
| 75 | #define GET_PIC( lib )                                    \ | 
|---|
| 76 | ( (CffModulePIC*)( (lib)->pic_container.cff ) ) | 
|---|
| 77 |  | 
|---|
| 78 | #define CFF_SERVICE_PS_INFO_GET                       \ | 
|---|
| 79 | ( GET_PIC( library )->cff_service_ps_info ) | 
|---|
| 80 | #define CFF_SERVICE_GLYPH_DICT_GET                       \ | 
|---|
| 81 | ( GET_PIC( library )->cff_service_glyph_dict ) | 
|---|
| 82 | #define CFF_SERVICE_PS_NAME_GET                       \ | 
|---|
| 83 | ( GET_PIC( library )->cff_service_ps_name ) | 
|---|
| 84 | #define CFF_SERVICE_GET_CMAP_INFO_GET                       \ | 
|---|
| 85 | ( GET_PIC( library )->cff_service_get_cmap_info ) | 
|---|
| 86 | #define CFF_SERVICE_CID_INFO_GET                       \ | 
|---|
| 87 | ( GET_PIC( library )->cff_service_cid_info ) | 
|---|
| 88 | #define CFF_SERVICE_PROPERTIES_GET                       \ | 
|---|
| 89 | ( GET_PIC( library )->cff_service_properties ) | 
|---|
| 90 | #define CFF_SERVICES_GET                       \ | 
|---|
| 91 | ( GET_PIC( library )->cff_services ) | 
|---|
| 92 | #define CFF_SERVICE_MULTI_MASTERS_GET                       \ | 
|---|
| 93 | ( GET_PIC( library )->cff_service_multi_masters ) | 
|---|
| 94 | #define CFF_SERVICE_METRICS_VAR_GET                              \ | 
|---|
| 95 | ( GET_PIC( library )->cff_service_metrics_variations ) | 
|---|
| 96 | #define CFF_SERVICE_CFF_LOAD_GET                       \ | 
|---|
| 97 | ( GET_PIC( library )->cff_service_cff_load ) | 
|---|
| 98 | #define CFF_CMAP_ENCODING_CLASS_REC_GET                       \ | 
|---|
| 99 | ( GET_PIC( library )->cff_cmap_encoding_class_rec ) | 
|---|
| 100 | #define CFF_CMAP_UNICODE_CLASS_REC_GET                       \ | 
|---|
| 101 | ( GET_PIC( library )->cff_cmap_unicode_class_rec ) | 
|---|
| 102 | #define CFF_FIELD_HANDLERS_GET                       \ | 
|---|
| 103 | ( GET_PIC( library )->cff_field_handlers ) | 
|---|
| 104 |  | 
|---|
| 105 | /* see cffpic.c for the implementation */ | 
|---|
| 106 | void | 
|---|
| 107 | cff_driver_class_pic_free( FT_Library  library ); | 
|---|
| 108 |  | 
|---|
| 109 | FT_Error | 
|---|
| 110 | cff_driver_class_pic_init( FT_Library  library ); | 
|---|
| 111 |  | 
|---|
| 112 | FT_END_HEADER | 
|---|
| 113 |  | 
|---|
| 114 | #endif /* FT_CONFIG_OPTION_PIC */ | 
|---|
| 115 |  | 
|---|
| 116 | /* */ | 
|---|
| 117 |  | 
|---|
| 118 | #endif /* CFFPIC_H_ */ | 
|---|
| 119 |  | 
|---|
| 120 |  | 
|---|
| 121 | /* END */ | 
|---|
| 122 |  | 
|---|