1 /****************************************************************************
2  *
3  * otvalid.h
4  *
5  *   OpenType table validation (specification only).
6  *
7  * Copyright (C) 2004-2021 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 
31 FT_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 
72 FT_END_HEADER
73 
74 #endif /* OTVALID_H_ */
75 
76 
77 /* END */
78