Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
ttgxvar.h
Go to the documentation of this file.
1 /***************************************************************************/
2 /* */
3 /* ttgxvar.h */
4 /* */
5 /* TrueType GX Font Variation loader (specification) */
6 /* */
7 /* Copyright 2004 by */
8 /* David Turner, Robert Wilhelm, Werner Lemberg and George Williams. */
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 __TTGXVAR_H__
20 #define __TTGXVAR_H__
21 
22 
23 #include <ft2build.h>
24 #include "ttobjs.h"
25 
26 
28 
29 
30  /*************************************************************************/
31  /* */
32  /* <Struct> */
33  /* GX_AVarCorrespondenceRec */
34  /* */
35  /* <Description> */
36  /* A data structure representing `shortFracCorrespondence' in `avar' */
37  /* table according to the specifications from Apple. */
38  /* */
40  {
43 
45 
46 
47  /*************************************************************************/
48  /* */
49  /* <Struct> */
50  /* GX_AVarRec */
51  /* */
52  /* <Description> */
53  /* Data from the segment field of `avar' table. */
54  /* There is one of these for each axis. */
55  /* */
56  typedef struct GX_AVarSegmentRec_
57  {
59  GX_AVarCorrespondence correspondence; /* array with pairCount entries */
60 
62 
63 
64  /*************************************************************************/
65  /* */
66  /* <Struct> */
67  /* GX_BlendRec */
68  /* */
69  /* <Description> */
70  /* Data for interpolating a font from a distortable font specified */
71  /* by the GX *var tables ([fgca]var). */
72  /* */
73  /* <Fields> */
74  /* num_axis :: The number of axes along which interpolation */
75  /* may happen */
76  /* */
77  /* normalizedcoords :: A normalized value (between [-1,1]) indicating */
78  /* the contribution along each axis to the final */
79  /* interpolated font. */
80  /* */
81  typedef struct GX_BlendRec_
82  {
85 
88 
90  GX_AVarSegment avar_segment;
91 
92  FT_UInt tuplecount; /* shared tuples in `gvar' */
93  FT_Fixed* tuplecoords; /* tuplecoords[tuplecount][num_axis] */
94 
97 
98  } GX_BlendRec;
99 
100 
101  /*************************************************************************/
102  /* */
103  /* <enum> */
104  /* GX_TupleCountFlags */
105  /* */
106  /* <Description> */
107  /* Flags used within the `TupleCount' field of the `gvar' table. */
108  /* */
109  typedef enum GX_TupleCountFlags_
110  {
114 
116 
117 
118  /*************************************************************************/
119  /* */
120  /* <enum> */
121  /* GX_TupleIndexFlags */
122  /* */
123  /* <Description> */
124  /* Flags used within the `TupleIndex' field of the `gvar' and `cvar' */
125  /* tables. */
126  /* */
127  typedef enum GX_TupleIndexFlags_
128  {
134 
136 
137 
138 #define TTAG_wght FT_MAKE_TAG( 'w', 'g', 'h', 't' )
139 #define TTAG_wdth FT_MAKE_TAG( 'w', 'd', 't', 'h' )
140 #define TTAG_opsz FT_MAKE_TAG( 'o', 'p', 's', 'z' )
141 #define TTAG_slnt FT_MAKE_TAG( 's', 'l', 'n', 't' )
142 
143 
144  FT_LOCAL( FT_Error )
146  FT_UInt num_coords,
147  FT_Fixed* coords );
148 
149  FT_LOCAL( FT_Error )
151  FT_UInt num_coords,
152  FT_Fixed* coords );
153 
154  FT_LOCAL( FT_Error )
156  FT_MM_Var* *master );
157 
158 
159  FT_LOCAL( FT_Error )
161  FT_Stream stream );
162 
163 
164  FT_LOCAL( FT_Error )
166  FT_UInt glyph_index,
167  FT_Vector* *deltas,
168  FT_UInt n_points );
169 
170 
171  FT_LOCAL( void )
172  tt_done_blend( FT_Memory memory,
173  GX_Blend blend );
174 
175 
177 
178 
179 #endif /* __TTGXVAR_H__ */
180 
181 
182 /* END */
GX_TupleCountFlags_
Definition: ttgxvar.h:109
FT_BEGIN_HEADER struct GX_AVarCorrespondenceRec_ * GX_AVarCorrespondence
int FT_Error
Definition: fttypes.h:296
GLuint GLuint stream
struct GX_BlendRec_ GX_BlendRec
unsigned long FT_ULong
Definition: fttypes.h:249
#define FT_END_HEADER
Definition: ftheader.h:54
FT_Fixed * normalizedcoords
Definition: ttgxvar.h:84
FT_BEGIN_HEADER struct GX_AVarCorrespondenceRec_ GX_AVarCorrespondenceRec_
struct GX_AVarSegmentRec_ GX_AVarSegmentRec
FT_MM_Var * mmvar
Definition: ttgxvar.h:86
enum GX_TupleIndexFlags_ GX_TupleIndexFlags
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:104
GLenum GLuint GLint GLenum face
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
TT_Get_MM_Var(TT_Face face, FT_MM_Var **master)
struct GX_AVarSegmentRec_ * GX_AVarSegment
TT_Vary_Get_Glyph_Deltas(TT_Face face, FT_UInt glyph_index, FT_Vector **deltas, FT_UInt n_points)
GX_AVarCorrespondence correspondence
Definition: ttgxvar.h:59
FT_UInt gv_glyphcnt
Definition: ttgxvar.h:95
GX_AVarSegment avar_segment
Definition: ttgxvar.h:90
#define FT_LOCAL(x)
Definition: ftconfig.h:235
tt_done_blend(FT_Memory memory, GX_Blend blend)
FT_UShort pairCount
Definition: ttgxvar.h:58
TT_Set_MM_Blend(TT_Face face, FT_UInt num_coords, FT_Fixed *coords)
enum GX_TupleCountFlags_ GX_TupleCountFlags
FT_Fixed * tuplecoords
Definition: ttgxvar.h:93
TT_Set_Var_Design(TT_Face face, FT_UInt num_coords, FT_Fixed *coords)
FT_Offset mmvar_len
Definition: ttgxvar.h:87
tt_face_vary_cvt(TT_Face face, FT_Stream stream)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition: ftsystem.h:66
GX_TupleIndexFlags_
Definition: ttgxvar.h:127
signed long FT_Fixed
Definition: fttypes.h:284
unsigned int FT_UInt
Definition: fttypes.h:227
FT_UInt tuplecount
Definition: ttgxvar.h:92
FT_Bool avar_checked
Definition: ttgxvar.h:89
unsigned short FT_UShort
Definition: fttypes.h:205
FT_ULong * glyphoffsets
Definition: ttgxvar.h:96
GLuint coords
FT_UInt num_axis
Definition: ttgxvar.h:83
size_t FT_Offset
Definition: fttypes.h:320