OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* ftmm.h */ | 3 /* ftmm.h */ |
4 /* */ | 4 /* */ |
5 /* FreeType Multiple Master font interface (specification). */ | 5 /* FreeType Multiple Master font interface (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 1996-2001, 2003, 2004, 2006, 2009, 2013 by */ | 7 /* Copyright 1996-2015 by */ |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
9 /* */ | 9 /* */ |
10 /* This file is part of the FreeType project, and may only be used, */ | 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 */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
15 /* */ | 15 /* */ |
16 /***************************************************************************/ | 16 /***************************************************************************/ |
17 | 17 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 /* A structure used to model the axes and space of a Multiple Masters */ | 88 /* A structure used to model the axes and space of a Multiple Masters */ |
89 /* font. */ | 89 /* font. */ |
90 /* */ | 90 /* */ |
91 /* This structure can't be used for GX var fonts. */ | 91 /* This structure can't be used for GX var fonts. */ |
92 /* */ | 92 /* */ |
93 /* <Fields> */ | 93 /* <Fields> */ |
94 /* num_axis :: Number of axes. Cannot exceed~4. */ | 94 /* num_axis :: Number of axes. Cannot exceed~4. */ |
95 /* */ | 95 /* */ |
96 /* num_designs :: Number of designs; should be normally 2^num_axis */ | 96 /* num_designs :: Number of designs; should be normally 2^num_axis */ |
97 /* even though the Type~1 specification strangely */ | 97 /* even though the Type~1 specification strangely */ |
98 /* allows for intermediate designs to be present. This */ | 98 /* allows for intermediate designs to be present. */ |
99 /* number cannot exceed~16. */ | 99 /* This number cannot exceed~16. */ |
100 /* */ | 100 /* */ |
101 /* axis :: A table of axis descriptors. */ | 101 /* axis :: A table of axis descriptors. */ |
102 /* */ | 102 /* */ |
103 typedef struct FT_Multi_Master_ | 103 typedef struct FT_Multi_Master_ |
104 { | 104 { |
105 FT_UInt num_axis; | 105 FT_UInt num_axis; |
106 FT_UInt num_designs; | 106 FT_UInt num_designs; |
107 FT_MM_Axis axis[T1_MAX_MM_AXIS]; | 107 FT_MM_Axis axis[T1_MAX_MM_AXIS]; |
108 | 108 |
109 } FT_Multi_Master; | 109 } FT_Multi_Master; |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 /* 2^num_axis for MM fonts. Not meaningful for GX */ | 194 /* 2^num_axis for MM fonts. Not meaningful for GX */ |
195 /* (where every glyph could have a different */ | 195 /* (where every glyph could have a different */ |
196 /* number of designs). */ | 196 /* number of designs). */ |
197 /* */ | 197 /* */ |
198 /* num_namedstyles :: The number of named styles; only meaningful for */ | 198 /* num_namedstyles :: The number of named styles; only meaningful for */ |
199 /* GX that allows certain design coordinates to */ | 199 /* GX that allows certain design coordinates to */ |
200 /* have a string ID (in the `name' table) */ | 200 /* have a string ID (in the `name' table) */ |
201 /* associated with them. The font can tell the */ | 201 /* associated with them. The font can tell the */ |
202 /* user that, for example, Weight=1.5 is `Bold'. */ | 202 /* user that, for example, Weight=1.5 is `Bold'. */ |
203 /* */ | 203 /* */ |
204 /* axis :: A table of axis descriptors. */ | 204 /* axis :: An axis descriptor table. */ |
205 /* GX fonts contain slightly more data than MM. */ | 205 /* GX fonts contain slightly more data than MM. */ |
206 /* */ | 206 /* */ |
207 /* namedstyles :: A table of named styles. */ | 207 /* namedstyle :: A named style table. */ |
208 /* Only meaningful with GX. */ | 208 /* Only meaningful with GX. */ |
209 /* */ | 209 /* */ |
210 typedef struct FT_MM_Var_ | 210 typedef struct FT_MM_Var_ |
211 { | 211 { |
212 FT_UInt num_axis; | 212 FT_UInt num_axis; |
213 FT_UInt num_designs; | 213 FT_UInt num_designs; |
214 FT_UInt num_namedstyles; | 214 FT_UInt num_namedstyles; |
215 FT_Var_Axis* axis; | 215 FT_Var_Axis* axis; |
216 FT_Var_Named_Style* namedstyle; | 216 FT_Var_Named_Style* namedstyle; |
217 | 217 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 /* <Description> */ | 273 /* <Description> */ |
274 /* For Multiple Masters fonts, choose an interpolated font design */ | 274 /* For Multiple Masters fonts, choose an interpolated font design */ |
275 /* through design coordinates. */ | 275 /* through design coordinates. */ |
276 /* */ | 276 /* */ |
277 /* This function can't be used with GX fonts. */ | 277 /* This function can't be used with GX fonts. */ |
278 /* */ | 278 /* */ |
279 /* <InOut> */ | 279 /* <InOut> */ |
280 /* face :: A handle to the source face. */ | 280 /* face :: A handle to the source face. */ |
281 /* */ | 281 /* */ |
282 /* <Input> */ | 282 /* <Input> */ |
283 /* num_coords :: The number of design coordinates (must be equal to */ | 283 /* num_coords :: The number of available design coordinates. If it */ |
284 /* the number of axes in the font). */ | 284 /* is larger than the number of axes, ignore the excess */ |
| 285 /* values. If it is smaller than the number of axes, */ |
| 286 /* use default values for the remaining axes. */ |
285 /* */ | 287 /* */ |
286 /* coords :: An array of design coordinates. */ | 288 /* coords :: An array of design coordinates. */ |
287 /* */ | 289 /* */ |
288 /* <Return> */ | 290 /* <Return> */ |
289 /* FreeType error code. 0~means success. */ | 291 /* FreeType error code. 0~means success. */ |
290 /* */ | 292 /* */ |
291 FT_EXPORT( FT_Error ) | 293 FT_EXPORT( FT_Error ) |
292 FT_Set_MM_Design_Coordinates( FT_Face face, | 294 FT_Set_MM_Design_Coordinates( FT_Face face, |
293 FT_UInt num_coords, | 295 FT_UInt num_coords, |
294 FT_Long* coords ); | 296 FT_Long* coords ); |
295 | 297 |
296 | 298 |
297 /*************************************************************************/ | 299 /*************************************************************************/ |
298 /* */ | 300 /* */ |
299 /* <Function> */ | 301 /* <Function> */ |
300 /* FT_Set_Var_Design_Coordinates */ | 302 /* FT_Set_Var_Design_Coordinates */ |
301 /* */ | 303 /* */ |
302 /* <Description> */ | 304 /* <Description> */ |
303 /* For Multiple Master or GX Var fonts, choose an interpolated font */ | 305 /* For Multiple Master or GX Var fonts, choose an interpolated font */ |
304 /* design through design coordinates. */ | 306 /* design through design coordinates. */ |
305 /* */ | 307 /* */ |
306 /* <InOut> */ | 308 /* <InOut> */ |
307 /* face :: A handle to the source face. */ | 309 /* face :: A handle to the source face. */ |
308 /* */ | 310 /* */ |
309 /* <Input> */ | 311 /* <Input> */ |
310 /* num_coords :: The number of design coordinates (must be equal to */ | 312 /* num_coords :: The number of available design coordinates. If it */ |
311 /* the number of axes in the font). */ | 313 /* is larger than the number of axes, ignore the excess */ |
| 314 /* values. If it is smaller than the number of axes, */ |
| 315 /* use default values for the remaining axes. */ |
312 /* */ | 316 /* */ |
313 /* coords :: An array of design coordinates. */ | 317 /* coords :: An array of design coordinates. */ |
314 /* */ | 318 /* */ |
315 /* <Return> */ | 319 /* <Return> */ |
316 /* FreeType error code. 0~means success. */ | 320 /* FreeType error code. 0~means success. */ |
317 /* */ | 321 /* */ |
318 FT_EXPORT( FT_Error ) | 322 FT_EXPORT( FT_Error ) |
319 FT_Set_Var_Design_Coordinates( FT_Face face, | 323 FT_Set_Var_Design_Coordinates( FT_Face face, |
320 FT_UInt num_coords, | 324 FT_UInt num_coords, |
321 FT_Fixed* coords ); | 325 FT_Fixed* coords ); |
322 | 326 |
323 | 327 |
324 /*************************************************************************/ | 328 /*************************************************************************/ |
325 /* */ | 329 /* */ |
326 /* <Function> */ | 330 /* <Function> */ |
327 /* FT_Set_MM_Blend_Coordinates */ | 331 /* FT_Set_MM_Blend_Coordinates */ |
328 /* */ | 332 /* */ |
329 /* <Description> */ | 333 /* <Description> */ |
330 /* For Multiple Masters and GX var fonts, choose an interpolated font */ | 334 /* For Multiple Masters and GX var fonts, choose an interpolated font */ |
331 /* design through normalized blend coordinates. */ | 335 /* design through normalized blend coordinates. */ |
332 /* */ | 336 /* */ |
333 /* <InOut> */ | 337 /* <InOut> */ |
334 /* face :: A handle to the source face. */ | 338 /* face :: A handle to the source face. */ |
335 /* */ | 339 /* */ |
336 /* <Input> */ | 340 /* <Input> */ |
337 /* num_coords :: The number of design coordinates (must be equal to */ | 341 /* num_coords :: The number of available design coordinates. If it */ |
338 /* the number of axes in the font). */ | 342 /* is larger than the number of axes, ignore the excess */ |
| 343 /* values. If it is smaller than the number of axes, */ |
| 344 /* use default values for the remaining axes. */ |
339 /* */ | 345 /* */ |
340 /* coords :: The design coordinates array (each element must be */ | 346 /* coords :: The design coordinates array (each element must be */ |
341 /* between 0 and 1.0). */ | 347 /* between 0 and 1.0). */ |
342 /* */ | 348 /* */ |
343 /* <Return> */ | 349 /* <Return> */ |
344 /* FreeType error code. 0~means success. */ | 350 /* FreeType error code. 0~means success. */ |
345 /* */ | 351 /* */ |
346 FT_EXPORT( FT_Error ) | 352 FT_EXPORT( FT_Error ) |
347 FT_Set_MM_Blend_Coordinates( FT_Face face, | 353 FT_Set_MM_Blend_Coordinates( FT_Face face, |
348 FT_UInt num_coords, | 354 FT_UInt num_coords, |
(...skipping 15 matching lines...) Expand all Loading... |
364 | 370 |
365 /* */ | 371 /* */ |
366 | 372 |
367 | 373 |
368 FT_END_HEADER | 374 FT_END_HEADER |
369 | 375 |
370 #endif /* __FTMM_H__ */ | 376 #endif /* __FTMM_H__ */ |
371 | 377 |
372 | 378 |
373 /* END */ | 379 /* END */ |
OLD | NEW |