Home | History | Annotate | Download | only in services
      1 /****************************************************************************
      2  *
      3  * svpostnm.h
      4  *
      5  *   The FreeType PostScript name services (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 SVPOSTNM_H_
     20 #define SVPOSTNM_H_
     21 
     22 #include FT_INTERNAL_SERVICE_H
     23 
     24 
     25 FT_BEGIN_HEADER
     26 
     27   /*
     28    * A trivial service used to retrieve the PostScript name of a given
     29    * font when available.  The `get_name' field should never be NULL.
     30    *
     31    * The corresponding function can return NULL to indicate that the
     32    * PostScript name is not available.
     33    *
     34    * The name is owned by the face and will be destroyed with it.
     35    */
     36 
     37 #define FT_SERVICE_ID_POSTSCRIPT_FONT_NAME  "postscript-font-name"
     38 
     39 
     40   typedef const char*
     41   (*FT_PsName_GetFunc)( FT_Face  face );
     42 
     43 
     44   FT_DEFINE_SERVICE( PsFontName )
     45   {
     46     FT_PsName_GetFunc  get_ps_font_name;
     47   };
     48 
     49 
     50 #define FT_DEFINE_SERVICE_PSFONTNAMEREC( class_, get_ps_font_name_ ) \
     51   static const FT_Service_PsFontNameRec  class_ =                    \
     52   {                                                                  \
     53     get_ps_font_name_                                                \
     54   };
     55 
     56   /* */
     57 
     58 
     59 FT_END_HEADER
     60 
     61 
     62 #endif /* SVPOSTNM_H_ */
     63 
     64 
     65 /* END */
     66