1 /****************************************************************************
   2  *
   3  * svpostnm.h
   4  *
   5  *   The FreeType PostScript name services (specification).
   6  *
   7  * Copyright (C) 2003-2020 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 font
  29    * 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 */