svgldict.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  svgldict.h                                                             */
00004 /*                                                                         */
00005 /*    The FreeType glyph dictionary services (specification).              */
00006 /*                                                                         */
00007 /*  Copyright 2003 by                                                      */
00008 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
00009 /*                                                                         */
00010 /*  This file is part of the FreeType project, and may only be used,       */
00011 /*  modified, and distributed under the terms of the FreeType project      */
00012 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00013 /*  this file you indicate that you have read the license and              */
00014 /*  understand and accept it fully.                                        */
00015 /*                                                                         */
00016 /***************************************************************************/
00017 
00018 
00019 #ifndef __SVGLDICT_H__
00020 #define __SVGLDICT_H__
00021 
00022 #include FT_INTERNAL_SERVICE_H
00023 
00024 
00025 FT_BEGIN_HEADER
00026 
00027 
00028   /*
00029    *  A service used to retrieve glyph names, as well as to find the
00030    *  index of a given glyph name in a font.
00031    *
00032    */
00033 
00034 #define FT_SERVICE_ID_GLYPH_DICT  "glyph-dict"
00035 
00036 
00037   typedef FT_Error
00038   (*FT_GlyphDict_GetNameFunc)( FT_Face     face,
00039                                FT_UInt     glyph_index,
00040                                FT_Pointer  buffer,
00041                                FT_UInt     buffer_max );
00042 
00043   typedef FT_UInt
00044   (*FT_GlyphDict_NameIndexFunc)( FT_Face     face,
00045                                  FT_String*  glyph_name );
00046 
00047 
00048   FT_DEFINE_SERVICE( GlyphDict )
00049   {
00050     FT_GlyphDict_GetNameFunc    get_name;
00051     FT_GlyphDict_NameIndexFunc  name_index;  /* optional */
00052   };
00053 
00054 #ifndef FT_CONFIG_OPTION_PIC
00055 
00056 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \
00057   static const FT_Service_GlyphDictRec class_ =                        \
00058   {                                                                    \
00059     get_name_, name_index_                                             \
00060   };
00061 
00062 #else /* FT_CONFIG_OPTION_PIC */ 
00063 
00064 #define FT_DEFINE_SERVICE_GLYPHDICTREC(class_, get_name_, name_index_) \
00065   void                                                                 \
00066   FT_Init_Class_##class_( FT_Library library,                          \
00067                           FT_Service_GlyphDictRec* clazz)              \
00068   {                                                                    \
00069     FT_UNUSED(library);                                                \
00070     clazz->get_name = get_name_;                                       \
00071     clazz->name_index = name_index_;                                   \
00072   } 
00073 
00074 #endif /* FT_CONFIG_OPTION_PIC */ 
00075 
00076   /* */
00077 
00078 
00079 FT_END_HEADER
00080 
00081 
00082 #endif /* __SVGLDICT_H__ */

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