/***************************************************************************/ /* */ /* ftotval.h */ /* */ /* FreeType API for validating OpenType tables (specification). */ /* */ /* Copyright 2004-2017 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ /***************************************************************************/ /* */ /* */ /* Warning: This module might be moved to a different library in the */ /* future to avoid a tight dependency between FreeType and the */ /* OpenType specification. */ /* */ /* */ /***************************************************************************/ #ifndef FTOTVAL_H_ #define FTOTVAL_H_ #include <ft2build.h> #include FT_FREETYPE_H #ifdef FREETYPE_H #error "freetype.h of FreeType 1 has been loaded!" #error "Please fix the directory search order for header files" #error "so that freetype.h of FreeType 2 is found first." #endif FT_BEGIN_HEADER /*************************************************************************/ /* */ /* <Section> */ /* ot_validation */ /* */ /* <Title> */ /* OpenType Validation */ /* */ /* <Abstract> */ /* An API to validate OpenType tables. */ /* */ /* <Description> */ /* This section contains the declaration of functions to validate */ /* some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). */ /* */ /* <Order> */ /* FT_OpenType_Validate */ /* FT_OpenType_Free */ /* */ /* FT_VALIDATE_OTXXX */ /* */ /*************************************************************************/ /********************************************************************** * * @enum: * FT_VALIDATE_OTXXX * * @description: * A list of bit-field constants used with @FT_OpenType_Validate to * indicate which OpenType tables should be validated. * * @values: * FT_VALIDATE_BASE :: * Validate BASE table. * * FT_VALIDATE_GDEF :: * Validate GDEF table. * * FT_VALIDATE_GPOS :: * Validate GPOS table. * * FT_VALIDATE_GSUB :: * Validate GSUB table. * * FT_VALIDATE_JSTF :: * Validate JSTF table. * * FT_VALIDATE_MATH :: * Validate MATH table. * * FT_VALIDATE_OT :: * Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). * */ #define FT_VALIDATE_BASE 0x0100 #define FT_VALIDATE_GDEF 0x0200 #define FT_VALIDATE_GPOS 0x0400 #define FT_VALIDATE_GSUB 0x0800 #define FT_VALIDATE_JSTF 0x1000 #define FT_VALIDATE_MATH 0x2000 #define FT_VALIDATE_OT ( FT_VALIDATE_BASE | \ FT_VALIDATE_GDEF | \ FT_VALIDATE_GPOS | \ FT_VALIDATE_GSUB | \ FT_VALIDATE_JSTF | \ FT_VALIDATE_MATH ) /********************************************************************** * * @function: * FT_OpenType_Validate * * @description: * Validate various OpenType tables to assure that all offsets and * indices are valid. The idea is that a higher-level library that * actually does the text layout can access those tables without * error checking (which can be quite time consuming). * * @input: * face :: * A handle to the input face. * * validation_flags :: * A bit field that specifies the tables to be validated. See * @FT_VALIDATE_OTXXX for possible values. * * @output: * BASE_table :: * A pointer to the BASE table. * * GDEF_table :: * A pointer to the GDEF table. * * GPOS_table :: * A pointer to the GPOS table. * * GSUB_table :: * A pointer to the GSUB table. * * JSTF_table :: * A pointer to the JSTF table. * * @return: * FreeType error code. 0~means success. * * @note: * This function only works with OpenType fonts, returning an error * otherwise. * * After use, the application should deallocate the five tables with * @FT_OpenType_Free. A NULL value indicates that the table either * doesn't exist in the font, or the application hasn't asked for * validation. */ FT_EXPORT( FT_Error ) FT_OpenType_Validate( FT_Face face, FT_UInt validation_flags, FT_Bytes *BASE_table, FT_Bytes *GDEF_table, FT_Bytes *GPOS_table, FT_Bytes *GSUB_table, FT_Bytes *JSTF_table ); /********************************************************************** * * @function: * FT_OpenType_Free * * @description: * Free the buffer allocated by OpenType validator. * * @input: * face :: * A handle to the input face. * * table :: * The pointer to the buffer that is allocated by * @FT_OpenType_Validate. * * @note: * This function must be used to free the buffer allocated by * @FT_OpenType_Validate only. */ FT_EXPORT( void ) FT_OpenType_Free( FT_Face face, FT_Bytes table ); /* */ FT_END_HEADER #endif /* FTOTVAL_H_ */ /* END */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
config | Folder | 0755 |
|
|
freetype.h | File | 279.94 KB | 0644 |
|
ftadvanc.h | File | 10.39 KB | 0644 |
|
ftautoh.h | File | 19.42 KB | 0644 |
|
ftbbox.h | File | 5.11 KB | 0644 |
|
ftbdf.h | File | 6.63 KB | 0644 |
|
ftbitmap.h | File | 14.35 KB | 0644 |
|
ftbzip2.h | File | 4.2 KB | 0644 |
|
ftcache.h | File | 58.1 KB | 0644 |
|
ftcffdrv.h | File | 12.11 KB | 0644 |
|
ftchapters.h | File | 9.38 KB | 0644 |
|
ftcid.h | File | 5.52 KB | 0644 |
|
fterrdef.h | File | 14.1 KB | 0644 |
|
fterrors.h | File | 11.1 KB | 0644 |
|
ftfntfmt.h | File | 4.86 KB | 0644 |
|
ftgasp.h | File | 4.68 KB | 0644 |
|
ftglyph.h | File | 37.78 KB | 0644 |
|
ftgxval.h | File | 13.08 KB | 0644 |
|
ftgzip.h | File | 5.49 KB | 0644 |
|
ftimage.h | File | 73.91 KB | 0644 |
|
ftincrem.h | File | 11.13 KB | 0644 |
|
ftlcdfil.h | File | 12.28 KB | 0644 |
|
ftlist.h | File | 16.36 KB | 0644 |
|
ftlzw.h | File | 4.15 KB | 0644 |
|
ftmac.h | File | 16.69 KB | 0644 |
|
ftmm.h | File | 29.86 KB | 0644 |
|
ftmodapi.h | File | 37.05 KB | 0644 |
|
ftmoderr.h | File | 10.17 KB | 0644 |
|
ftotval.h | File | 7.41 KB | 0644 |
|
ftoutln.h | File | 34.9 KB | 0644 |
|
ftpcfdrv.h | File | 3.68 KB | 0644 |
|
ftpfr.h | File | 6.13 KB | 0644 |
|
ftrender.h | File | 11.05 KB | 0644 |
|
ftsizes.h | File | 9.33 KB | 0644 |
|
ftsnames.h | File | 16.21 KB | 0644 |
|
ftstroke.h | File | 21.78 KB | 0644 |
|
ftsynth.h | File | 4.03 KB | 0644 |
|
ftsystem.h | File | 10.31 KB | 0644 |
|
fttrigon.h | File | 8.23 KB | 0644 |
|
ftttdrv.h | File | 15.13 KB | 0644 |
|
fttypes.h | File | 34.84 KB | 0644 |
|
ftwinfnt.h | File | 10.16 KB | 0644 |
|
t1tables.h | File | 34.21 KB | 0644 |
|
ttnameid.h | File | 58.55 KB | 0644 |
|
tttables.h | File | 44.33 KB | 0644 |
|
tttags.h | File | 5.29 KB | 0644 |
|
ttunpat.h | File | 2.28 KB | 0644 |
|