Hash :
ee95b6f0
Author :
Date :
2004-09-10T14:39:00
Adding OpenType validation module. The code is based on the (unfinished) `otlayout' module but has been heavily modified to make it much more compact. * src/otvalid/*: New module. * include/freetype/ftotval.h, src/base/ftotval.c, include/freetype/internal/services/svotval.h: New files. * include/freetype/config/ftmodule.h: Add otv_module_class. * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New macro. * include/freetype/internal/ftserv.h (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro. * include/freetype/internal/fttrace.h (otvmodule, otvcommon, otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components. * include/freetype/ftchapters.h: Updated. * src/base/Jamfile (Library), src/base/descrip.mms (OBJS), src/base/rules.mk (BASE_EXT_SRC): Updated. * docs/CHANGES: Updated.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
/***************************************************************************/
/* */
/* otvalid.h */
/* */
/* OpenType table validation (specification only). */
/* */
/* Copyright 2004 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. */
/* */
/***************************************************************************/
#ifndef __OTVALID_H__
#define __OTVALID_H__
#include <ft2build.h>
#include FT_FREETYPE_H
#include "otverror.h" /* must come before FT_INTERNAL_VALIDATE_H */
#include FT_INTERNAL_VALIDATE_H
#include FT_INTERNAL_STREAM_H
FT_BEGIN_HEADER
FT_LOCAL( void )
otv_BASE_validate( FT_Bytes table,
FT_Validator valid );
/* GSUB and GPOS tables should already be validated; */
/* if missing, set corresponding argument to 0 */
FT_LOCAL( void )
otv_GDEF_validate( FT_Bytes table,
FT_Bytes gsub,
FT_Bytes gpos,
FT_Validator valid );
FT_LOCAL( void )
otv_GPOS_validate( FT_Bytes table,
FT_UInt glyph_count,
FT_Validator valid );
FT_LOCAL( void )
otv_GSUB_validate( FT_Bytes table,
FT_UInt glyph_count,
FT_Validator valid );
/* GSUB and GPOS tables should already be validated; */
/* if missing, set corresponding argument to 0 */
FT_LOCAL( void )
otv_JSTF_validate( FT_Bytes table,
FT_Bytes gsub,
FT_Bytes gpos,
FT_UInt glyph_count,
FT_Validator valid );
FT_END_HEADER
#endif /* __OTVALID_H__ */
/* END */