/* */
/* TrueTypeGX/AAT common tables validation (body). */
/* */
-/* Copyright 2004, 2005 by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
+/* Copyright 2004, 2005, 2009, 2010 */
+/* by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
FT_UShort* b )
{
if ( *a < *b )
- return ( -1 );
+ return -1;
else if ( *a > *b )
- return ( 1 );
+ return 1;
else
- return ( 0 );
+ return 0;
}
FT_ULong* b )
{
if ( *a < *b )
- return ( -1 );
+ return -1;
else if ( *a > *b )
- return ( 1 );
+ return 1;
else
- return ( 0 );
+ return 0;
}
if ( UNITSIZE != CORRECTSIZE ) \
{ \
FT_ERROR(( "unitSize=%d differs from" \
- "expected unitSize=%d" \
- "in LookupTable %s", \
+ " expected unitSize=%d" \
+ " in LookupTable %s\n", \
UNITSIZE, CORRECTSIZE, FORMAT )); \
if ( UNITSIZE != 0 && NUNITS != 0 ) \
{ \
}
value = GXV_LOOKUP_VALUE_LOAD( p, valid->lookupval_sign );
- valid->lookupval_func( i, value, valid );
+ valid->lookupval_func( i, &value, valid );
}
valid->subtable_length = p - table;
}
for ( gid = firstGlyph; gid <= lastGlyph; gid++ )
- valid->lookupval_func( gid, value, valid );
+ valid->lookupval_func( gid, &value, valid );
}
gxv_LookupTable_fmt2_skip_endmarkers( p, unitSize, valid );
for ( gid = firstGlyph; gid <= lastGlyph; gid++ )
{
value = valid->lookupfmt4_trans( (FT_UShort)( gid - firstGlyph ),
- base_value,
+ &base_value,
limit,
valid );
- valid->lookupval_func( gid, value, valid );
+ valid->lookupval_func( gid, &value, valid );
}
}
}
prev_glyph = glyph;
- valid->lookupval_func( glyph, value, valid );
+ valid->lookupval_func( glyph, &value, valid );
}
gxv_LookupTable_fmt6_skip_endmarkers( p, unitSize, valid );
{
GXV_LIMIT_CHECK( 2 );
value = GXV_LOOKUP_VALUE_LOAD( p, valid->lookupval_sign );
- valid->lookupval_func( (FT_UShort)( firstGlyph + i ), value, valid );
+ valid->lookupval_func( (FT_UShort)( firstGlyph + i ), &value, valid );
}
valid->subtable_length = p - table;
nnames = FT_Get_Sfnt_Name_Count( valid->face );
for ( i = 0; i < nnames; i++ )
{
- if ( FT_Get_Sfnt_Name( valid->face, i, &name ) != FT_Err_Ok )
+ if ( FT_Get_Sfnt_Name( valid->face, i, &name ) != GXV_Err_Ok )
continue ;
if ( name.name_id == name_index )
if ( NULL != valid->statetable.entry_validate_func )
valid->statetable.entry_validate_func( state,
flags,
- glyphOffset,
+ &glyphOffset,
statetable_table,
statetable_limit,
valid );
static void
gxv_XClassTable_lookupval_validate( FT_UShort glyph,
- GXV_LookupValueDesc value,
+ GXV_LookupValueCPtr value_p,
GXV_Validator valid )
{
FT_UNUSED( glyph );
- if ( value.u >= valid->xstatetable.nClasses )
+ if ( value_p->u >= valid->xstatetable.nClasses )
FT_INVALID_DATA;
- if ( value.u > valid->xstatetable.maxClassID )
- valid->xstatetable.maxClassID = value.u;
+ if ( value_p->u > valid->xstatetable.maxClassID )
+ valid->xstatetable.maxClassID = value_p->u;
}
*/
static GXV_LookupValueDesc
gxv_XClassTable_lookupfmt4_transit( FT_UShort relative_gindex,
- GXV_LookupValueDesc base_value,
+ GXV_LookupValueCPtr base_value_p,
FT_Bytes lookuptbl_limit,
GXV_Validator valid )
{
GXV_LookupValueDesc value;
/* XXX: check range? */
- offset = (FT_UShort)( base_value.u +
+ offset = (FT_UShort)( base_value_p->u +
relative_gindex * sizeof ( FT_UShort ) );
p = valid->lookuptbl_head + offset;
if ( NULL != valid->xstatetable.entry_validate_func )
valid->xstatetable.entry_validate_func( state,
flags,
- glyphOffset,
+ &glyphOffset,
xstatetable_table,
xstatetable_limit,
valid );