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