1 /****************************************************************************
   2  *
   3  * svcid.h
   4  *
   5  *   The FreeType CID font services (specification).
   6  *
   7  * Copyright (C) 2007-2019 by
   8  * Derek Clegg and Michael Toftdal.
   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 SVCID_H_
  20 #define SVCID_H_
  21 
  22 #include FT_INTERNAL_SERVICE_H
  23 
  24 
  25 FT_BEGIN_HEADER
  26 
  27 
  28 #define FT_SERVICE_ID_CID  "CID"
  29 
  30   typedef FT_Error
  31   (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face       face,
  32                                                const char*  *registry,
  33                                                const char*  *ordering,
  34                                                FT_Int       *supplement );
  35   typedef FT_Error
  36   (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face   face,
  37                                          FT_Bool  *is_cid );
  38   typedef FT_Error
  39   (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face   face,
  40                                       FT_UInt   glyph_index,
  41                                       FT_UInt  *cid );
  42 
  43   FT_DEFINE_SERVICE( CID )
  44   {
  45     FT_CID_GetRegistryOrderingSupplementFunc  get_ros;
  46     FT_CID_GetIsInternallyCIDKeyedFunc        get_is_cid;
  47     FT_CID_GetCIDFromGlyphIndexFunc           get_cid_from_glyph_index;
  48   };
  49 
  50 
  51 #define FT_DEFINE_SERVICE_CIDREC( class_,                                   \
  52                                   get_ros_,                                 \
  53                                   get_is_cid_,                              \
  54                                   get_cid_from_glyph_index_ )               \
  55   static const FT_Service_CIDRec class_ =                                   \
  56   {                                                                         \
  57     get_ros_, get_is_cid_, get_cid_from_glyph_index_                        \
  58   };
  59 
  60   /* */
  61 
  62 
  63 FT_END_HEADER
  64 
  65 
  66 #endif /* SVCID_H_ */
  67 
  68 
  69 /* END */