sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
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-2025 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
23#ifndef SVMETRIC_H_
24#define SVMETRIC_H_
25
27
28
29FT_BEGIN_HEADER
30
31
32 /*
33 * A service to manage the `HVAR, `MVAR', and `VVAR' OpenType tables.
34 *
35 */
36
37#define FT_SERVICE_ID_METRICS_VARIATIONS "metrics-variations"
38
39
40 /* HVAR */
41
42 typedef FT_Error
43 (*FT_HAdvance_Adjust_Func)( FT_Face face,
44 FT_UInt gindex,
45 FT_Int *avalue );
46
47 typedef FT_Error
48 (*FT_LSB_Adjust_Func)( FT_Face face,
49 FT_UInt gindex,
50 FT_Int *avalue );
51
52 typedef FT_Error
53 (*FT_RSB_Adjust_Func)( FT_Face face,
54 FT_UInt gindex,
55 FT_Int *avalue );
56
57 /* VVAR */
58
59 typedef FT_Error
60 (*FT_VAdvance_Adjust_Func)( FT_Face face,
61 FT_UInt gindex,
62 FT_Int *avalue );
63
64 typedef FT_Error
65 (*FT_TSB_Adjust_Func)( FT_Face face,
66 FT_UInt gindex,
67 FT_Int *avalue );
68
69 typedef FT_Error
70 (*FT_BSB_Adjust_Func)( FT_Face face,
71 FT_UInt gindex,
72 FT_Int *avalue );
73
74 typedef FT_Error
75 (*FT_VOrg_Adjust_Func)( FT_Face face,
76 FT_UInt gindex,
77 FT_Int *avalue );
78
79 /* MVAR */
80
81 typedef void
82 (*FT_Metrics_Adjust_Func)( FT_Face face );
83
84 typedef void
85 (*FT_Size_Reset_Func)( FT_Size size );
86
87
88 FT_DEFINE_SERVICE( MetricsVariations )
89 {
90 FT_HAdvance_Adjust_Func hadvance_adjust;
91 FT_LSB_Adjust_Func lsb_adjust;
92 FT_RSB_Adjust_Func rsb_adjust;
93
94 FT_VAdvance_Adjust_Func vadvance_adjust;
95 FT_TSB_Adjust_Func tsb_adjust;
96 FT_BSB_Adjust_Func bsb_adjust;
97 FT_VOrg_Adjust_Func vorg_adjust;
98
99 FT_Metrics_Adjust_Func metrics_adjust;
100 FT_Size_Reset_Func size_reset;
101 };
102
103
104#define FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_, \
105 hadvance_adjust_, \
106 lsb_adjust_, \
107 rsb_adjust_, \
108 vadvance_adjust_, \
109 tsb_adjust_, \
110 bsb_adjust_, \
111 vorg_adjust_, \
112 metrics_adjust_, \
113 size_reset_ ) \
114 static const FT_Service_MetricsVariationsRec class_ = \
115 { \
116 hadvance_adjust_, \
117 lsb_adjust_, \
118 rsb_adjust_, \
119 vadvance_adjust_, \
120 tsb_adjust_, \
121 bsb_adjust_, \
122 vorg_adjust_, \
123 metrics_adjust_, \
124 size_reset_ \
125 };
126
127 /* */
128
129
130FT_END_HEADER
131
132#endif /* SVMETRIC_H_ */
133
134
135/* END */