/**************************************************************************** * * otvmath.c * * OpenType MATH table validation (body). * * Copyright (C) 2007-2023 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * Written by George Williams. * * 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 "otvalid.h" #include "otvcommn.h" #include "otvgpos.h" /************************************************************************** * * The macro FT_COMPONENT is used in trace mode. It is an implicit * parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log * messages during execution. */ #undef FT_COMPONENT #define FT_COMPONENT … /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** MATH TYPOGRAPHIC CONSTANTS *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ static void otv_MathConstants_validate( FT_Bytes table, OTV_Validator otvalid ) { … } /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** MATH ITALICS CORRECTION *****/ /***** MATH TOP ACCENT ATTACHMENT *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ static void otv_MathItalicsCorrectionInfo_validate( FT_Bytes table, OTV_Validator otvalid, FT_Int isItalic ) { … } /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** MATH KERNING *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ static void otv_MathKern_validate( FT_Bytes table, OTV_Validator otvalid ) { … } static void otv_MathKernInfo_validate( FT_Bytes table, OTV_Validator otvalid ) { … } /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** MATH GLYPH INFO *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ static void otv_MathGlyphInfo_validate( FT_Bytes table, OTV_Validator otvalid ) { … } /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** MATH GLYPH CONSTRUCTION *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ static void otv_GlyphAssembly_validate( FT_Bytes table, OTV_Validator otvalid ) { … } static void otv_MathGlyphConstruction_validate( FT_Bytes table, OTV_Validator otvalid ) { … } static void otv_MathVariants_validate( FT_Bytes table, OTV_Validator otvalid ) { … } /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** MATH TABLE *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ /* sets otvalid->glyph_count */ FT_LOCAL_DEF( void ) otv_MATH_validate( FT_Bytes table, FT_UInt glyph_count, FT_Validator ftvalid ) { … } /* END */