Go to the source code of this file.
◆ FT_COMPONENT
◆ TT_KERN_INDEX
◆ tt_face_done_kern()
Definition at line 172 of file ttkern.c.
173 {
175
176
178 face->kern_table_size = 0;
179 face->num_kern_tables = 0;
180 face->kern_avail_bits = 0;
181 face->kern_order_bits = 0;
182 }
#define FT_FRAME_RELEASE(bytes)
GLenum GLuint GLint GLenum face
Referenced by sfnt_done_face().
◆ tt_face_get_kerning()
Definition at line 186 of file ttkern.c.
189 {
194
195
198
200 count > 0 &&
p + 6 <= p_limit;
202 {
210
212
213
215
216 if (
next > p_limit )
218
219 if ( (
face->kern_avail_bits &
mask ) == 0 )
220 goto NextTable;
221
223
226
227 if ( (
next -
p ) < 6 * (
int)num_pairs )
229
230 switch ( coverage >> 8 )
231 {
232 case 0:
233 {
235
236
238 {
241
242
244 {
248
249
251
253 {
256 }
259 else
261 }
262 }
263 else
264 {
266
267
268 for ( count2 = num_pairs; count2 > 0; count2-- )
269 {
271
272
274 {
277 }
279 }
280 }
281 }
282 break;
283
284
285
286
287
288
289 default:
290 ;
291 }
292
293 goto NextTable;
294
296 if ( coverage & 8 )
298 else
300
301 NextTable:
303 }
304
306 }
static const WCHAR version[]
#define FT_ASSERT(condition)
#define FT_NEXT_USHORT(buffer)
#define FT_NEXT_ULONG(buffer)
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble GLdouble q
GLuint GLsizei GLsizei * length
GLuint64EXT GLuint GLuint GLenum GLenum GLuint GLuint key0
static unsigned __int64 next
FT_UInt FT_UInt right_glyph
#define TT_KERN_INDEX(g1, g2)
◆ tt_face_load_kern()
Definition at line 43 of file ttkern.c.
45 {
51 FT_UInt32
avail = 0, ordered = 0;
52
53
54
58
60 {
62 " kerning table is too small - ignored\n" ));
65 }
66
68 {
70 " could not extract kerning table\n" ));
72 }
73
75
78
81
82 if ( num_tables > 32 )
83 num_tables = 32;
84
85 for ( nn = 0; nn < num_tables; nn++ )
86 {
89 FT_UInt32
mask = (FT_UInt32)1UL << nn;
90
91
92 if (
p + 6 > p_limit )
93 break;
94
96
100
102 break;
103
105
106 if ( p_next > p_limit )
107 p_next = p_limit;
108
110
111
113 goto NextTable;
114
115
116 if ( ( coverage & 3U ) != 0x0001 ||
118 goto NextTable;
119
122
123 if ( ( p_next -
p ) < 6 * (
int)num_pairs )
124 num_pairs = (
FT_UInt)( ( p_next -
p ) / 6 );
125
127
128
129
130
131
132 if ( num_pairs > 0 )
133 {
136
137
140
142 {
143 FT_UInt32 cur_pair;
144
145
147 if ( cur_pair <= old_pair )
148 break;
149
151 old_pair = cur_pair;
152 }
153
156 }
157
158 NextTable:
160 }
161
162 face->num_kern_tables = nn;
164 face->kern_order_bits = ordered;
165
168 }
#define FT_ERROR(varformat)
#define FT_FRAME_EXTRACT(size, bytes)