@img/sharp-libvips-dev 1.2.1 → 1.2.2-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/include/aom/aom_decoder.h +1 -1
- package/include/aom/aom_encoder.h +2 -0
- package/include/aom/aomcx.h +106 -25
- package/include/ffi.h +3 -3
- package/include/freetype2/freetype/config/ftconfig.h +1 -1
- package/include/freetype2/freetype/config/ftheader.h +1 -1
- package/include/freetype2/freetype/config/ftoption.h +37 -12
- package/include/freetype2/freetype/config/ftstdlib.h +1 -1
- package/include/freetype2/freetype/config/integer-types.h +29 -2
- package/include/freetype2/freetype/config/mac-support.h +1 -1
- package/include/freetype2/freetype/config/public-macros.h +3 -3
- package/include/freetype2/freetype/freetype.h +51 -47
- package/include/freetype2/freetype/ftadvanc.h +1 -1
- package/include/freetype2/freetype/ftbbox.h +1 -1
- package/include/freetype2/freetype/ftbdf.h +1 -1
- package/include/freetype2/freetype/ftbitmap.h +1 -1
- package/include/freetype2/freetype/ftbzip2.h +1 -1
- package/include/freetype2/freetype/ftcache.h +1 -1
- package/include/freetype2/freetype/ftcid.h +1 -1
- package/include/freetype2/freetype/ftcolor.h +13 -4
- package/include/freetype2/freetype/ftdriver.h +3 -3
- package/include/freetype2/freetype/fterrdef.h +1 -1
- package/include/freetype2/freetype/fterrors.h +1 -1
- package/include/freetype2/freetype/ftfntfmt.h +1 -1
- package/include/freetype2/freetype/ftgasp.h +1 -1
- package/include/freetype2/freetype/ftglyph.h +1 -1
- package/include/freetype2/freetype/ftgxval.h +1 -1
- package/include/freetype2/freetype/ftgzip.h +1 -1
- package/include/freetype2/freetype/ftimage.h +6 -2
- package/include/freetype2/freetype/ftincrem.h +1 -1
- package/include/freetype2/freetype/ftlcdfil.h +1 -1
- package/include/freetype2/freetype/ftlist.h +1 -1
- package/include/freetype2/freetype/ftlogging.h +184 -0
- package/include/freetype2/freetype/ftlzw.h +1 -1
- package/include/freetype2/freetype/ftmac.h +1 -1
- package/include/freetype2/freetype/ftmm.h +159 -103
- package/include/freetype2/freetype/ftmodapi.h +1 -1
- package/include/freetype2/freetype/ftmoderr.h +1 -1
- package/include/freetype2/freetype/ftotval.h +1 -1
- package/include/freetype2/freetype/ftoutln.h +1 -1
- package/include/freetype2/freetype/ftparams.h +1 -1
- package/include/freetype2/freetype/ftpfr.h +1 -1
- package/include/freetype2/freetype/ftrender.h +1 -1
- package/include/freetype2/freetype/ftsizes.h +1 -1
- package/include/freetype2/freetype/ftsnames.h +1 -1
- package/include/freetype2/freetype/ftstroke.h +1 -1
- package/include/freetype2/freetype/ftsynth.h +1 -1
- package/include/freetype2/freetype/ftsystem.h +1 -1
- package/include/freetype2/freetype/fttrigon.h +1 -1
- package/include/freetype2/freetype/fttypes.h +1 -1
- package/include/freetype2/freetype/ftwinfnt.h +2 -3
- package/include/freetype2/freetype/otsvg.h +1 -1
- package/include/freetype2/freetype/t1tables.h +1 -1
- package/include/freetype2/freetype/ttnameid.h +129 -129
- package/include/freetype2/freetype/tttables.h +8 -5
- package/include/freetype2/freetype/tttags.h +1 -1
- package/include/freetype2/ft2build.h +1 -1
- package/include/glib-2.0/gio/gdbuserror.h +9 -8
- package/include/glib-2.0/gio/ginetaddress.h +12 -0
- package/include/glib-2.0/gio/gioenums.h +9 -2
- package/include/glib-2.0/glib/gstring.h +2 -2
- package/include/glib-2.0/glib/gunicode.h +1 -1
- package/include/glib-2.0/gobject/glib-types.h +1 -1
- package/include/glib-2.0/gobject/gparam.h +1 -1
- package/include/glib-2.0/gobject/gvalue.h +78 -35
- package/include/harfbuzz/hb-script-list.h +12 -0
- package/include/harfbuzz/hb-version.h +3 -3
- package/include/hwy/abort.h +2 -19
- package/include/hwy/aligned_allocator.h +11 -7
- package/include/hwy/auto_tune.h +504 -0
- package/include/hwy/base.h +425 -104
- package/include/hwy/cache_control.h +16 -0
- package/include/hwy/detect_compiler_arch.h +32 -1
- package/include/hwy/detect_targets.h +251 -67
- package/include/hwy/foreach_target.h +35 -0
- package/include/hwy/highway.h +185 -76
- package/include/hwy/nanobenchmark.h +1 -19
- package/include/hwy/ops/arm_neon-inl.h +969 -458
- package/include/hwy/ops/arm_sve-inl.h +1137 -359
- package/include/hwy/ops/emu128-inl.h +97 -11
- package/include/hwy/ops/generic_ops-inl.h +1222 -34
- package/include/hwy/ops/loongarch_lasx-inl.h +4664 -0
- package/include/hwy/ops/loongarch_lsx-inl.h +5933 -0
- package/include/hwy/ops/ppc_vsx-inl.h +306 -126
- package/include/hwy/ops/rvv-inl.h +546 -51
- package/include/hwy/ops/scalar-inl.h +77 -22
- package/include/hwy/ops/set_macros-inl.h +138 -17
- package/include/hwy/ops/shared-inl.h +50 -10
- package/include/hwy/ops/wasm_128-inl.h +137 -92
- package/include/hwy/ops/x86_128-inl.h +773 -214
- package/include/hwy/ops/x86_256-inl.h +712 -255
- package/include/hwy/ops/x86_512-inl.h +429 -753
- package/include/hwy/ops/x86_avx3-inl.h +501 -0
- package/include/hwy/per_target.h +2 -1
- package/include/hwy/profiler.h +622 -486
- package/include/hwy/targets.h +62 -20
- package/include/hwy/timer-inl.h +8 -160
- package/include/hwy/timer.h +170 -3
- package/include/hwy/x86_cpuid.h +81 -0
- package/include/libheif/heif_cxx.h +25 -5
- package/include/libheif/heif_regions.h +5 -5
- package/include/libheif/heif_version.h +2 -2
- package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
- package/include/libxml2/libxml/valid.h +0 -3
- package/include/libxml2/libxml/xmlerror.h +1 -1
- package/include/libxml2/libxml/xmlversion.h +4 -4
- package/include/pango-1.0/pango/pango-enum-types.h +3 -0
- package/include/pango-1.0/pango/pango-features.h +3 -3
- package/include/pango-1.0/pango/pango-font.h +30 -0
- package/include/pango-1.0/pango/pango-version-macros.h +26 -0
- package/include/vips/connection.h +4 -4
- package/include/vips/version.h +4 -4
- package/include/zlib.h +3 -3
- package/package.json +1 -1
- package/versions.json +13 -13
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
*
|
|
3
3
|
* ftmm.h
|
|
4
4
|
*
|
|
5
|
-
* FreeType
|
|
5
|
+
* FreeType variation font interface (specification).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 1996-
|
|
7
|
+
* Copyright (C) 1996-2025 by
|
|
8
8
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
9
9
|
*
|
|
10
10
|
* This file is part of the FreeType project, and may only be used,
|
|
@@ -37,24 +37,79 @@ FT_BEGIN_HEADER
|
|
|
37
37
|
* multiple_masters
|
|
38
38
|
*
|
|
39
39
|
* @title:
|
|
40
|
-
*
|
|
40
|
+
* OpenType Font Variations, TrueType GX, and Adobe MM Fonts
|
|
41
41
|
*
|
|
42
42
|
* @abstract:
|
|
43
|
-
* How to manage
|
|
43
|
+
* How to manage variable fonts with multiple design axes.
|
|
44
44
|
*
|
|
45
45
|
* @description:
|
|
46
|
-
* The following types and functions
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
46
|
+
* The following types and functions manage OpenType Font Variations,
|
|
47
|
+
* Adobe Multiple Master (MM) fonts, and Apple TrueType GX fonts. These
|
|
48
|
+
* formats have in common that they allow the selection of specific
|
|
49
|
+
* design instances by setting design coordinates for one or more axes
|
|
50
|
+
* like font weight or width.
|
|
51
|
+
*
|
|
52
|
+
* For historical reasons there are two interfaces. The first, older one
|
|
53
|
+
* can be used with Adobe MM fonts only, and the second, newer one is a
|
|
54
|
+
* unified interface that handles all three font formats. However, some
|
|
55
|
+
* differences remain and are documented accordingly; in particular,
|
|
56
|
+
* Adobe MM fonts don't have named instances (see below).
|
|
57
|
+
*
|
|
58
|
+
* For Adobe MM fonts, macro @FT_IS_SFNT returns false. For TrueType GX
|
|
59
|
+
* and OpenType Font Variations, it returns true.
|
|
60
|
+
*
|
|
61
|
+
* We use mostly the terminology of the OpenType standard. Here are some
|
|
62
|
+
* important technical terms.
|
|
63
|
+
*
|
|
64
|
+
* * A 'named instance' is a tuple of design coordinates that has a
|
|
65
|
+
* string ID (i.e., an index into the font's 'name' table) associated
|
|
66
|
+
* with it. The font can tell the user that, for example,
|
|
67
|
+
* [Weight=700,Width=110] is 'Bold'. Another name for 'named instance'
|
|
68
|
+
* is 'named style'.
|
|
69
|
+
*
|
|
70
|
+
* Adobe MM fonts don't have named instances.
|
|
71
|
+
*
|
|
72
|
+
* * The 'default instance' of a variation font is that instance for
|
|
73
|
+
* which the nth axis coordinate is equal to the nth default axis
|
|
74
|
+
* coordinate (i.e., `axis[n].def` as specified in the @FT_MM_Var
|
|
75
|
+
* structure), with~n covering all axes. In TrueType GX and OpenType
|
|
76
|
+
* Font Variations, the default instance is explicitly given. In Adobe
|
|
77
|
+
* MM fonts, the `WeightVector` entry as found in the font file is
|
|
78
|
+
* taken as the default instance.
|
|
79
|
+
*
|
|
80
|
+
* For TrueType GX and OpenType Font Variations, FreeType synthesizes
|
|
81
|
+
* a named instance for the default instance if the font does not
|
|
82
|
+
* contain such an entry.
|
|
83
|
+
*
|
|
84
|
+
* * 'Design coordinates' are the axis values found in a variation font
|
|
85
|
+
* file. Their meaning is specified by the font designer and the
|
|
86
|
+
* values are rather arbitrary.
|
|
87
|
+
*
|
|
88
|
+
* For example, the 'weight' axis in design coordinates might vary
|
|
89
|
+
* between 100 (thin) and 900 (heavy) in font~A, while font~B
|
|
90
|
+
* contains values between 400 (normal) and 800 (extra bold).
|
|
91
|
+
*
|
|
92
|
+
* * 'Normalized coordinates' are design coordinates mapped to a standard
|
|
93
|
+
* range; they are also called 'blend coordinates'.
|
|
94
|
+
*
|
|
95
|
+
* For TrueType GX and OpenType Font Variations, the range is [-1;1],
|
|
96
|
+
* with the minimum mapped to value~-1, the default mapped to
|
|
97
|
+
* value~0, and the maximum mapped to value~1, and all other
|
|
98
|
+
* coordinates mapped to intervening points. Please look up the
|
|
99
|
+
* [OpenType
|
|
100
|
+
* specification](https://learn.microsoft.com/en-us/typography/opentype/spec/otvaroverview)
|
|
101
|
+
* on how this mapping works in detail.
|
|
102
|
+
*
|
|
103
|
+
* For Adobe MM fonts, this standard range is [0;1], with the minimum
|
|
104
|
+
* mapped to value~0 and the maximum mapped to value~1, and all other
|
|
105
|
+
* coordinates mapped to intervening points. Please look up [Adobe
|
|
106
|
+
* TechNote
|
|
107
|
+
* #5015](https://adobe-type-tools.github.io/font-tech-notes/pdfs/5015.Type1_Supp.pdf)
|
|
108
|
+
* on how this mapping works in detail.
|
|
109
|
+
*
|
|
110
|
+
* Assuming that the two fonts in the previous example are OpenType
|
|
111
|
+
* Font Variations, both font~A's [100;900] and font~B's [400;800]
|
|
112
|
+
* coordinate ranges get mapped to [-1;1].
|
|
58
113
|
*/
|
|
59
114
|
|
|
60
115
|
|
|
@@ -64,14 +119,14 @@ FT_BEGIN_HEADER
|
|
|
64
119
|
* T1_MAX_MM_XXX
|
|
65
120
|
*
|
|
66
121
|
* @description:
|
|
67
|
-
*
|
|
122
|
+
* Adobe MM font limits as defined in their specifications.
|
|
68
123
|
*
|
|
69
124
|
* @values:
|
|
70
125
|
* T1_MAX_MM_AXIS ::
|
|
71
|
-
* The maximum number of
|
|
126
|
+
* The maximum number of Adobe MM font axes.
|
|
72
127
|
*
|
|
73
128
|
* T1_MAX_MM_DESIGNS ::
|
|
74
|
-
* The maximum number of
|
|
129
|
+
* The maximum number of Adobe MM font designs.
|
|
75
130
|
*
|
|
76
131
|
* T1_MAX_MM_MAP_POINTS ::
|
|
77
132
|
* The maximum number of elements in a design map.
|
|
@@ -88,11 +143,10 @@ FT_BEGIN_HEADER
|
|
|
88
143
|
* FT_MM_Axis
|
|
89
144
|
*
|
|
90
145
|
* @description:
|
|
91
|
-
* A structure to model a given axis in design space for
|
|
92
|
-
* fonts.
|
|
146
|
+
* A structure to model a given axis in design space for Adobe MM fonts.
|
|
93
147
|
*
|
|
94
|
-
* This structure can't be used
|
|
95
|
-
*
|
|
148
|
+
* This structure can't be used with TrueType GX or OpenType Font
|
|
149
|
+
* Variations.
|
|
96
150
|
*
|
|
97
151
|
* @fields:
|
|
98
152
|
* name ::
|
|
@@ -119,17 +173,17 @@ FT_BEGIN_HEADER
|
|
|
119
173
|
* FT_Multi_Master
|
|
120
174
|
*
|
|
121
175
|
* @description:
|
|
122
|
-
* A structure to model the axes and space of
|
|
176
|
+
* A structure to model the axes and space of an Adobe MM font.
|
|
123
177
|
*
|
|
124
|
-
* This structure can't be used
|
|
125
|
-
*
|
|
178
|
+
* This structure can't be used with TrueType GX or OpenType Font
|
|
179
|
+
* Variations.
|
|
126
180
|
*
|
|
127
181
|
* @fields:
|
|
128
182
|
* num_axis ::
|
|
129
183
|
* Number of axes. Cannot exceed~4.
|
|
130
184
|
*
|
|
131
185
|
* num_designs ::
|
|
132
|
-
* Number of designs; should be normally 2^num_axis even though the
|
|
186
|
+
* Number of designs; should be normally `2^num_axis` even though the
|
|
133
187
|
* Type~1 specification strangely allows for intermediate designs to be
|
|
134
188
|
* present. This number cannot exceed~16.
|
|
135
189
|
*
|
|
@@ -151,13 +205,13 @@ FT_BEGIN_HEADER
|
|
|
151
205
|
* FT_Var_Axis
|
|
152
206
|
*
|
|
153
207
|
* @description:
|
|
154
|
-
* A structure to model a given axis in design space for
|
|
155
|
-
*
|
|
208
|
+
* A structure to model a given axis in design space for Adobe MM fonts,
|
|
209
|
+
* TrueType GX, and OpenType Font Variations.
|
|
156
210
|
*
|
|
157
211
|
* @fields:
|
|
158
212
|
* name ::
|
|
159
213
|
* The axis's name. Not always meaningful for TrueType GX or OpenType
|
|
160
|
-
*
|
|
214
|
+
* Font Variations.
|
|
161
215
|
*
|
|
162
216
|
* minimum ::
|
|
163
217
|
* The axis's minimum design coordinate.
|
|
@@ -171,17 +225,17 @@ FT_BEGIN_HEADER
|
|
|
171
225
|
*
|
|
172
226
|
* tag ::
|
|
173
227
|
* The axis's tag (the equivalent to 'name' for TrueType GX and
|
|
174
|
-
* OpenType
|
|
228
|
+
* OpenType Font Variations). FreeType provides default values for
|
|
175
229
|
* Adobe MM fonts if possible.
|
|
176
230
|
*
|
|
177
231
|
* strid ::
|
|
178
232
|
* The axis name entry in the font's 'name' table. This is another
|
|
179
233
|
* (and often better) version of the 'name' field for TrueType GX or
|
|
180
|
-
* OpenType
|
|
234
|
+
* OpenType Font Variations. Not meaningful for Adobe MM fonts.
|
|
181
235
|
*
|
|
182
236
|
* @note:
|
|
183
237
|
* The fields `minimum`, `def`, and `maximum` are 16.16 fractional values
|
|
184
|
-
* for TrueType GX and OpenType
|
|
238
|
+
* for TrueType GX and OpenType Font Variations. For Adobe MM fonts, the
|
|
185
239
|
* values are whole numbers (i.e., the fractional part is zero).
|
|
186
240
|
*/
|
|
187
241
|
typedef struct FT_Var_Axis_
|
|
@@ -205,7 +259,7 @@ FT_BEGIN_HEADER
|
|
|
205
259
|
*
|
|
206
260
|
* @description:
|
|
207
261
|
* A structure to model a named instance in a TrueType GX or OpenType
|
|
208
|
-
*
|
|
262
|
+
* Font Variations.
|
|
209
263
|
*
|
|
210
264
|
* This structure can't be used for Adobe MM fonts.
|
|
211
265
|
*
|
|
@@ -215,11 +269,11 @@ FT_BEGIN_HEADER
|
|
|
215
269
|
* entry for each axis.
|
|
216
270
|
*
|
|
217
271
|
* strid ::
|
|
218
|
-
*
|
|
272
|
+
* An index into the 'name' table identifying this instance.
|
|
219
273
|
*
|
|
220
274
|
* psid ::
|
|
221
|
-
*
|
|
222
|
-
* instance. Value 0xFFFF indicates a missing entry.
|
|
275
|
+
* An index into the 'name' table identifying a PostScript name for
|
|
276
|
+
* this instance. Value 0xFFFF indicates a missing entry.
|
|
223
277
|
*/
|
|
224
278
|
typedef struct FT_Var_Named_Style_
|
|
225
279
|
{
|
|
@@ -236,39 +290,33 @@ FT_BEGIN_HEADER
|
|
|
236
290
|
* FT_MM_Var
|
|
237
291
|
*
|
|
238
292
|
* @description:
|
|
239
|
-
* A structure to model the axes and space of
|
|
240
|
-
* or OpenType
|
|
293
|
+
* A structure to model the axes and space of Adobe MM fonts, TrueType
|
|
294
|
+
* GX, or OpenType Font Variations.
|
|
241
295
|
*
|
|
242
296
|
* Some fields are specific to one format and not to the others.
|
|
243
297
|
*
|
|
244
298
|
* @fields:
|
|
245
299
|
* num_axis ::
|
|
246
300
|
* The number of axes. The maximum value is~4 for Adobe MM fonts; no
|
|
247
|
-
* limit in TrueType GX or OpenType
|
|
301
|
+
* limit in TrueType GX or OpenType Font Variations.
|
|
248
302
|
*
|
|
249
303
|
* num_designs ::
|
|
250
|
-
* The number of designs; should be normally 2^num_axis for Adobe MM
|
|
251
|
-
* fonts. Not meaningful for TrueType GX or OpenType
|
|
304
|
+
* The number of designs; should be normally `2^num_axis` for Adobe MM
|
|
305
|
+
* fonts. Not meaningful for TrueType GX or OpenType Font Variations
|
|
252
306
|
* (where every glyph could have a different number of designs).
|
|
253
307
|
*
|
|
254
308
|
* num_namedstyles ::
|
|
255
|
-
* The number of named
|
|
256
|
-
*
|
|
257
|
-
* with it. The font can tell the user that, for example,
|
|
258
|
-
* [Weight=1.5,Width=1.1] is 'Bold'. Another name for 'named style' is
|
|
259
|
-
* 'named instance'.
|
|
260
|
-
*
|
|
261
|
-
* For Adobe Multiple Masters fonts, this value is always zero because
|
|
262
|
-
* the format does not support named styles.
|
|
309
|
+
* The number of named instances. For Adobe MM fonts, this value is
|
|
310
|
+
* always zero.
|
|
263
311
|
*
|
|
264
312
|
* axis ::
|
|
265
|
-
* An axis descriptor table. TrueType GX and OpenType
|
|
313
|
+
* An axis descriptor table. TrueType GX and OpenType Font Variations
|
|
266
314
|
* contain slightly more data than Adobe MM fonts. Memory management
|
|
267
315
|
* of this pointer is done internally by FreeType.
|
|
268
316
|
*
|
|
269
317
|
* namedstyle ::
|
|
270
|
-
*
|
|
271
|
-
* OpenType
|
|
318
|
+
* An array of named instances. Only meaningful for TrueType GX and
|
|
319
|
+
* OpenType Font Variations. Memory management of this pointer is done
|
|
272
320
|
* internally by FreeType.
|
|
273
321
|
*/
|
|
274
322
|
typedef struct FT_MM_Var_
|
|
@@ -290,8 +338,8 @@ FT_BEGIN_HEADER
|
|
|
290
338
|
* @description:
|
|
291
339
|
* Retrieve a variation descriptor of a given Adobe MM font.
|
|
292
340
|
*
|
|
293
|
-
* This function can't be used with TrueType GX or OpenType
|
|
294
|
-
*
|
|
341
|
+
* This function can't be used with TrueType GX or OpenType Font
|
|
342
|
+
* Variations.
|
|
295
343
|
*
|
|
296
344
|
* @input:
|
|
297
345
|
* face ::
|
|
@@ -299,7 +347,7 @@ FT_BEGIN_HEADER
|
|
|
299
347
|
*
|
|
300
348
|
* @output:
|
|
301
349
|
* amaster ::
|
|
302
|
-
* The
|
|
350
|
+
* The Adobe MM font's variation descriptor.
|
|
303
351
|
*
|
|
304
352
|
* @return:
|
|
305
353
|
* FreeType error code. 0~means success.
|
|
@@ -366,8 +414,8 @@ FT_BEGIN_HEADER
|
|
|
366
414
|
* For Adobe MM fonts, choose an interpolated font design through design
|
|
367
415
|
* coordinates.
|
|
368
416
|
*
|
|
369
|
-
* This function can't be used with TrueType GX or OpenType
|
|
370
|
-
*
|
|
417
|
+
* This function can't be used with TrueType GX or OpenType Font
|
|
418
|
+
* Variations.
|
|
371
419
|
*
|
|
372
420
|
* @inout:
|
|
373
421
|
* face ::
|
|
@@ -391,8 +439,8 @@ FT_BEGIN_HEADER
|
|
|
391
439
|
*
|
|
392
440
|
* [Since 2.9] If `num_coords` is larger than zero, this function sets
|
|
393
441
|
* the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
|
|
394
|
-
* (i.e., @FT_IS_VARIATION
|
|
395
|
-
*
|
|
442
|
+
* (i.e., @FT_IS_VARIATION returns true). If `num_coords` is zero, this
|
|
443
|
+
* bit flag gets unset.
|
|
396
444
|
*/
|
|
397
445
|
FT_EXPORT( FT_Error )
|
|
398
446
|
FT_Set_MM_Design_Coordinates( FT_Face face,
|
|
@@ -428,7 +476,7 @@ FT_BEGIN_HEADER
|
|
|
428
476
|
*
|
|
429
477
|
* @note:
|
|
430
478
|
* The design coordinates are 16.16 fractional values for TrueType GX and
|
|
431
|
-
* OpenType
|
|
479
|
+
* OpenType Font Variations. For Adobe MM fonts, the values are supposed
|
|
432
480
|
* to be whole numbers (i.e., the fractional part is zero).
|
|
433
481
|
*
|
|
434
482
|
* [Since 2.8.1] To reset all axes to the default values, call the
|
|
@@ -438,8 +486,14 @@ FT_BEGIN_HEADER
|
|
|
438
486
|
*
|
|
439
487
|
* [Since 2.9] If `num_coords` is larger than zero, this function sets
|
|
440
488
|
* the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
|
|
441
|
-
* (i.e., @FT_IS_VARIATION
|
|
442
|
-
*
|
|
489
|
+
* (i.e., @FT_IS_VARIATION returns true). If `num_coords` is zero, this
|
|
490
|
+
* bit flag gets unset.
|
|
491
|
+
*
|
|
492
|
+
* [Since 2.14] This function also sets the @FT_FACE_FLAG_VARIATION bit
|
|
493
|
+
* in @FT_Face's `face_flags` field (i.e., @FT_IS_VARIATION returns
|
|
494
|
+
* true) if any of the provided coordinates is different from the face's
|
|
495
|
+
* default value for the corresponding axis, that is, the set up face is
|
|
496
|
+
* not at its default position.
|
|
443
497
|
*/
|
|
444
498
|
FT_EXPORT( FT_Error )
|
|
445
499
|
FT_Set_Var_Design_Coordinates( FT_Face face,
|
|
@@ -468,14 +522,14 @@ FT_BEGIN_HEADER
|
|
|
468
522
|
*
|
|
469
523
|
* @output:
|
|
470
524
|
* coords ::
|
|
471
|
-
* The design coordinates array.
|
|
525
|
+
* The design coordinates array, which must be allocated by the user.
|
|
472
526
|
*
|
|
473
527
|
* @return:
|
|
474
528
|
* FreeType error code. 0~means success.
|
|
475
529
|
*
|
|
476
530
|
* @note:
|
|
477
531
|
* The design coordinates are 16.16 fractional values for TrueType GX and
|
|
478
|
-
* OpenType
|
|
532
|
+
* OpenType Font Variations. For Adobe MM fonts, the values are whole
|
|
479
533
|
* numbers (i.e., the fractional part is zero).
|
|
480
534
|
*
|
|
481
535
|
* @since:
|
|
@@ -493,8 +547,7 @@ FT_BEGIN_HEADER
|
|
|
493
547
|
* FT_Set_MM_Blend_Coordinates
|
|
494
548
|
*
|
|
495
549
|
* @description:
|
|
496
|
-
* Choose an interpolated font design through normalized
|
|
497
|
-
* coordinates.
|
|
550
|
+
* Choose an interpolated font design through normalized coordinates.
|
|
498
551
|
*
|
|
499
552
|
* This function works with all supported variation formats.
|
|
500
553
|
*
|
|
@@ -509,9 +562,10 @@ FT_BEGIN_HEADER
|
|
|
509
562
|
* the number of axes, use default values for the remaining axes.
|
|
510
563
|
*
|
|
511
564
|
* coords ::
|
|
512
|
-
* The
|
|
513
|
-
* value and must be between 0 and 1.0 for Adobe MM fonts,
|
|
514
|
-
* -1.0 and 1.0 for TrueType GX and OpenType
|
|
565
|
+
* The normalized coordinates array. Each element is a 16.16
|
|
566
|
+
* fractional value and must be between 0 and 1.0 for Adobe MM fonts,
|
|
567
|
+
* and between -1.0 and 1.0 for TrueType GX and OpenType Font
|
|
568
|
+
* Variations.
|
|
515
569
|
*
|
|
516
570
|
* @return:
|
|
517
571
|
* FreeType error code. 0~means success.
|
|
@@ -524,8 +578,14 @@ FT_BEGIN_HEADER
|
|
|
524
578
|
*
|
|
525
579
|
* [Since 2.9] If `num_coords` is larger than zero, this function sets
|
|
526
580
|
* the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
|
|
527
|
-
* (i.e., @FT_IS_VARIATION
|
|
528
|
-
*
|
|
581
|
+
* (i.e., @FT_IS_VARIATION returns true). If `num_coords` is zero, this
|
|
582
|
+
* bit flag gets unset.
|
|
583
|
+
*
|
|
584
|
+
* [Since 2.14] This function also sets the @FT_FACE_FLAG_VARIATION bit
|
|
585
|
+
* in @FT_Face's `face_flags` field (i.e., @FT_IS_VARIATION returns
|
|
586
|
+
* true) if any of the provided coordinates is different from the face's
|
|
587
|
+
* default value for the corresponding axis, that is, the set up face is
|
|
588
|
+
* not at its default position.
|
|
529
589
|
*/
|
|
530
590
|
FT_EXPORT( FT_Error )
|
|
531
591
|
FT_Set_MM_Blend_Coordinates( FT_Face face,
|
|
@@ -539,8 +599,8 @@ FT_BEGIN_HEADER
|
|
|
539
599
|
* FT_Get_MM_Blend_Coordinates
|
|
540
600
|
*
|
|
541
601
|
* @description:
|
|
542
|
-
* Get the normalized
|
|
543
|
-
*
|
|
602
|
+
* Get the normalized coordinates of the currently selected interpolated
|
|
603
|
+
* font.
|
|
544
604
|
*
|
|
545
605
|
* This function works with all supported variation formats.
|
|
546
606
|
*
|
|
@@ -549,14 +609,14 @@ FT_BEGIN_HEADER
|
|
|
549
609
|
* A handle to the source face.
|
|
550
610
|
*
|
|
551
611
|
* num_coords ::
|
|
552
|
-
* The number of normalized
|
|
553
|
-
*
|
|
554
|
-
*
|
|
555
|
-
* fonts.
|
|
612
|
+
* The number of normalized coordinates to retrieve. If it is larger
|
|
613
|
+
* than the number of axes, set the excess values to~0.5 for Adobe MM
|
|
614
|
+
* fonts, and to~0 for TrueType GX and OpenType Font Variations.
|
|
556
615
|
*
|
|
557
616
|
* @output:
|
|
558
617
|
* coords ::
|
|
559
|
-
* The normalized
|
|
618
|
+
* The normalized coordinates array (as 16.16 fractional values), which
|
|
619
|
+
* must be allocated by the user.
|
|
560
620
|
*
|
|
561
621
|
* @return:
|
|
562
622
|
* FreeType error code. 0~means success.
|
|
@@ -610,8 +670,8 @@ FT_BEGIN_HEADER
|
|
|
610
670
|
* For Adobe MM fonts, choose an interpolated font design by directly
|
|
611
671
|
* setting the weight vector.
|
|
612
672
|
*
|
|
613
|
-
* This function can't be used with TrueType GX or OpenType
|
|
614
|
-
*
|
|
673
|
+
* This function can't be used with TrueType GX or OpenType Font
|
|
674
|
+
* Variations.
|
|
615
675
|
*
|
|
616
676
|
* @inout:
|
|
617
677
|
* face ::
|
|
@@ -630,16 +690,16 @@ FT_BEGIN_HEADER
|
|
|
630
690
|
* FreeType error code. 0~means success.
|
|
631
691
|
*
|
|
632
692
|
* @note:
|
|
633
|
-
* Adobe
|
|
634
|
-
*
|
|
693
|
+
* Adobe MM fonts limit the number of designs, and thus the length of the
|
|
694
|
+
* weight vector, to 16~elements.
|
|
635
695
|
*
|
|
636
696
|
* If `len` is larger than zero, this function sets the
|
|
637
697
|
* @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field (i.e.,
|
|
638
|
-
* @FT_IS_VARIATION
|
|
639
|
-
*
|
|
698
|
+
* @FT_IS_VARIATION returns true). If `len` is zero, this bit flag is
|
|
699
|
+
* unset and the weight vector array is reset to the default values.
|
|
640
700
|
*
|
|
641
701
|
* The Adobe documentation also states that the values in the
|
|
642
|
-
* WeightVector array must total 1.0 +/-~0.001. In practice this does
|
|
702
|
+
* `WeightVector` array must total 1.0 +/-~0.001. In practice this does
|
|
643
703
|
* not seem to be enforced, so is not enforced here, either.
|
|
644
704
|
*
|
|
645
705
|
* @since:
|
|
@@ -659,8 +719,8 @@ FT_BEGIN_HEADER
|
|
|
659
719
|
* @description:
|
|
660
720
|
* For Adobe MM fonts, retrieve the current weight vector of the font.
|
|
661
721
|
*
|
|
662
|
-
* This function can't be used with TrueType GX or OpenType
|
|
663
|
-
*
|
|
722
|
+
* This function can't be used with TrueType GX or OpenType Font
|
|
723
|
+
* Variations.
|
|
664
724
|
*
|
|
665
725
|
* @inout:
|
|
666
726
|
* face ::
|
|
@@ -677,14 +737,14 @@ FT_BEGIN_HEADER
|
|
|
677
737
|
*
|
|
678
738
|
* @output:
|
|
679
739
|
* weightvector ::
|
|
680
|
-
* An array to be filled.
|
|
740
|
+
* An array to be filled; it must be allocated by the user.
|
|
681
741
|
*
|
|
682
742
|
* @return:
|
|
683
743
|
* FreeType error code. 0~means success.
|
|
684
744
|
*
|
|
685
745
|
* @note:
|
|
686
|
-
* Adobe
|
|
687
|
-
*
|
|
746
|
+
* Adobe MM fonts limit the number of designs, and thus the length of the
|
|
747
|
+
* weight vector, to~16 elements.
|
|
688
748
|
*
|
|
689
749
|
* @since:
|
|
690
750
|
* 2.10
|
|
@@ -760,8 +820,8 @@ FT_BEGIN_HEADER
|
|
|
760
820
|
* A handle to the source face.
|
|
761
821
|
*
|
|
762
822
|
* instance_index ::
|
|
763
|
-
* The index of the requested instance, starting with value
|
|
764
|
-
* to value
|
|
823
|
+
* The index of the requested instance, starting with value~1. If set
|
|
824
|
+
* to value~0, FreeType switches to font access without a named
|
|
765
825
|
* instance.
|
|
766
826
|
*
|
|
767
827
|
* @return:
|
|
@@ -771,11 +831,11 @@ FT_BEGIN_HEADER
|
|
|
771
831
|
* The function uses the value of `instance_index` to set bits 16-30 of
|
|
772
832
|
* the face's `face_index` field. It also resets any variation applied
|
|
773
833
|
* to the font, and the @FT_FACE_FLAG_VARIATION bit of the face's
|
|
774
|
-
* `face_flags` field gets reset to zero (i.e., @FT_IS_VARIATION
|
|
775
|
-
*
|
|
834
|
+
* `face_flags` field gets reset to zero (i.e., @FT_IS_VARIATION returns
|
|
835
|
+
* false).
|
|
776
836
|
*
|
|
777
|
-
* For Adobe MM fonts
|
|
778
|
-
*
|
|
837
|
+
* For Adobe MM fonts, this function resets the current face to the
|
|
838
|
+
* default instance.
|
|
779
839
|
*
|
|
780
840
|
* @since:
|
|
781
841
|
* 2.9
|
|
@@ -794,10 +854,6 @@ FT_BEGIN_HEADER
|
|
|
794
854
|
* Retrieve the index of the default named instance, to be used with
|
|
795
855
|
* @FT_Set_Named_Instance.
|
|
796
856
|
*
|
|
797
|
-
* The default instance of a variation font is that instance for which
|
|
798
|
-
* the nth axis coordinate is equal to `axis[n].def` (as specified in the
|
|
799
|
-
* @FT_MM_Var structure), with~n covering all axes.
|
|
800
|
-
*
|
|
801
857
|
* FreeType synthesizes a named instance for the default instance if the
|
|
802
858
|
* font does not contain such an entry.
|
|
803
859
|
*
|
|
@@ -813,8 +869,8 @@ FT_BEGIN_HEADER
|
|
|
813
869
|
* FreeType error code. 0~means success.
|
|
814
870
|
*
|
|
815
871
|
* @note:
|
|
816
|
-
* For Adobe MM fonts
|
|
817
|
-
*
|
|
872
|
+
* For Adobe MM fonts, this function always returns zero for
|
|
873
|
+
* `instance_index`.
|
|
818
874
|
*
|
|
819
875
|
* @since:
|
|
820
876
|
* 2.13.1
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Support for the FT_Outline type used to store glyph shapes of
|
|
6
6
|
* most scalable font formats (specification).
|
|
7
7
|
*
|
|
8
|
-
* Copyright (C) 1996-
|
|
8
|
+
* Copyright (C) 1996-2025 by
|
|
9
9
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
10
10
|
*
|
|
11
11
|
* This file is part of the FreeType project, and may only be used,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* FreeType API for possible FT_Parameter tags (specification only).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 2017-
|
|
7
|
+
* Copyright (C) 2017-2025 by
|
|
8
8
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
9
9
|
*
|
|
10
10
|
* This file is part of the FreeType project, and may only be used,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* FreeType API for accessing PFR-specific data (specification only).
|
|
6
6
|
*
|
|
7
|
-
* Copyright (C) 2002-
|
|
7
|
+
* Copyright (C) 2002-2025 by
|
|
8
8
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
9
9
|
*
|
|
10
10
|
* This file is part of the FreeType project, and may only be used,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* FreeType synthesizing code for emboldening and slanting
|
|
6
6
|
* (specification).
|
|
7
7
|
*
|
|
8
|
-
* Copyright (C) 2000-
|
|
8
|
+
* Copyright (C) 2000-2025 by
|
|
9
9
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
10
10
|
*
|
|
11
11
|
* This file is part of the FreeType project, and may only be used,
|