1/****************************************************************************
2 *
3 * otvalid.h
4 *
5 * OpenType table validation (specification only).
6 *
7 * Copyright (C) 2004-2023 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#ifndef OTVALID_H_
20#define OTVALID_H_
21
22
23#include <freetype/freetype.h>
24
25#include "otverror.h" /* must come before `ftvalid.h' */
26
27#include <freetype/internal/ftvalid.h>
28#include <freetype/internal/ftstream.h>
29
30
31FT_BEGIN_HEADER
32
33
34 FT_LOCAL( void )
35 otv_BASE_validate( FT_Bytes table,
36 FT_Validator valid );
37
38 /* GSUB and GPOS tables should already be validated; */
39 /* if missing, set corresponding argument to 0 */
40 FT_LOCAL( void )
41 otv_GDEF_validate( FT_Bytes table,
42 FT_Bytes gsub,
43 FT_Bytes gpos,
44 FT_UInt glyph_count,
45 FT_Validator valid );
46
47 FT_LOCAL( void )
48 otv_GPOS_validate( FT_Bytes table,
49 FT_UInt glyph_count,
50 FT_Validator valid );
51
52 FT_LOCAL( void )
53 otv_GSUB_validate( FT_Bytes table,
54 FT_UInt glyph_count,
55 FT_Validator valid );
56
57 /* GSUB and GPOS tables should already be validated; */
58 /* if missing, set corresponding argument to 0 */
59 FT_LOCAL( void )
60 otv_JSTF_validate( FT_Bytes table,
61 FT_Bytes gsub,
62 FT_Bytes gpos,
63 FT_UInt glyph_count,
64 FT_Validator valid );
65
66 FT_LOCAL( void )
67 otv_MATH_validate( FT_Bytes table,
68 FT_UInt glyph_count,
69 FT_Validator ftvalid );
70
71
72FT_END_HEADER
73
74#endif /* OTVALID_H_ */
75
76
77/* END */
78