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

Side by Side Diff: third_party/freetype/include/ftotval.h

Issue 1413673003: Update bundled freetype to 2.6.1 (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: DEPS for corpus Created 5 years, 1 month 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 | « third_party/freetype/include/ftmoderr.h ('k') | third_party/freetype/include/ftoutln.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /***************************************************************************/
2 /* */
3 /* ftotval.h */
4 /* */
5 /* FreeType API for validating OpenType tables (specification). */
6 /* */
7 /* Copyright 2004-2007, 2013, 2014 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* */
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 */
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13 /* this file you indicate that you have read the license and */
14 /* understand and accept it fully. */
15 /* */
16 /***************************************************************************/
17
18
19 /***************************************************************************/
20 /* */
21 /* */
22 /* Warning: This module might be moved to a different library in the */
23 /* future to avoid a tight dependency between FreeType and the */
24 /* OpenType specification. */
25 /* */
26 /* */
27 /***************************************************************************/
28
29
30 #ifndef __FTOTVAL_H__
31 #define __FTOTVAL_H__
32
33 #include <ft2build.h>
34 #include FT_FREETYPE_H
35
36 #ifdef FREETYPE_H
37 #error "freetype.h of FreeType 1 has been loaded!"
38 #error "Please fix the directory search order for header files"
39 #error "so that freetype.h of FreeType 2 is found first."
40 #endif
41
42
43 FT_BEGIN_HEADER
44
45
46 /*************************************************************************/
47 /* */
48 /* <Section> */
49 /* ot_validation */
50 /* */
51 /* <Title> */
52 /* OpenType Validation */
53 /* */
54 /* <Abstract> */
55 /* An API to validate OpenType tables. */
56 /* */
57 /* <Description> */
58 /* This section contains the declaration of functions to validate */
59 /* some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). */
60 /* */
61 /* <Order> */
62 /* FT_OpenType_Validate */
63 /* FT_OpenType_Free */
64 /* */
65 /* FT_VALIDATE_OTXXX */
66 /* */
67 /*************************************************************************/
68
69
70 /**********************************************************************
71 *
72 * @enum:
73 * FT_VALIDATE_OTXXX
74 *
75 * @description:
76 * A list of bit-field constants used with @FT_OpenType_Validate to
77 * indicate which OpenType tables should be validated.
78 *
79 * @values:
80 * FT_VALIDATE_BASE ::
81 * Validate BASE table.
82 *
83 * FT_VALIDATE_GDEF ::
84 * Validate GDEF table.
85 *
86 * FT_VALIDATE_GPOS ::
87 * Validate GPOS table.
88 *
89 * FT_VALIDATE_GSUB ::
90 * Validate GSUB table.
91 *
92 * FT_VALIDATE_JSTF ::
93 * Validate JSTF table.
94 *
95 * FT_VALIDATE_MATH ::
96 * Validate MATH table.
97 *
98 * FT_VALIDATE_OT ::
99 * Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).
100 *
101 */
102 #define FT_VALIDATE_BASE 0x0100
103 #define FT_VALIDATE_GDEF 0x0200
104 #define FT_VALIDATE_GPOS 0x0400
105 #define FT_VALIDATE_GSUB 0x0800
106 #define FT_VALIDATE_JSTF 0x1000
107 #define FT_VALIDATE_MATH 0x2000
108
109 #define FT_VALIDATE_OT FT_VALIDATE_BASE | \
110 FT_VALIDATE_GDEF | \
111 FT_VALIDATE_GPOS | \
112 FT_VALIDATE_GSUB | \
113 FT_VALIDATE_JSTF | \
114 FT_VALIDATE_MATH
115
116 /**********************************************************************
117 *
118 * @function:
119 * FT_OpenType_Validate
120 *
121 * @description:
122 * Validate various OpenType tables to assure that all offsets and
123 * indices are valid. The idea is that a higher-level library that
124 * actually does the text layout can access those tables without
125 * error checking (which can be quite time consuming).
126 *
127 * @input:
128 * face ::
129 * A handle to the input face.
130 *
131 * validation_flags ::
132 * A bit field that specifies the tables to be validated. See
133 * @FT_VALIDATE_OTXXX for possible values.
134 *
135 * @output:
136 * BASE_table ::
137 * A pointer to the BASE table.
138 *
139 * GDEF_table ::
140 * A pointer to the GDEF table.
141 *
142 * GPOS_table ::
143 * A pointer to the GPOS table.
144 *
145 * GSUB_table ::
146 * A pointer to the GSUB table.
147 *
148 * JSTF_table ::
149 * A pointer to the JSTF table.
150 *
151 * @return:
152 * FreeType error code. 0~means success.
153 *
154 * @note:
155 * This function only works with OpenType fonts, returning an error
156 * otherwise.
157 *
158 * After use, the application should deallocate the five tables with
159 * @FT_OpenType_Free. A NULL value indicates that the table either
160 * doesn't exist in the font, or the application hasn't asked for
161 * validation.
162 */
163 FT_EXPORT( FT_Error )
164 FT_OpenType_Validate( FT_Face face,
165 FT_UInt validation_flags,
166 FT_Bytes *BASE_table,
167 FT_Bytes *GDEF_table,
168 FT_Bytes *GPOS_table,
169 FT_Bytes *GSUB_table,
170 FT_Bytes *JSTF_table );
171
172 /**********************************************************************
173 *
174 * @function:
175 * FT_OpenType_Free
176 *
177 * @description:
178 * Free the buffer allocated by OpenType validator.
179 *
180 * @input:
181 * face ::
182 * A handle to the input face.
183 *
184 * table ::
185 * The pointer to the buffer that is allocated by
186 * @FT_OpenType_Validate.
187 *
188 * @note:
189 * This function must be used to free the buffer allocated by
190 * @FT_OpenType_Validate only.
191 */
192 FT_EXPORT( void )
193 FT_OpenType_Free( FT_Face face,
194 FT_Bytes table );
195
196 /* */
197
198
199 FT_END_HEADER
200
201 #endif /* __FTOTVAL_H__ */
202
203
204 /* END */
OLDNEW
« no previous file with comments | « third_party/freetype/include/ftmoderr.h ('k') | third_party/freetype/include/ftoutln.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698