/***************************************************************************/ /* */ /* svcid.h */ /* */ /* The FreeType CID font services (specification). */ /* */ /* Copyright 2007, 2009 by Derek Clegg, Michael Toftdal. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ #ifndef __SVCID_H__ #define __SVCID_H__ #include FT_INTERNAL_SERVICE_H FT_BEGIN_HEADER #define FT_SERVICE_ID_CID "CID" typedef FT_Error (*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face face, const char* *registry, const char* *ordering, FT_Int *supplement ); typedef FT_Error (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face, FT_Bool *is_cid ); typedef FT_Error (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face, FT_UInt glyph_index, FT_UInt *cid ); FT_DEFINE_SERVICE( CID ) { FT_CID_GetRegistryOrderingSupplementFunc get_ros; FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid; FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index; }; #ifndef FT_CONFIG_OPTION_PIC #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_, \ get_is_cid_, get_cid_from_glyph_index_ ) \ static const FT_Service_CIDRec class_ = \ { \ get_ros_, get_is_cid_, get_cid_from_glyph_index_ \ }; #else /* FT_CONFIG_OPTION_PIC */ #define FT_DEFINE_SERVICE_CIDREC(class_, get_ros_, \ get_is_cid_, get_cid_from_glyph_index_ ) \ void \ FT_Init_Class_##class_( FT_Library library, \ FT_Service_CIDRec* clazz) \ { \ FT_UNUSED(library); \ clazz->get_ros = get_ros_; \ clazz->get_is_cid = get_is_cid_; \ clazz->get_cid_from_glyph_index = get_cid_from_glyph_index_; \ } #endif /* FT_CONFIG_OPTION_PIC */ /* */ FT_END_HEADER #endif /* __SVCID_H__ */ /* END */