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