1 /****************************************************************************
5 * FreeType API for validating TrueTypeGX/AAT tables (body).
7 * Copyright (C) 2004-2020 by
8 * Masatake YAMATO, Redhat K.K,
9 * David Turner, Robert Wilhelm, and Werner Lemberg.
11 * This file is part of the FreeType project, and may only be used,
12 * modified, and distributed under the terms of the FreeType project
13 * license, LICENSE.TXT. By continuing to use, modify, or distribute
14 * this file you indicate that you have read the license and
15 * understand and accept it fully.
19 /****************************************************************************
21 * gxvalid is derived from both gxlayout module and otvalid module.
22 * Development of gxlayout is supported by the Information-technology
23 * Promotion Agency(IPA), Japan.
28 #include <freetype/internal/ftdebug.h>
30 #include <freetype/internal/ftobjs.h>
31 #include <freetype/internal/services/svgxval.h>
34 /* documentation is in ftgxval.h */
36 FT_EXPORT_DEF( FT_Error )
37 FT_TrueTypeGX_Validate( FT_Face face,
38 FT_UInt validation_flags,
39 FT_Bytes tables[FT_VALIDATE_GX_LENGTH],
40 FT_UInt table_length )
42 FT_Service_GXvalidate service;
48 error = FT_THROW( Invalid_Face_Handle );
54 error = FT_THROW( Invalid_Argument );
58 FT_FACE_FIND_GLOBAL_SERVICE( face, service, GX_VALIDATE );
61 error = service->validate( face,
66 error = FT_THROW( Unimplemented_Feature );
74 FT_TrueTypeGX_Free( FT_Face face,
83 memory = FT_FACE_MEMORY( face );
89 FT_EXPORT_DEF( FT_Error )
90 FT_ClassicKern_Validate( FT_Face face,
91 FT_UInt validation_flags,
92 FT_Bytes *ckern_table )
94 FT_Service_CKERNvalidate service;
100 error = FT_THROW( Invalid_Face_Handle );
106 error = FT_THROW( Invalid_Argument );
110 FT_FACE_FIND_GLOBAL_SERVICE( face, service, CLASSICKERN_VALIDATE );
113 error = service->validate( face,
117 error = FT_THROW( Unimplemented_Feature );
124 FT_EXPORT_DEF( void )
125 FT_ClassicKern_Free( FT_Face face,
134 memory = FT_FACE_MEMORY( face );