1 /***************************************************************************/ |
|
2 /* */ |
|
3 /* afpic.h */ |
|
4 /* */ |
|
5 /* The FreeType position independent code services for autofit module. */ |
|
6 /* */ |
|
7 /* Copyright 2009-2018 by */ |
|
8 /* Oran Agra and Mickey Gabel. */ |
|
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 AFPIC_H_ |
|
20 #define AFPIC_H_ |
|
21 |
|
22 |
|
23 #include FT_INTERNAL_PIC_H |
|
24 |
|
25 |
|
26 #ifndef FT_CONFIG_OPTION_PIC |
|
27 |
|
28 #define AF_SERVICES_GET af_services |
|
29 #define AF_SERVICE_PROPERTIES_GET af_service_properties |
|
30 |
|
31 #define AF_WRITING_SYSTEM_CLASSES_GET af_writing_system_classes |
|
32 #define AF_SCRIPT_CLASSES_GET af_script_classes |
|
33 #define AF_STYLE_CLASSES_GET af_style_classes |
|
34 #define AF_INTERFACE_GET af_autofitter_interface |
|
35 |
|
36 #else /* FT_CONFIG_OPTION_PIC */ |
|
37 |
|
38 /* some include files required for members of AFModulePIC */ |
|
39 #include FT_SERVICE_PROPERTIES_H |
|
40 |
|
41 #include "aftypes.h" |
|
42 |
|
43 |
|
44 FT_BEGIN_HEADER |
|
45 |
|
46 typedef struct AFModulePIC_ |
|
47 { |
|
48 FT_ServiceDescRec* af_services; |
|
49 FT_Service_PropertiesRec af_service_properties; |
|
50 |
|
51 AF_WritingSystemClass af_writing_system_classes |
|
52 [AF_WRITING_SYSTEM_MAX + 1]; |
|
53 AF_WritingSystemClassRec af_writing_system_classes_rec |
|
54 [AF_WRITING_SYSTEM_MAX]; |
|
55 |
|
56 AF_ScriptClass af_script_classes |
|
57 [AF_SCRIPT_MAX + 1]; |
|
58 AF_ScriptClassRec af_script_classes_rec |
|
59 [AF_SCRIPT_MAX]; |
|
60 |
|
61 AF_StyleClass af_style_classes |
|
62 [AF_STYLE_MAX + 1]; |
|
63 AF_StyleClassRec af_style_classes_rec |
|
64 [AF_STYLE_MAX]; |
|
65 |
|
66 FT_AutoHinter_InterfaceRec af_autofitter_interface; |
|
67 |
|
68 } AFModulePIC; |
|
69 |
|
70 |
|
71 #define GET_PIC( lib ) \ |
|
72 ( (AFModulePIC*)( (lib)->pic_container.autofit ) ) |
|
73 |
|
74 #define AF_SERVICES_GET \ |
|
75 ( GET_PIC( library )->af_services ) |
|
76 #define AF_SERVICE_PROPERTIES_GET \ |
|
77 ( GET_PIC( library )->af_service_properties ) |
|
78 |
|
79 #define AF_WRITING_SYSTEM_CLASSES_GET \ |
|
80 ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_writing_system_classes ) |
|
81 #define AF_SCRIPT_CLASSES_GET \ |
|
82 ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_script_classes ) |
|
83 #define AF_STYLE_CLASSES_GET \ |
|
84 ( GET_PIC( FT_FACE_LIBRARY( globals->face ) )->af_style_classes ) |
|
85 #define AF_INTERFACE_GET \ |
|
86 ( GET_PIC( library )->af_autofitter_interface ) |
|
87 |
|
88 |
|
89 /* see afpic.c for the implementation */ |
|
90 void |
|
91 autofit_module_class_pic_free( FT_Library library ); |
|
92 |
|
93 FT_Error |
|
94 autofit_module_class_pic_init( FT_Library library ); |
|
95 |
|
96 FT_END_HEADER |
|
97 |
|
98 #endif /* FT_CONFIG_OPTION_PIC */ |
|
99 |
|
100 /* */ |
|
101 |
|
102 #endif /* AFPIC_H_ */ |
|
103 |
|
104 |
|
105 /* END */ |
|