ReactOS 0.4.16-dev-1025-gd3456f5
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 (C) 2016-2019 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#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_, \
97 hadvance_adjust_, \
98 lsb_adjust_, \
99 rsb_adjust_, \
100 vadvance_adjust_, \
101 tsb_adjust_, \
102 bsb_adjust_, \
103 vorg_adjust_, \
104 metrics_adjust_ ) \
105 static const FT_Service_MetricsVariationsRec class_ = \
106 { \
107 hadvance_adjust_, \
108 lsb_adjust_, \
109 rsb_adjust_, \
110 vadvance_adjust_, \
111 tsb_adjust_, \
112 bsb_adjust_, \
113 vorg_adjust_, \
114 metrics_adjust_ \
115 };
116
117 /* */
118
119
121
122#endif /* SVMETRIC_H_ */
123
124
125/* 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:480
int FT_Error
Definition: fttypes.h:299
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