]>
git.saurik.com Git - wxWidgets.git/blob - src/freetype/freetype/ftmm.h
db5db0464ca1083a19a47db56cf733f7dd01974d
1 /***************************************************************************/
5 /* FreeType Multiple Master font interface (specification). */
7 /* Copyright 1996-2000 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16 /***************************************************************************/
22 #include <freetype/t1tables.h>
29 /*************************************************************************/
35 /* A simple structure used to model a given axis in design space for */
36 /* Multiple Masters fonts. */
39 /* name :: The axis's name. */
41 /* minimum :: The axis's minimum design coordinate. */
43 /* maximum :: The axis's maximum design coordinate. */
45 typedef struct FT_MM_Axis_
54 /*************************************************************************/
60 /* A structure used to model the axes and space of a Multiple Masters */
64 /* num_axis :: Number of axes. Cannot exceed 4. */
66 /* num_designs :: Number of designs; should ne normally 2^num_axis */
67 /* even though the Type 1 specification strangely */
68 /* allows for intermediate designs to be present. This */
69 /* number cannot exceed 16. */
71 /* axis :: A table of axis descriptors. */
73 typedef struct FT_Multi_Master_
77 FT_MM_Axis axis
[T1_MAX_MM_AXIS
];
82 typedef FT_Error (*FT_Get_MM_Func
)( FT_Face face
,
83 FT_Multi_Master
* master
);
85 typedef FT_Error (*FT_Set_MM_Design_Func
)( FT_Face face
,
89 typedef FT_Error (*FT_Set_MM_Blend_Func
)( FT_Face face
,
94 /*************************************************************************/
97 /* FT_Get_Multi_Master */
100 /* Retrieves the Multiple Master descriptor of a given font. */
103 /* face :: A handle to the source face. */
106 /* master :: The Multiple Masters descriptor. */
109 /* FreeType error code. 0 means success. */
111 FT_EXPORT_DEF( FT_Error
) FT_Get_Multi_Master( FT_Face face
,
112 FT_Multi_Master
* master
);
115 /*************************************************************************/
118 /* FT_Set_MM_Design_Coordinates */
121 /* For Multiple Masters fonts, choose an interpolated font design */
122 /* through design coordinates. */
125 /* face :: A handle to the source face. */
127 /* num_coords :: The number of design coordinates (must be equal to */
128 /* the number of axes in the font). */
130 /* coords :: The design coordinates. */
133 /* FreeType error code. 0 means success. */
135 FT_EXPORT_DEF( FT_Error
) FT_Set_MM_Design_Coordinates(
141 /*************************************************************************/
144 /* FT_Set_MM_Blend_Coordinates */
147 /* For Multiple Masters fonts, choose an interpolated font design */
148 /* through normalized blend coordinates. */
151 /* face :: A handle to the source face. */
153 /* num_coords :: The number of design coordinates (must be equal to */
154 /* the number of axes in the font). */
156 /* coords :: The design coordinates (each one must be between 0 */
160 /* FreeType error code. 0 means success. */
162 FT_EXPORT_DEF( FT_Error
) FT_Set_MM_Blend_Coordinates(