23#include FT_INTERNAL_PIC_H
26#ifndef FT_CONFIG_OPTION_PIC
28#define SFNT_SERVICES_GET sfnt_services
29#define SFNT_SERVICE_GLYPH_DICT_GET sfnt_service_glyph_dict
30#define SFNT_SERVICE_PS_NAME_GET sfnt_service_ps_name
31#define TT_SERVICE_CMAP_INFO_GET tt_service_get_cmap_info
32#define TT_CMAP_CLASSES_GET tt_cmap_classes
33#define SFNT_SERVICE_SFNT_TABLE_GET sfnt_service_sfnt_table
34#define SFNT_SERVICE_BDF_GET sfnt_service_bdf
35#define SFNT_INTERFACE_GET sfnt_interface
40#include FT_SERVICE_GLYPH_DICT_H
41#include FT_SERVICE_POSTSCRIPT_NAME_H
42#include FT_SERVICE_SFNT_H
43#include FT_SERVICE_TT_CMAP_H
45#ifdef TT_CONFIG_OPTION_BDF
47#include FT_SERVICE_BDF_H
50#include FT_INTERNAL_DEBUG_H
51#include FT_INTERNAL_STREAM_H
52#include FT_INTERNAL_SFNT_H
58 typedef struct sfntModulePIC_
61 FT_Service_GlyphDictRec sfnt_service_glyph_dict;
62 FT_Service_PsFontNameRec sfnt_service_ps_name;
63 FT_Service_TTCMapsRec tt_service_get_cmap_info;
65 FT_Service_SFNT_TableRec sfnt_service_sfnt_table;
66#ifdef TT_CONFIG_OPTION_BDF
67 FT_Service_BDFRec sfnt_service_bdf;
74#define GET_PIC( lib ) \
75 ( (sfntModulePIC*)( (lib)->pic_container.sfnt ) )
77#define SFNT_SERVICES_GET \
78 ( GET_PIC( library )->sfnt_services )
79#define SFNT_SERVICE_GLYPH_DICT_GET \
80 ( GET_PIC( library )->sfnt_service_glyph_dict )
81#define SFNT_SERVICE_PS_NAME_GET \
82 ( GET_PIC( library )->sfnt_service_ps_name )
83#define TT_SERVICE_CMAP_INFO_GET \
84 ( GET_PIC( library )->tt_service_get_cmap_info )
85#define TT_CMAP_CLASSES_GET \
86 ( GET_PIC( library )->tt_cmap_classes )
87#define SFNT_SERVICE_SFNT_TABLE_GET \
88 ( GET_PIC( library )->sfnt_service_sfnt_table )
89#define SFNT_SERVICE_BDF_GET \
90 ( GET_PIC( library )->sfnt_service_bdf )
91#define SFNT_INTERFACE_GET \
92 ( GET_PIC( library )->sfnt_interface )
static const TT_CMap_Class tt_cmap_classes[]