ref: 0ddc2fe2aeca1e1d4ed84492113d7b05782da3fd
dir: /src/base/ftotval.c/
/***************************************************************************/ /* */ /* ftotval.c */ /* */ /* FreeType API for validating OpenType tables (body). */ /* */ /* Copyright 2004, 2006, 2008 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ #include <ft2build.h> #include FT_INTERNAL_OBJECTS_H #include FT_SERVICE_OPENTYPE_VALIDATE_H #include FT_OPENTYPE_VALIDATE_H /* documentation is in ftotval.h */ FT_EXPORT_DEF( FT_Error ) FT_OpenType_Validate( FT_Face face, FT_UInt validation_flags, FT_Bytes *BASE_table, FT_Bytes *GDEF_table, FT_Bytes *GPOS_table, FT_Bytes *GSUB_table, FT_Bytes *JSTF_table ) { FT_Service_OTvalidate service; FT_Error error; if ( !face ) { error = FT_Err_Invalid_Face_Handle; goto Exit; } if ( !( BASE_table && GDEF_table && GPOS_table && GSUB_table && JSTF_table ) ) { error = FT_Err_Invalid_Argument; goto Exit; } FT_FACE_FIND_GLOBAL_SERVICE( face, service, OPENTYPE_VALIDATE ); if ( service ) error = service->validate( face, validation_flags, BASE_table, GDEF_table, GPOS_table, GSUB_table, JSTF_table ); else error = FT_Err_Unimplemented_Feature; Exit: return error; } FT_EXPORT_DEF( void ) FT_OpenType_Free( FT_Face face, FT_Bytes table ) { FT_Memory memory = FT_FACE_MEMORY( face ); FT_FREE( table ); } /* END */