ReactOS 0.4.16-dev-336-gb667d82
svmetric.h
Go to the documentation of this file.
1/***************************************************************************/
2/* */
3/* svmetric.h */
4/* */
5/* The FreeType services for metrics variations (specification). */
6/* */
7/* Copyright 2016-2018 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 SVMETRIC_H_
20#define SVMETRIC_H_
21
22#include FT_INTERNAL_SERVICE_H
23
24
26
27
28 /*
29 * A service to manage the `HVAR, `MVAR', and `VVAR' OpenType tables.
30 *
31 */
32
33#define FT_SERVICE_ID_METRICS_VARIATIONS "metrics-variations"
34
35
36 /* HVAR */
37
38 typedef FT_Error
40 FT_UInt gindex,
41 FT_Int *avalue );
42
43 typedef FT_Error
45 FT_UInt gindex,
46 FT_Int *avalue );
47
48 typedef FT_Error
50 FT_UInt gindex,
51 FT_Int *avalue );
52
53 /* VVAR */
54
55 typedef FT_Error
57 FT_UInt gindex,
58 FT_Int *avalue );
59
60 typedef FT_Error
62 FT_UInt gindex,
63 FT_Int *avalue );
64
65 typedef FT_Error
67 FT_UInt gindex,
68 FT_Int *avalue );
69
70 typedef FT_Error
72 FT_UInt gindex,
73 FT_Int *avalue );
74
75 /* MVAR */
76
77 typedef void
79
80
81 FT_DEFINE_SERVICE( MetricsVariations )
82 {
83 FT_HAdvance_Adjust_Func hadvance_adjust;
84 FT_LSB_Adjust_Func lsb_adjust;
85 FT_RSB_Adjust_Func rsb_adjust;
86
87 FT_VAdvance_Adjust_Func vadvance_adjust;
88 FT_TSB_Adjust_Func tsb_adjust;
89 FT_BSB_Adjust_Func bsb_adjust;
90 FT_VOrg_Adjust_Func vorg_adjust;
91
92 FT_Metrics_Adjust_Func metrics_adjust;
93 };
94
95
96#ifndef FT_CONFIG_OPTION_PIC
97
98#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_, \
99 hadvance_adjust_, \
100 lsb_adjust_, \
101 rsb_adjust_, \
102 vadvance_adjust_, \
103 tsb_adjust_, \
104 bsb_adjust_, \
105 vorg_adjust_, \
106 metrics_adjust_ ) \
107 static const FT_Service_MetricsVariationsRec class_ = \
108 { \
109 hadvance_adjust_, \
110 lsb_adjust_, \
111 rsb_adjust_, \
112 vadvance_adjust_, \
113 tsb_adjust_, \
114 bsb_adjust_, \
115 vorg_adjust_, \
116 metrics_adjust_ \
117 };
118
119#else /* FT_CONFIG_OPTION_PIC */
120
121#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_, \
122 hadvance_adjust_, \
123 lsb_adjust_, \
124 rsb_adjust_, \
125 vadvance_adjust_, \
126 tsb_adjust_, \
127 bsb_adjust_, \
128 vorg_adjust_, \
129 metrics_adjust_ ) \
130 void \
131 FT_Init_Class_ ## class_( FT_Service_MetricsVariationsRec* clazz ) \
132 { \
133 clazz->hadvance_adjust = hadvance_adjust_; \
134 clazz->lsb_adjust = lsb_adjust_; \
135 clazz->rsb_adjust = rsb_adjust_; \
136 clazz->vadvance_adjust = vadvance_adjust_; \
137 clazz->tsb_adjust = tsb_adjust_; \
138 clazz->bsb_adjust = bsb_adjust_; \
139 clazz->vorg_adjust = vorg_adjust_; \
140 clazz->metrics_adjust = metrics_adjust_; \
141 }
142
143#endif /* FT_CONFIG_OPTION_PIC */
144
145 /* */
146
147
149
150#endif /* SVMETRIC_H_ */
151
152
153/* END */
WORD face[3]
Definition: mesh.c:4747
#define FT_END_HEADER
Definition: ftheader.h:54
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
#define FT_DEFINE_SERVICE(name)
Definition: ftserv.h:975
int FT_Error
Definition: fttypes.h:300
unsigned int FT_UInt
Definition: fttypes.h:231
signed int FT_Int
Definition: fttypes.h:220
FT_Error(* FT_HAdvance_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
Definition: svmetric.h:39
void(* FT_Metrics_Adjust_Func)(FT_Face face)
Definition: svmetric.h:78
FT_Error(* FT_VOrg_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
Definition: svmetric.h:71
FT_Error(* FT_LSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
Definition: svmetric.h:44
FT_Error(* FT_TSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
Definition: svmetric.h:61
FT_Error(* FT_RSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
Definition: svmetric.h:49
FT_Error(* FT_VAdvance_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
Definition: svmetric.h:56
FT_Error(* FT_BSB_Adjust_Func)(FT_Face face, FT_UInt gindex, FT_Int *avalue)
Definition: svmetric.h:66