Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  svpostnm.h                                                             */
  4. /*                                                                         */
  5. /*    The FreeType PostScript name services (specification).               */
  6. /*                                                                         */
  7. /*  Copyright 2003, 2007, 2009, 2012 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. #ifndef FT_CONFIG_OPTION_PIC
  51.  
  52. #define FT_DEFINE_SERVICE_PSFONTNAMEREC( class_, get_ps_font_name_ ) \
  53.   static const FT_Service_PsFontNameRec  class_ =                    \
  54.   {                                                                  \
  55.     get_ps_font_name_                                                \
  56.   };
  57.  
  58. #else /* FT_CONFIG_OPTION_PIC */
  59.  
  60. #define FT_DEFINE_SERVICE_PSFONTNAMEREC( class_, get_ps_font_name_ ) \
  61.   void                                                               \
  62.   FT_Init_Class_ ## class_( FT_Library                 library,      \
  63.                             FT_Service_PsFontNameRec*  clazz )       \
  64.   {                                                                  \
  65.     FT_UNUSED( library );                                            \
  66.                                                                      \
  67.     clazz->get_ps_font_name = get_ps_font_name_;                     \
  68.   }
  69.  
  70. #endif /* FT_CONFIG_OPTION_PIC */
  71.  
  72.   /* */
  73.  
  74.  
  75. FT_END_HEADER
  76.  
  77.  
  78. #endif /* __SVPOSTNM_H__ */
  79.  
  80.  
  81. /* END */
  82.