Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: include/freetype/internal/tttypes.h

Issue 89753003: Update freetype to latest version of ASOP. (Closed) Base URL: https://chromium.googlesource.com/chromium/src/third_party/freetype.git@master
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/freetype/internal/t1types.h ('k') | include/freetype/ttnameid.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /***************************************************************************/ 1 /***************************************************************************/
2 /* */ 2 /* */
3 /* tttypes.h */ 3 /* tttypes.h */
4 /* */ 4 /* */
5 /* Basic SFNT/TrueType type definitions and interface (specification */ 5 /* Basic SFNT/TrueType type definitions and interface (specification */
6 /* only). */ 6 /* only). */
7 /* */ 7 /* */
8 /* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007, 2008 by */ 8 /* Copyright 1996-2002, 2004-2008, 2012-2013 by */
9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10 /* */ 10 /* */
11 /* This file is part of the FreeType project, and may only be used, */ 11 /* This file is part of the FreeType project, and may only be used, */
12 /* modified, and distributed under the terms of the FreeType project */ 12 /* modified, and distributed under the terms of the FreeType project */
13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
14 /* this file you indicate that you have read the license and */ 14 /* this file you indicate that you have read the license and */
15 /* understand and accept it fully. */ 15 /* understand and accept it fully. */
16 /* */ 16 /* */
17 /***************************************************************************/ 17 /***************************************************************************/
18 18
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 /* */ 304 /* */
305 typedef struct TT_Gasp_ 305 typedef struct TT_Gasp_
306 { 306 {
307 FT_UShort version; 307 FT_UShort version;
308 FT_UShort numRanges; 308 FT_UShort numRanges;
309 TT_GaspRange gaspRanges; 309 TT_GaspRange gaspRanges;
310 310
311 } TT_GaspRec; 311 } TT_GaspRec;
312 312
313 313
314 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
315
316 /*************************************************************************/
317 /* */
318 /* <Struct> */
319 /* TT_HdmxEntryRec */
320 /* */
321 /* <Description> */
322 /* A small structure used to model the pre-computed widths of a given */
323 /* size. They are found in the `hdmx' table. */
324 /* */
325 /* <Fields> */
326 /* ppem :: The pixels per EM value at which these metrics apply. */
327 /* */
328 /* max_width :: The maximum advance width for this metric. */
329 /* */
330 /* widths :: An array of widths. Note: These are 8-bit bytes. */
331 /* */
332 typedef struct TT_HdmxEntryRec_
333 {
334 FT_Byte ppem;
335 FT_Byte max_width;
336 FT_Byte* widths;
337
338 } TT_HdmxEntryRec, *TT_HdmxEntry;
339
340
341 /*************************************************************************/
342 /* */
343 /* <Struct> */
344 /* TT_HdmxRec */
345 /* */
346 /* <Description> */
347 /* A structure used to model the `hdmx' table, which contains */
348 /* pre-computed widths for a set of given sizes/dimensions. */
349 /* */
350 /* <Fields> */
351 /* version :: The version number. */
352 /* */
353 /* num_records :: The number of hdmx records. */
354 /* */
355 /* records :: An array of hdmx records. */
356 /* */
357 typedef struct TT_HdmxRec_
358 {
359 FT_UShort version;
360 FT_Short num_records;
361 TT_HdmxEntry records;
362
363 } TT_HdmxRec, *TT_Hdmx;
364
365
366 /*************************************************************************/
367 /* */
368 /* <Struct> */
369 /* TT_Kern0_PairRec */
370 /* */
371 /* <Description> */
372 /* A structure used to model a kerning pair for the kerning table */
373 /* format 0. The engine now loads this table if it finds one in the */
374 /* font file. */
375 /* */
376 /* <Fields> */
377 /* left :: The index of the left glyph in pair. */
378 /* */
379 /* right :: The index of the right glyph in pair. */
380 /* */
381 /* value :: The kerning distance. A positive value spaces the */
382 /* glyphs, a negative one makes them closer. */
383 /* */
384 typedef struct TT_Kern0_PairRec_
385 {
386 FT_UShort left; /* index of left glyph in pair */
387 FT_UShort right; /* index of right glyph in pair */
388 FT_FWord value; /* kerning value */
389
390 } TT_Kern0_PairRec, *TT_Kern0_Pair;
391
392 #endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
393
394
395 /*************************************************************************/ 314 /*************************************************************************/
396 /*************************************************************************/ 315 /*************************************************************************/
397 /*************************************************************************/ 316 /*************************************************************************/
398 /*** ***/ 317 /*** ***/
399 /*** ***/ 318 /*** ***/
400 /*** EMBEDDED BITMAPS SUPPORT ***/ 319 /*** EMBEDDED BITMAPS SUPPORT ***/
401 /*** ***/ 320 /*** ***/
402 /*** ***/ 321 /*** ***/
403 /*************************************************************************/ 322 /*************************************************************************/
404 /*************************************************************************/ 323 /*************************************************************************/
(...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after
1262 TTC_HeaderRec ttc_header; 1181 TTC_HeaderRec ttc_header;
1263 1182
1264 FT_ULong format_tag; 1183 FT_ULong format_tag;
1265 FT_UShort num_tables; 1184 FT_UShort num_tables;
1266 TT_Table dir_tables; 1185 TT_Table dir_tables;
1267 1186
1268 TT_Header header; /* TrueType header table */ 1187 TT_Header header; /* TrueType header table */
1269 TT_HoriHeader horizontal; /* TrueType horizontal header */ 1188 TT_HoriHeader horizontal; /* TrueType horizontal header */
1270 1189
1271 TT_MaxProfile max_profile; 1190 TT_MaxProfile max_profile;
1272 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
1273 FT_ULong max_components; /* stubbed to 0 */
1274 #endif
1275 1191
1276 FT_Bool vertical_info; 1192 FT_Bool vertical_info;
1277 TT_VertHeader vertical; /* TT Vertical header, if present */ 1193 TT_VertHeader vertical; /* TT Vertical header, if present */
1278 1194
1279 FT_UShort num_names; /* number of name records */ 1195 FT_UShort num_names; /* number of name records */
1280 TT_NameTableRec name_table; /* name table */ 1196 TT_NameTableRec name_table; /* name table */
1281 1197
1282 TT_OS2 os2; /* TrueType OS/2 table */ 1198 TT_OS2 os2; /* TrueType OS/2 table */
1283 TT_Postscript postscript; /* TrueType Postscript table */ 1199 TT_Postscript postscript; /* TrueType Postscript table */
1284 1200
(...skipping 16 matching lines...) Expand all
1301 /* handle glyph names <-> unicode & Mac values */ 1217 /* handle glyph names <-> unicode & Mac values */
1302 void* psnames; 1218 void* psnames;
1303 1219
1304 1220
1305 /***********************************************************************/ 1221 /***********************************************************************/
1306 /* */ 1222 /* */
1307 /* Optional TrueType/OpenType tables */ 1223 /* Optional TrueType/OpenType tables */
1308 /* */ 1224 /* */
1309 /***********************************************************************/ 1225 /***********************************************************************/
1310 1226
1311 /* horizontal device metrics */
1312 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
1313 TT_HdmxRec hdmx;
1314 #endif
1315
1316 /* grid-fitting and scaling table */ 1227 /* grid-fitting and scaling table */
1317 TT_GaspRec gasp; /* the `gasp' table */ 1228 TT_GaspRec gasp; /* the `gasp' table */
1318 1229
1319 /* PCL 5 table */ 1230 /* PCL 5 table */
1320 TT_PCLT pclt; 1231 TT_PCLT pclt;
1321 1232
1322 /* embedded bitmaps support */ 1233 /* embedded bitmaps support */
1323 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
1324 FT_ULong num_sbit_strikes;
1325 TT_SBit_Strike sbit_strikes;
1326 #endif
1327
1328 FT_ULong num_sbit_scales; 1234 FT_ULong num_sbit_scales;
1329 TT_SBit_Scale sbit_scales; 1235 TT_SBit_Scale sbit_scales;
1330 1236
1331 /* postscript names table */ 1237 /* postscript names table */
1332 TT_Post_NamesRec postscript_names; 1238 TT_Post_NamesRec postscript_names;
1333 1239
1334 1240
1335 /***********************************************************************/ 1241 /***********************************************************************/
1336 /* */ 1242 /* */
1337 /* TrueType-specific fields (ignored by the OTF-Type2 driver) */ 1243 /* TrueType-specific fields (ignored by the OTF-Type2 driver) */
1338 /* */ 1244 /* */
1339 /***********************************************************************/ 1245 /***********************************************************************/
1340 1246
1341 /* the glyph locations */
1342 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
1343 FT_UShort num_locations_stub;
1344 FT_Long* glyph_locations_stub;
1345 #endif
1346
1347 /* the font program, if any */ 1247 /* the font program, if any */
1348 FT_ULong font_program_size; 1248 FT_ULong font_program_size;
1349 FT_Byte* font_program; 1249 FT_Byte* font_program;
1350 1250
1351 /* the cvt program, if any */ 1251 /* the cvt program, if any */
1352 FT_ULong cvt_program_size; 1252 FT_ULong cvt_program_size;
1353 FT_Byte* cvt_program; 1253 FT_Byte* cvt_program;
1354 1254
1355 /* the original, unscaled, control value table */ 1255 /* the original, unscaled, control value table */
1356 FT_ULong cvt_size; 1256 FT_ULong cvt_size;
1357 FT_Short* cvt; 1257 FT_Short* cvt;
1358 1258
1359 #ifdef FT_CONFIG_OPTION_OLD_INTERNALS
1360 /* the format 0 kerning table, if any */
1361 FT_Int num_kern_pairs;
1362 FT_Int kern_table_index;
1363 TT_Kern0_Pair kern_pairs;
1364 #endif
1365
1366 /* A pointer to the bytecode interpreter to use. This is also */ 1259 /* A pointer to the bytecode interpreter to use. This is also */
1367 /* used to hook the debugger for the `ttdebug' utility. */ 1260 /* used to hook the debugger for the `ttdebug' utility. */
1368 TT_Interpreter interpreter; 1261 TT_Interpreter interpreter;
1369 1262
1370 #ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING 1263 #ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
1371 /* Use unpatented hinting only. */ 1264 /* Use unpatented hinting only. */
1372 FT_Bool unpatented_hinting; 1265 FT_Bool unpatented_hinting;
1373 #endif 1266 #endif
1374 1267
1375 /***********************************************************************/ 1268 /***********************************************************************/
1376 /* */ 1269 /* */
1377 /* Other tables or fields. This is used by derivative formats like */ 1270 /* Other tables or fields. This is used by derivative formats like */
1378 /* OpenType. */ 1271 /* OpenType. */
1379 /* */ 1272 /* */
1380 /***********************************************************************/ 1273 /***********************************************************************/
1381 1274
1382 FT_Generic extra; 1275 FT_Generic extra;
1383 1276
1384 const char* postscript_name; 1277 const char* postscript_name;
1385 1278
1386 /* since version 2.1.8, but was originally placed after */
1387 /* `glyph_locations_stub' */
1388 FT_ULong glyf_len; 1279 FT_ULong glyf_len;
1389 1280
1390 /* since version 2.1.8, but was originally placed before `extra' */
1391 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT 1281 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
1392 FT_Bool doblend; 1282 FT_Bool doblend;
1393 GX_Blend blend; 1283 GX_Blend blend;
1394 #endif 1284 #endif
1395 1285
1396 /* since version 2.2 */ 1286 /* since version 2.2 */
1397 1287
1398 FT_Byte* horz_metrics; 1288 FT_Byte* horz_metrics;
1399 FT_ULong horz_metrics_size; 1289 FT_ULong horz_metrics_size;
1400 1290
(...skipping 20 matching lines...) Expand all
1421 FT_UInt32 kern_order_bits; 1311 FT_UInt32 kern_order_bits;
1422 1312
1423 #ifdef TT_CONFIG_OPTION_BDF 1313 #ifdef TT_CONFIG_OPTION_BDF
1424 TT_BDFRec bdf; 1314 TT_BDFRec bdf;
1425 #endif /* TT_CONFIG_OPTION_BDF */ 1315 #endif /* TT_CONFIG_OPTION_BDF */
1426 1316
1427 /* since 2.3.0 */ 1317 /* since 2.3.0 */
1428 FT_ULong horz_metrics_offset; 1318 FT_ULong horz_metrics_offset;
1429 FT_ULong vert_metrics_offset; 1319 FT_ULong vert_metrics_offset;
1430 1320
1321 #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
1322 /* since 2.4.12 */
1323 FT_ULong sph_found_func_flags; /* special functions found */
1324 /* for this face */
1325 FT_Bool sph_compatibility_mode;
1326 #endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */
1327
1431 } TT_FaceRec; 1328 } TT_FaceRec;
1432 1329
1433 1330
1434 /*************************************************************************/ 1331 /*************************************************************************/
1435 /* */ 1332 /* */
1436 /* <Struct> */ 1333 /* <Struct> */
1437 /* TT_GlyphZoneRec */ 1334 /* TT_GlyphZoneRec */
1438 /* */ 1335 /* */
1439 /* <Description> */ 1336 /* <Description> */
1440 /* A glyph zone is used to load, scale and hint glyph outline */ 1337 /* A glyph zone is used to load, scale and hint glyph outline */
1441 /* coordinates. */ 1338 /* coordinates. */
1442 /* */ 1339 /* */
1443 /* <Fields> */ 1340 /* <Fields> */
1444 /* memory :: A handle to the memory manager. */ 1341 /* memory :: A handle to the memory manager. */
1445 /* */ 1342 /* */
1446 /* max_points :: The maximal size in points of the zone. */ 1343 /* max_points :: The maximum size in points of the zone. */
1447 /* */ 1344 /* */
1448 /* max_contours :: Max size in links contours of the zone. */ 1345 /* max_contours :: Max size in links contours of the zone. */
1449 /* */ 1346 /* */
1450 /* n_points :: The current number of points in the zone. */ 1347 /* n_points :: The current number of points in the zone. */
1451 /* */ 1348 /* */
1452 /* n_contours :: The current number of contours in the zone. */ 1349 /* n_contours :: The current number of contours in the zone. */
1453 /* */ 1350 /* */
1454 /* org :: The original glyph coordinates (font */ 1351 /* org :: The original glyph coordinates (font */
1455 /* units/scaled). */ 1352 /* units/scaled). */
1456 /* */ 1353 /* */
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
1534 1431
1535 } TT_LoaderRec; 1432 } TT_LoaderRec;
1536 1433
1537 1434
1538 FT_END_HEADER 1435 FT_END_HEADER
1539 1436
1540 #endif /* __TTTYPES_H__ */ 1437 #endif /* __TTTYPES_H__ */
1541 1438
1542 1439
1543 /* END */ 1440 /* END */
OLDNEW
« no previous file with comments | « include/freetype/internal/t1types.h ('k') | include/freetype/ttnameid.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698