Go to the source code of this file.
◆ tt_face_get_metrics()
Definition at line 229 of file ttmtx.c.
234 {
240
241#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
242 FT_Service_MetricsVariations
var =
243 (FT_Service_MetricsVariations)
face->var;
244#endif
245
246
248 {
249 void*
v = &
face->vertical;
250
251
253 table_pos =
face->vert_metrics_offset;
255 }
256 else
257 {
259 table_pos =
face->horz_metrics_offset;
261 }
262
264
265 k =
header->number_Of_HMetrics;
266
268 {
270 {
271 table_pos += 4 * gindex;
272 if ( table_pos + 4 > table_end )
273 goto NoData;
274
278 goto NoData;
279 }
280 else
281 {
282 table_pos += 4 * (
k - 1 );
283 if ( table_pos + 4 > table_end )
284 goto NoData;
285
288 goto NoData;
289
290 table_pos += 4 + 2 * ( gindex -
k );
291 if ( table_pos + 2 > table_end )
292 *abearing = 0;
293 else
294 {
297 }
298 }
299 }
300 else
301 {
302 NoData:
303 *abearing = 0;
304 *aadvance = 0;
305 }
306
307#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
309 {
313
314
315 if ( vertical )
316 {
317 if (
var->vadvance_adjust )
318 var->vadvance_adjust(
f, gindex, &
a );
319 if (
var->tsb_adjust )
320 var->tsb_adjust(
f, gindex, &
b );
321 }
322 else
323 {
324 if (
var->hadvance_adjust )
325 var->hadvance_adjust(
f, gindex, &
a );
326 if (
var->lsb_adjust )
327 var->lsb_adjust(
f, gindex, &
b );
328 }
329
332 }
333#endif
334 }
#define FT_READ_USHORT(var)
#define FT_STREAM_SEEK(position)
#define FT_READ_SHORT(var)
GLenum GLuint GLint GLenum face
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
◆ tt_face_load_hhea()
Definition at line 130 of file ttmtx.c.
133 {
136
138 {
139#undef FT_STRUCTURE
140#define FT_STRUCTURE TT_HoriHeader
141
161 };
162
163
164 if ( vertical )
165 {
166 void *
v = &
face->vertical;
167
168
172
174 }
175 else
176 {
180
182 }
183
186
190
193
196 }
#define FT_TRACE3(varformat)
#define FT_FRAME_SHORT(f)
#define FT_FRAME_ULONG(f)
#define FT_STREAM_READ_FIELDS(fields, object)
#define FT_FRAME_START(size)
#define FT_FRAME_USHORT(f)
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_Reserved_ PVOID Reserved
◆ tt_face_load_hmtx()
Definition at line 73 of file ttmtx.c.
76 {
81
82
83 if ( vertical )
84 {
86 ptable_offset = &
face->vert_metrics_offset;
87 ptable_size = &
face->vert_metrics_size;
88 }
89 else
90 {
92 ptable_offset = &
face->horz_metrics_offset;
93 ptable_size = &
face->horz_metrics_size;
94 }
95
99
102
105 }