Imported Upstream version 2.10.4
[platform/upstream/freetype2.git] / include / freetype / internal / services / svpostnm.h
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 <freetype/internal/ftserv.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 */