Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  cffpic.h                                                               */
  4. /*                                                                         */
  5. /*    The FreeType position independent code services for cff module.      */
  6. /*                                                                         */
  7. /*  Copyright 2009, 2012, 2013 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. FT_BEGIN_HEADER
  24.  
  25. #include FT_INTERNAL_PIC_H
  26.  
  27.  
  28. #ifndef FT_CONFIG_OPTION_PIC
  29.  
  30. #define CFF_SERVICE_PS_INFO_GET          cff_service_ps_info
  31. #define CFF_SERVICE_GLYPH_DICT_GET       cff_service_glyph_dict
  32. #define CFF_SERVICE_PS_NAME_GET          cff_service_ps_name
  33. #define CFF_SERVICE_GET_CMAP_INFO_GET    cff_service_get_cmap_info
  34. #define CFF_SERVICE_CID_INFO_GET         cff_service_cid_info
  35. #define CFF_SERVICE_PROPERTIES_GET       cff_service_properties
  36. #define CFF_SERVICES_GET                 cff_services
  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.  
  51.  
  52.   typedef struct  CffModulePIC_
  53.   {
  54.     FT_ServiceDescRec*        cff_services;
  55.     CFF_Field_Handler*        cff_field_handlers;
  56.     FT_Service_PsInfoRec      cff_service_ps_info;
  57.     FT_Service_GlyphDictRec   cff_service_glyph_dict;
  58.     FT_Service_PsFontNameRec  cff_service_ps_name;
  59.     FT_Service_TTCMapsRec     cff_service_get_cmap_info;
  60.     FT_Service_CIDRec         cff_service_cid_info;
  61.     FT_Service_PropertiesRec  cff_service_properties;
  62.     FT_CMap_ClassRec          cff_cmap_encoding_class_rec;
  63.     FT_CMap_ClassRec          cff_cmap_unicode_class_rec;
  64.  
  65.   } CffModulePIC;
  66.  
  67.  
  68. #define GET_PIC( lib )                                    \
  69.           ( (CffModulePIC*)( (lib)->pic_container.cff ) )
  70.  
  71. #define CFF_SERVICE_PS_INFO_GET                       \
  72.           ( GET_PIC( library )->cff_service_ps_info )
  73. #define CFF_SERVICE_GLYPH_DICT_GET                       \
  74.           ( GET_PIC( library )->cff_service_glyph_dict )
  75. #define CFF_SERVICE_PS_NAME_GET                       \
  76.           ( GET_PIC( library )->cff_service_ps_name )
  77. #define CFF_SERVICE_GET_CMAP_INFO_GET                       \
  78.           ( GET_PIC( library )->cff_service_get_cmap_info )
  79. #define CFF_SERVICE_CID_INFO_GET                       \
  80.           ( GET_PIC( library )->cff_service_cid_info )
  81. #define CFF_SERVICE_PROPERTIES_GET                       \
  82.           ( GET_PIC( library )->cff_service_properties )
  83. #define CFF_SERVICES_GET                       \
  84.           ( GET_PIC( library )->cff_services )
  85. #define CFF_CMAP_ENCODING_CLASS_REC_GET                       \
  86.           ( GET_PIC( library )->cff_cmap_encoding_class_rec )
  87. #define CFF_CMAP_UNICODE_CLASS_REC_GET                       \
  88.           ( GET_PIC( library )->cff_cmap_unicode_class_rec )
  89. #define CFF_FIELD_HANDLERS_GET                       \
  90.           ( GET_PIC( library )->cff_field_handlers )
  91.  
  92.   /* see cffpic.c for the implementation */
  93.   void
  94.   cff_driver_class_pic_free( FT_Library  library );
  95.  
  96.   FT_Error
  97.   cff_driver_class_pic_init( FT_Library  library );
  98.  
  99. #endif /* FT_CONFIG_OPTION_PIC */
  100.  
  101.  /* */
  102.  
  103. FT_END_HEADER
  104.  
  105. #endif /* __CFFPIC_H__ */
  106.  
  107.  
  108. /* END */
  109.