1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/ 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* cffpic.h */ 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* The FreeType position independent code services for cff module. */ 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* Copyright 2009, 2012, 2013 by */ 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* Oran Agra and Mickey Gabel. */ 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* This file is part of the FreeType project, and may only be used, */ 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* modified, and distributed under the terms of the FreeType project */ 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* this file you indicate that you have read the license and */ 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* understand and accept it fully. */ 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/ 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef __CFFPIC_H__ 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define __CFFPIC_H__ 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFT_BEGIN_HEADER 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/freetype/internal/ftpic.h" 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef FT_CONFIG_OPTION_PIC 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_PS_INFO_GET cff_service_ps_info 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_GLYPH_DICT_GET cff_service_glyph_dict 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_PS_NAME_GET cff_service_ps_name 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_GET_CMAP_INFO_GET cff_service_get_cmap_info 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_CID_INFO_GET cff_service_cid_info 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_PROPERTIES_GET cff_service_properties 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICES_GET cff_services 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_CMAP_ENCODING_CLASS_REC_GET cff_cmap_encoding_class_rec 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_CMAP_UNICODE_CLASS_REC_GET cff_cmap_unicode_class_rec 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_FIELD_HANDLERS_GET cff_field_handlers 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#else /* FT_CONFIG_OPTION_PIC */ 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/freetype/internal/services/svgldict.h" 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "cffparse.h" 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/freetype/internal/services/svpsinfo.h" 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/freetype/internal/services/svpostnm.h" 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/freetype/internal/services/svttcmap.h" 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/freetype/internal/services/svcid.h" 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../include/freetype/internal/services/svprop.h" 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov typedef struct CffModulePIC_ 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov { 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_ServiceDescRec* cff_services; 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov CFF_Field_Handler* cff_field_handlers; 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_Service_PsInfoRec cff_service_ps_info; 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_Service_GlyphDictRec cff_service_glyph_dict; 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_Service_PsFontNameRec cff_service_ps_name; 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_Service_TTCMapsRec cff_service_get_cmap_info; 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_Service_CIDRec cff_service_cid_info; 61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_Service_PropertiesRec cff_service_properties; 62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_CMap_ClassRec cff_cmap_encoding_class_rec; 63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_CMap_ClassRec cff_cmap_unicode_class_rec; 64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov } CffModulePIC; 66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define GET_PIC( lib ) \ 69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( (CffModulePIC*)( (lib)->pic_container.cff ) ) 70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_PS_INFO_GET \ 72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_service_ps_info ) 73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_GLYPH_DICT_GET \ 74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_service_glyph_dict ) 75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_PS_NAME_GET \ 76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_service_ps_name ) 77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_GET_CMAP_INFO_GET \ 78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_service_get_cmap_info ) 79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_CID_INFO_GET \ 80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_service_cid_info ) 81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICE_PROPERTIES_GET \ 82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_service_properties ) 83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_SERVICES_GET \ 84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_services ) 85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_CMAP_ENCODING_CLASS_REC_GET \ 86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_cmap_encoding_class_rec ) 87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_CMAP_UNICODE_CLASS_REC_GET \ 88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_cmap_unicode_class_rec ) 89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define CFF_FIELD_HANDLERS_GET \ 90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov ( GET_PIC( library )->cff_field_handlers ) 91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* see cffpic.c for the implementation */ 93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov void 94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov cff_driver_class_pic_free( FT_Library library ); 95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov FT_Error 97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov cff_driver_class_pic_init( FT_Library library ); 98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif /* FT_CONFIG_OPTION_PIC */ 100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 103ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFT_END_HEADER 104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif /* __CFFPIC_H__ */ 106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* END */ 109