svcid.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  svcid.h                                                                */
00004 /*                                                                         */
00005 /*    The FreeType CID font services (specification).                      */
00006 /*                                                                         */
00007 /*  Copyright 2007, 2009 by Derek Clegg, Michael Toftdal.                  */
00008 /*                                                                         */
00009 /*  This file is part of the FreeType project, and may only be used,       */
00010 /*  modified, and distributed under the terms of the FreeType project      */
00011 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00012 /*  this file you indicate that you have read the license and              */
00013 /*  understand and accept it fully.                                        */
00014 /*                                                                         */
00015 /***************************************************************************/
00016 
00017 
00018 #ifndef __SVCID_H__
00019 #define __SVCID_H__
00020 
00021 #include FT_INTERNAL_SERVICE_H
00022 
00023 
00024 FT_BEGIN_HEADER
00025 
00026 
00027 #define FT_SERVICE_ID_CID  "CID"
00028 
00029   typedef FT_Error
00030   (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face       face,
00031                                                const char*  *registry,
00032                                                const char*  *ordering,
00033                                                FT_Int       *supplement );
00034   typedef FT_Error
00035   (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face   face,
00036                                          FT_Bool  *is_cid );
00037   typedef FT_Error
00038   (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face   face,
00039                                       FT_UInt   glyph_index,
00040                                       FT_UInt  *cid );
00041 
00042   FT_DEFINE_SERVICE( CID )
00043   {
00044     FT_CID_GetRegistryOrderingSupplementFunc  get_ros;
00045     FT_CID_GetIsInternallyCIDKeyedFunc        get_is_cid;
00046     FT_CID_GetCIDFromGlyphIndexFunc           get_cid_from_glyph_index;
00047   };
00048 
00049 #ifndef FT_CONFIG_OPTION_PIC
00050 
00051 #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_,                           \
00052         get_is_cid_, get_cid_from_glyph_index_ )                             \
00053   static const FT_Service_CIDRec class_ =                                    \
00054   {                                                                          \
00055     get_ros_, get_is_cid_, get_cid_from_glyph_index_                         \
00056   };
00057 
00058 #else /* FT_CONFIG_OPTION_PIC */ 
00059 
00060 #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_,                           \
00061         get_is_cid_, get_cid_from_glyph_index_ )                             \
00062   void                                                                       \
00063   FT_Init_Class_##class_( FT_Library library,                                \
00064                           FT_Service_CIDRec* clazz)                          \
00065   {                                                                          \
00066     FT_UNUSED(library);                                                      \
00067     clazz->get_ros = get_ros_;                                               \
00068     clazz->get_is_cid = get_is_cid_;                                         \
00069     clazz->get_cid_from_glyph_index = get_cid_from_glyph_index_;             \
00070   } 
00071 
00072 #endif /* FT_CONFIG_OPTION_PIC */ 
00073 
00074   /* */
00075 
00076 
00077 FT_END_HEADER
00078 
00079 
00080 #endif /* __SVCID_H__ */
00081 
00082 
00083 /* END */

Generated on Tue Jul 5 14:13:40 2011 for ROOT_528-00b_version by  doxygen 1.5.1