misc/libfreetype/include/freetype/internal/services/svpostnm.h
branchwebgl
changeset 9521 8054d9d775fd
parent 9282 92af50454cf2
parent 9519 b8b5c82eb61b
child 9950 2759212a27de
equal deleted inserted replaced
9282:92af50454cf2 9521:8054d9d775fd
     1 /***************************************************************************/
       
     2 /*                                                                         */
       
     3 /*  svpostnm.h                                                             */
       
     4 /*                                                                         */
       
     5 /*    The FreeType PostScript name services (specification).               */
       
     6 /*                                                                         */
       
     7 /*  Copyright 2003, 2007 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 #ifndef FT_CONFIG_OPTION_PIC
       
    50 
       
    51 #define FT_DEFINE_SERVICE_PSFONTNAMEREC(class_, get_ps_font_name_) \
       
    52   static const FT_Service_PsFontNameRec class_ =                   \
       
    53   {                                                                \
       
    54     get_ps_font_name_                                              \
       
    55   };
       
    56 
       
    57 #else /* FT_CONFIG_OPTION_PIC */ 
       
    58 
       
    59 #define FT_DEFINE_SERVICE_PSFONTNAMEREC(class_, get_ps_font_name_) \
       
    60   void                                                             \
       
    61   FT_Init_Class_##class_( FT_Library library,                      \
       
    62                           FT_Service_PsFontNameRec* clazz)         \
       
    63   {                                                                \
       
    64     FT_UNUSED(library);                                            \
       
    65     clazz->get_ps_font_name = get_ps_font_name_;                   \
       
    66   } 
       
    67 
       
    68 #endif /* FT_CONFIG_OPTION_PIC */ 
       
    69 
       
    70   /* */
       
    71 
       
    72 
       
    73 FT_END_HEADER
       
    74 
       
    75 
       
    76 #endif /* __SVPOSTNM_H__ */
       
    77 
       
    78 
       
    79 /* END */