• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
FT_DEFINE_SERVICE(PsFontName)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 */
80