Home | History | Annotate | Download | only in services
      1 /****************************************************************************
      2  *
      3  * svpsinfo.h
      4  *
      5  *   The FreeType PostScript info service (specification).
      6  *
      7  * Copyright 2003-2018 by
      8  * David Turner, Robert Wilhelm, and Werner Lemberg.
      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 SVPSINFO_H_
     20 #define SVPSINFO_H_
     21 
     22 #include FT_INTERNAL_SERVICE_H
     23 #include FT_INTERNAL_TYPE1_TYPES_H
     24 
     25 
     26 FT_BEGIN_HEADER
     27 
     28 
     29 #define FT_SERVICE_ID_POSTSCRIPT_INFO  "postscript-info"
     30 
     31 
     32   typedef FT_Error
     33   (*PS_GetFontInfoFunc)( FT_Face          face,
     34                          PS_FontInfoRec*  afont_info );
     35 
     36   typedef FT_Error
     37   (*PS_GetFontExtraFunc)( FT_Face           face,
     38                           PS_FontExtraRec*  afont_extra );
     39 
     40   typedef FT_Int
     41   (*PS_HasGlyphNamesFunc)( FT_Face  face );
     42 
     43   typedef FT_Error
     44   (*PS_GetFontPrivateFunc)( FT_Face         face,
     45                             PS_PrivateRec*  afont_private );
     46 
     47   typedef FT_Long
     48   (*PS_GetFontValueFunc)( FT_Face       face,
     49                           PS_Dict_Keys  key,
     50                           FT_UInt       idx,
     51                           void         *value,
     52                           FT_Long       value_len );
     53 
     54 
     55   FT_DEFINE_SERVICE( PsInfo )
     56   {
     57     PS_GetFontInfoFunc     ps_get_font_info;
     58     PS_GetFontExtraFunc    ps_get_font_extra;
     59     PS_HasGlyphNamesFunc   ps_has_glyph_names;
     60     PS_GetFontPrivateFunc  ps_get_font_private;
     61     PS_GetFontValueFunc    ps_get_font_value;
     62   };
     63 
     64 
     65 #define FT_DEFINE_SERVICE_PSINFOREC( class_,                     \
     66                                      get_font_info_,             \
     67                                      ps_get_font_extra_,         \
     68                                      has_glyph_names_,           \
     69                                      get_font_private_,          \
     70                                      get_font_value_ )           \
     71   static const FT_Service_PsInfoRec  class_ =                    \
     72   {                                                              \
     73     get_font_info_, ps_get_font_extra_, has_glyph_names_,        \
     74     get_font_private_, get_font_value_                           \
     75   };
     76 
     77   /* */
     78 
     79 
     80 FT_END_HEADER
     81 
     82 
     83 #endif /* SVPSINFO_H_ */
     84 
     85 
     86 /* END */
     87