31#include FT_SFNT_NAMES_H
41#define FT_COMPONENT trace_gxvjust
66#define GXV_JUST_DATA( a ) GXV_TABLE_DATA( just, a )
75 if ( gid < gxvalid->
face->num_glyphs )
78 GXV_TRACE((
"just table includes too large %s"
79 " GID=%d > %d (in maxp)\n",
92#ifdef GXV_LOAD_UNUSED_VARS
104#ifndef GXV_LOAD_UNUSED_VARS
105 p += 4 + 4 + 4 + 4 + 2 + 2;
116 if ( ( justClass & 0xFFFFFF80UL ) != 0 )
118 GXV_TRACE((
"just table includes non-zero value"
119 " in unused justClass higher bits"
120 " of WidthDeltaPair" ));
162 if (
limit <= wdc_end )
165 for (
i = 0;
p <= wdc_end;
i++ )
186#ifdef GXV_LOAD_UNUSED_VARS
197#ifdef GXV_LOAD_UNUSED_VARS
204 if ( lowerLimit >= upperLimit )
206 GXV_TRACE((
"just table includes invalid range spec:"
207 " lowerLimit(%d) > upperLimit(%d)\n" ));
211 for (
i = 0;
i < decomposedCount;
i++ )
249#ifdef GXV_LOAD_UNUSED_VARS
257#ifdef GXV_LOAD_UNUSED_VARS
265 if ( addGlyph != 0xFFFF )
294 if ( variantsAxis != 0x64756374L )
295 GXV_TRACE((
"variantsAxis 0x%08x is non default value",
298 if ( minimumLimit > noStretchValue )
299 GXV_TRACE((
"type4:minimumLimit 0x%08x > noStretchValue 0x%08x\n",
300 minimumLimit, noStretchValue ));
301 else if ( noStretchValue > maximumLimit )
302 GXV_TRACE((
"type4:noStretchValue 0x%08x > maximumLimit 0x%08x\n",
303 noStretchValue, maximumLimit ));
326 GXV_TRACE((
"type5: nonzero value 0x%04x in unused flags\n",
354 if ( ( actionClass & 0xFF80 ) != 0 )
357 if ( actionType == 0 )
359 else if ( actionType == 1 )
361 else if ( actionType == 2 )
363 else if ( actionType == 3 )
365 else if ( actionType == 4 )
367 else if ( actionType == 5 )
390 GXV_TRACE((
"actionCount = %d\n", actionCount ));
392 for (
i = 0;
i < actionCount;
i++ )
472#ifdef GXV_LOAD_UNUSED_VARS
486#ifndef GXV_LOAD_UNUSED_VARS
515 GXV_TRACE((
" justClassTable: coverage = 0x%04x (%s) ", coverage ));
516 if ( ( coverage & 0x4000 ) == 0 )
521 if ( subFeatureFlags )
522 GXV_TRACE((
" justClassTable: nonzero value (0x%08x)"
523 " in unused subFeatureFlags\n", subFeatureFlags ));
604 GXV_TRACE((
" (justClassTableOffset = 0x%04x)\n", justClassTableOffset ));
605 GXV_TRACE((
" (wdcTableOffset = 0x%04x)\n", wdcTableOffset ));
606 GXV_TRACE((
" (pcTableOffset = 0x%04x)\n", pcTableOffset ));
610 "just_LookupTable", odtect );
612 if ( wdcTableOffset )
615 gxvalid->
root->base + wdcTableOffset,
limit, gxvalid );
628 if ( justClassTableOffset )
631 gxvalid->
root->base + justClassTableOffset,
limit, gxvalid );
666 gxvalid->
root = ftvalid;
670 FT_TRACE3((
"validating `just' table\n" ));
681 "just header", odtect );
694 GXV_TRACE((
" (horizOffset = %d)\n", horizOffset ));
695 GXV_TRACE((
" (vertOffset = %d)\n", vertOffset ));
699 if ( 0 < horizOffset )
703 "horizJustData", odtect );
706 if ( 0 < vertOffset )
710 "vertJustData", odtect );
static const WCHAR version[]
#define FT_TRACE3(varformat)
#define FT_TRACE4(varformat)
#define FT_NEXT_USHORT(buffer)
#define FT_NEXT_LONG(buffer)
#define FT_NEXT_ULONG(buffer)
#define FT_INVALID_FORMAT
#define FT_INVALID_OFFSET
typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile * FT_Validator
#define FT_INVALID_GLYPH_ID
GLuint GLuint GLsizei count
GLenum GLuint GLint GLenum face
GLuint GLsizei GLsizei * length
GLuint GLdouble GLdouble GLint GLint order
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
gxv_StateTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
gxv_LookupTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
gxv_odtect_add_range(FT_Bytes start, FT_ULong length, const FT_String *name, GXV_odtect_Range odtect)
gxv_odtect_validate(GXV_odtect_Range odtect, GXV_Validator gxvalid)
#define GXV_ODTECT(n, odtect)
#define GXV_NAME_ENTER(name)
#define GXV_SET_ERR_IF_PARANOID(err)
#define GXV_ODTECT_INIT(odtect)
@ GXV_LOOKUPVALUE_UNSIGNED
#define IS_PARANOID_VALIDATION
#define GXV_LIMIT_CHECK(_count)
static void gxv_just_justData_lookuptable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_check_max_gid(FT_UShort gid, const FT_String *msg_tag, GXV_Validator gxvalid)
struct GXV_just_DataRec_ GXV_just_DataRec
static void gxv_just_actSubrecord_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
struct GXV_just_DataRec_ * GXV_just_Data
static void gxv_just_pcLookupTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_wdcTable_LookupValue_validate(FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator gxvalid)
static void gxv_just_actSubrecord_type2_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_classTable_entry_validate(FT_Byte state, FT_UShort flags, GXV_StateTable_GlyphOffsetCPtr glyphOffset_p, FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_actSubrecord_type1_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
gxv_just_validate(FT_Bytes table, FT_Face face, FT_Validator ftvalid)
static void gxv_just_actSubrecord_type0_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_justData_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_pcActionRecord_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_wdc_entry_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_widthDeltaClusters_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_actSubrecord_type4_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_postcompTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_pcTable_LookupValue_entry_validate(FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator gxvalid)
static void gxv_just_wdp_entry_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_actSubrecord_type5_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static void gxv_just_justClassTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
static UINT UINT LPWORD glyphs
GXV_StateTable_Entry_Validate_Func entry_validate_func
GXV_StateTable_Subtable_Setup_Func subtable_setup_func
GXV_GlyphOffset_Format entry_glyphoffset_fmt
GXV_StateTable_OptData_Load_Func optdata_load_func
GXV_StateTable_ValidatorRec statetable
GXV_Lookup_Value_Validate_Func lookupval_func
GXV_LookupValue_SignSpec lookupval_sign