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 */ |
|