8208ff01128d775acc81e4b7f8677c9ffb67ec7f
[platform/upstream/freetype2.git] / src / otvalid / otvalid.h
1 /****************************************************************************
2  *
3  * otvalid.h
4  *
5  *   OpenType table validation (specification only).
6  *
7  * Copyright (C) 2004-2020 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 */