cffpic.h revision 41371e1e39c8528eb0c4bc40683c736e6683e60c
1295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/***************************************************************************/ 2295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* */ 3295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* cffpic.h */ 4295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* */ 5295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* The FreeType position independent code services for cff module. */ 6295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* */ 7295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* Copyright 2009 by */ 8295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* Oran Agra and Mickey Gabel. */ 9295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* */ 10295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* This file is part of the FreeType project, and may only be used, */ 11295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* modified, and distributed under the terms of the FreeType project */ 12295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* this file you indicate that you have read the license and */ 14295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* understand and accept it fully. */ 15295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* */ 16295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/***************************************************************************/ 17295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 18295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 19295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#ifndef __CFFPIC_H__ 20295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define __CFFPIC_H__ 21295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 2241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier 23295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' TurnerFT_BEGIN_HEADER 24295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 25295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#include FT_INTERNAL_PIC_H 26295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 27295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#ifndef FT_CONFIG_OPTION_PIC 28295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_PS_INFO_GET cff_service_ps_info 29295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_GLYPH_DICT_GET cff_service_glyph_dict 30295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_PS_NAME_GET cff_service_ps_name 31295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_GET_CMAP_INFO_GET cff_service_get_cmap_info 32295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_CID_INFO_GET cff_service_cid_info 33295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICES_GET cff_services 34295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_CMAP_ENCODING_CLASS_REC_GET cff_cmap_encoding_class_rec 35295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_CMAP_UNICODE_CLASS_REC_GET cff_cmap_unicode_class_rec 36295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_FIELD_HANDLERS_GET cff_field_handlers 37295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 38295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#else /* FT_CONFIG_OPTION_PIC */ 39295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 40295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#include FT_SERVICE_GLYPH_DICT_H 41295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#include "cffparse.h" 42295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#include FT_SERVICE_POSTSCRIPT_INFO_H 43295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#include FT_SERVICE_POSTSCRIPT_NAME_H 44295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#include FT_SERVICE_TT_CMAP_H 45295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#include FT_SERVICE_CID_H 46295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 47295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner typedef struct CffModulePIC_ 48295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner { 49295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_ServiceDescRec* cff_services; 50295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner CFF_Field_Handler* cff_field_handlers; 51295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_Service_PsInfoRec cff_service_ps_info; 52295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_Service_GlyphDictRec cff_service_glyph_dict; 53295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_Service_PsFontNameRec cff_service_ps_name; 54295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_Service_TTCMapsRec cff_service_get_cmap_info; 55295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_Service_CIDRec cff_service_cid_info; 56295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_CMap_ClassRec cff_cmap_encoding_class_rec; 57295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner FT_CMap_ClassRec cff_cmap_unicode_class_rec; 58295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner } CffModulePIC; 59295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 60295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define GET_PIC(lib) ((CffModulePIC*)((lib)->pic_container.cff)) 61295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_PS_INFO_GET (GET_PIC(library)->cff_service_ps_info) 62295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_GLYPH_DICT_GET (GET_PIC(library)->cff_service_glyph_dict) 63295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_PS_NAME_GET (GET_PIC(library)->cff_service_ps_name) 64295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_GET_CMAP_INFO_GET (GET_PIC(library)->cff_service_get_cmap_info) 65295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICE_CID_INFO_GET (GET_PIC(library)->cff_service_cid_info) 66295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_SERVICES_GET (GET_PIC(library)->cff_services) 67295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_CMAP_ENCODING_CLASS_REC_GET (GET_PIC(library)->cff_cmap_encoding_class_rec) 68295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_CMAP_UNICODE_CLASS_REC_GET (GET_PIC(library)->cff_cmap_unicode_class_rec) 69295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#define FT_CFF_FIELD_HANDLERS_GET (GET_PIC(library)->cff_field_handlers) 70295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 7141371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier /* see cffpic.c for the implementation */ 7241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier void 7341371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier cff_driver_class_pic_free( FT_Library library ); 7441371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier 7541371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier FT_Error 7641371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier cff_driver_class_pic_init( FT_Library library ); 7741371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier 78295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#endif /* FT_CONFIG_OPTION_PIC */ 79295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 80295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner /* */ 81295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 82295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' TurnerFT_END_HEADER 83295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 84295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#endif /* __CFFPIC_H__ */ 85295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 86295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 87295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner/* END */ 88