| OLD | NEW |
| 1 /***************************************************************************/ | 1 /***************************************************************************/ |
| 2 /* */ | 2 /* */ |
| 3 /* ftotval.h */ | 3 /* ftotval.h */ |
| 4 /* */ | 4 /* */ |
| 5 /* FreeType API for validating OpenType tables (specification). */ | 5 /* FreeType API for validating OpenType tables (specification). */ |
| 6 /* */ | 6 /* */ |
| 7 /* Copyright 2004, 2005, 2006, 2007 by */ | 7 /* Copyright 2004-2007, 2013, 2014 by */ |
| 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
| 9 /* */ | 9 /* */ |
| 10 /* This file is part of the FreeType project, and may only be used, */ | 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 */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
| 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
| 13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
| 14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
| 15 /* */ | 15 /* */ |
| 16 /***************************************************************************/ | 16 /***************************************************************************/ |
| 17 | 17 |
| 18 | 18 |
| 19 /***************************************************************************/ | 19 /***************************************************************************/ |
| 20 /* */ | 20 /* */ |
| 21 /* */ | 21 /* */ |
| 22 /* Warning: This module might be moved to a different library in the */ | 22 /* Warning: This module might be moved to a different library in the */ |
| 23 /* future to avoid a tight dependency between FreeType and the */ | 23 /* future to avoid a tight dependency between FreeType and the */ |
| 24 /* OpenType specification. */ | 24 /* OpenType specification. */ |
| 25 /* */ | 25 /* */ |
| 26 /* */ | 26 /* */ |
| 27 /***************************************************************************/ | 27 /***************************************************************************/ |
| 28 | 28 |
| 29 | 29 |
| 30 #ifndef __FTOTVAL_H__ | 30 #ifndef __FTOTVAL_H__ |
| 31 #define __FTOTVAL_H__ | 31 #define __FTOTVAL_H__ |
| 32 | 32 |
| 33 #include "../ft2build.h" | 33 #include <ft2build.h> |
| 34 #include "freetype.h" | 34 #include FT_FREETYPE_H |
| 35 | 35 |
| 36 #ifdef FREETYPE_H | 36 #ifdef FREETYPE_H |
| 37 #error "freetype.h of FreeType 1 has been loaded!" | 37 #error "freetype.h of FreeType 1 has been loaded!" |
| 38 #error "Please fix the directory search order for header files" | 38 #error "Please fix the directory search order for header files" |
| 39 #error "so that freetype.h of FreeType 2 is found first." | 39 #error "so that freetype.h of FreeType 2 is found first." |
| 40 #endif | 40 #endif |
| 41 | 41 |
| 42 | 42 |
| 43 FT_BEGIN_HEADER | 43 FT_BEGIN_HEADER |
| 44 | 44 |
| 45 | 45 |
| 46 /*************************************************************************/ | 46 /*************************************************************************/ |
| 47 /* */ | 47 /* */ |
| 48 /* <Section> */ | 48 /* <Section> */ |
| 49 /* ot_validation */ | 49 /* ot_validation */ |
| 50 /* */ | 50 /* */ |
| 51 /* <Title> */ | 51 /* <Title> */ |
| 52 /* OpenType Validation */ | 52 /* OpenType Validation */ |
| 53 /* */ | 53 /* */ |
| 54 /* <Abstract> */ | 54 /* <Abstract> */ |
| 55 /* An API to validate OpenType tables. */ | 55 /* An API to validate OpenType tables. */ |
| 56 /* */ | 56 /* */ |
| 57 /* <Description> */ | 57 /* <Description> */ |
| 58 /* This section contains the declaration of functions to validate */ | 58 /* This section contains the declaration of functions to validate */ |
| 59 /* some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). */ | 59 /* some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). */ |
| 60 /* */ | 60 /* */ |
| 61 /* <Order> */ |
| 62 /* FT_OpenType_Validate */ |
| 63 /* FT_OpenType_Free */ |
| 64 /* */ |
| 65 /* FT_VALIDATE_OTXXX */ |
| 66 /* */ |
| 61 /*************************************************************************/ | 67 /*************************************************************************/ |
| 62 | 68 |
| 63 | 69 |
| 64 /********************************************************************** | 70 /********************************************************************** |
| 65 * | 71 * |
| 66 * @enum: | 72 * @enum: |
| 67 * FT_VALIDATE_OTXXX | 73 * FT_VALIDATE_OTXXX |
| 68 * | 74 * |
| 69 * @description: | 75 * @description: |
| 70 * A list of bit-field constants used with @FT_OpenType_Validate to | 76 * A list of bit-field constants used with @FT_OpenType_Validate to |
| (...skipping 29 matching lines...) Expand all Loading... |
| 100 #define FT_VALIDATE_JSTF 0x1000 | 106 #define FT_VALIDATE_JSTF 0x1000 |
| 101 #define FT_VALIDATE_MATH 0x2000 | 107 #define FT_VALIDATE_MATH 0x2000 |
| 102 | 108 |
| 103 #define FT_VALIDATE_OT FT_VALIDATE_BASE | \ | 109 #define FT_VALIDATE_OT FT_VALIDATE_BASE | \ |
| 104 FT_VALIDATE_GDEF | \ | 110 FT_VALIDATE_GDEF | \ |
| 105 FT_VALIDATE_GPOS | \ | 111 FT_VALIDATE_GPOS | \ |
| 106 FT_VALIDATE_GSUB | \ | 112 FT_VALIDATE_GSUB | \ |
| 107 FT_VALIDATE_JSTF | \ | 113 FT_VALIDATE_JSTF | \ |
| 108 FT_VALIDATE_MATH | 114 FT_VALIDATE_MATH |
| 109 | 115 |
| 110 /* */ | |
| 111 | |
| 112 /********************************************************************** | 116 /********************************************************************** |
| 113 * | 117 * |
| 114 * @function: | 118 * @function: |
| 115 * FT_OpenType_Validate | 119 * FT_OpenType_Validate |
| 116 * | 120 * |
| 117 * @description: | 121 * @description: |
| 118 * Validate various OpenType tables to assure that all offsets and | 122 * Validate various OpenType tables to assure that all offsets and |
| 119 * indices are valid. The idea is that a higher-level library which | 123 * indices are valid. The idea is that a higher-level library that |
| 120 * actually does the text layout can access those tables without | 124 * actually does the text layout can access those tables without |
| 121 * error checking (which can be quite time consuming). | 125 * error checking (which can be quite time consuming). |
| 122 * | 126 * |
| 123 * @input: | 127 * @input: |
| 124 * face :: | 128 * face :: |
| 125 * A handle to the input face. | 129 * A handle to the input face. |
| 126 * | 130 * |
| 127 * validation_flags :: | 131 * validation_flags :: |
| 128 * A bit field which specifies the tables to be validated. See | 132 * A bit field that specifies the tables to be validated. See |
| 129 * @FT_VALIDATE_OTXXX for possible values. | 133 * @FT_VALIDATE_OTXXX for possible values. |
| 130 * | 134 * |
| 131 * @output: | 135 * @output: |
| 132 * BASE_table :: | 136 * BASE_table :: |
| 133 * A pointer to the BASE table. | 137 * A pointer to the BASE table. |
| 134 * | 138 * |
| 135 * GDEF_table :: | 139 * GDEF_table :: |
| 136 * A pointer to the GDEF table. | 140 * A pointer to the GDEF table. |
| 137 * | 141 * |
| 138 * GPOS_table :: | 142 * GPOS_table :: |
| (...skipping 19 matching lines...) Expand all Loading... |
| 158 */ | 162 */ |
| 159 FT_EXPORT( FT_Error ) | 163 FT_EXPORT( FT_Error ) |
| 160 FT_OpenType_Validate( FT_Face face, | 164 FT_OpenType_Validate( FT_Face face, |
| 161 FT_UInt validation_flags, | 165 FT_UInt validation_flags, |
| 162 FT_Bytes *BASE_table, | 166 FT_Bytes *BASE_table, |
| 163 FT_Bytes *GDEF_table, | 167 FT_Bytes *GDEF_table, |
| 164 FT_Bytes *GPOS_table, | 168 FT_Bytes *GPOS_table, |
| 165 FT_Bytes *GSUB_table, | 169 FT_Bytes *GSUB_table, |
| 166 FT_Bytes *JSTF_table ); | 170 FT_Bytes *JSTF_table ); |
| 167 | 171 |
| 168 /* */ | |
| 169 | |
| 170 /********************************************************************** | 172 /********************************************************************** |
| 171 * | 173 * |
| 172 * @function: | 174 * @function: |
| 173 * FT_OpenType_Free | 175 * FT_OpenType_Free |
| 174 * | 176 * |
| 175 * @description: | 177 * @description: |
| 176 * Free the buffer allocated by OpenType validator. | 178 * Free the buffer allocated by OpenType validator. |
| 177 * | 179 * |
| 178 * @input: | 180 * @input: |
| 179 * face :: | 181 * face :: |
| 180 * A handle to the input face. | 182 * A handle to the input face. |
| 181 * | 183 * |
| 182 * table :: | 184 * table :: |
| 183 * The pointer to the buffer that is allocated by | 185 * The pointer to the buffer that is allocated by |
| 184 * @FT_OpenType_Validate. | 186 * @FT_OpenType_Validate. |
| 185 * | 187 * |
| 186 * @note: | 188 * @note: |
| 187 * This function must be used to free the buffer allocated by | 189 * This function must be used to free the buffer allocated by |
| 188 * @FT_OpenType_Validate only. | 190 * @FT_OpenType_Validate only. |
| 189 */ | 191 */ |
| 190 FT_EXPORT( void ) | 192 FT_EXPORT( void ) |
| 191 FT_OpenType_Free( FT_Face face, | 193 FT_OpenType_Free( FT_Face face, |
| 192 FT_Bytes table ); | 194 FT_Bytes table ); |
| 193 | 195 |
| 194 | 196 /* */ |
| 195 /* */ | |
| 196 | 197 |
| 197 | 198 |
| 198 FT_END_HEADER | 199 FT_END_HEADER |
| 199 | 200 |
| 200 #endif /* __FTOTVAL_H__ */ | 201 #endif /* __FTOTVAL_H__ */ |
| 201 | 202 |
| 202 | 203 |
| 203 /* END */ | 204 /* END */ |
| OLD | NEW |