Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 169 of file otvgpos.c.
Referenced by otv_PairPos_validate(), otv_PairSet_validate(), and otv_SinglePos_validate().
{ FT_Bytes p = table; FT_UInt count; #ifdef FT_DEBUG_LEVEL_TRACE FT_Int loop; FT_ULong res = 0; OTV_NAME_ENTER( "ValueRecord" ); /* display `format' in dual representation */ for ( loop = 7; loop >= 0; loop-- ) { res <<= 4; res += ( format >> loop ) & 1; } OTV_TRACE(( " (format 0b%08lx)\n", res )); #endif if ( format >= 0x100 ) FT_INVALID_FORMAT; for ( count = 4; count > 0; count-- ) { if ( format & 1 ) { /* XPlacement, YPlacement, XAdvance, YAdvance */ OTV_LIMIT_CHECK( 2 ); p += 2; } format >>= 1; } for ( count = 4; count > 0; count-- ) { if ( format & 1 ) { FT_PtrDist table_size; OTV_OPTIONAL_TABLE( device ); /* XPlaDevice, YPlaDevice, XAdvDevice, YAdvDevice */ OTV_LIMIT_CHECK( 2 ); OTV_OPTIONAL_OFFSET( device ); /* XXX: this value is usually too small, especially if the current */ /* ValueRecord is part of an array -- getting the correct table */ /* size is probably not worth the trouble */ table_size = p - valid->extra3; OTV_SIZE_CHECK( device ); if ( device ) otv_Device_validate( valid->extra3 + device, valid ); } format >>= 1; } OTV_EXIT; }