forked from minhngoc25a/freetype2
[gxvalid] make the `prop' validation tracing verbose.
* src/gxvalid/gxvprop.c: Add tracing messages for errors.
This commit is contained in:
parent
c63c6f7265
commit
c7e8028f3f
|
@ -1,3 +1,9 @@
|
|||
2011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
[gxvalid] make the `prop' validation tracing verbose.
|
||||
|
||||
* src/gxvalid/gxvprop.c: Add tracing messages for errors.
|
||||
|
||||
2011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
[autogen.sh] Reflect environment variable LIBTOOLIZE.
|
||||
|
|
|
@ -96,7 +96,10 @@
|
|||
|
||||
if ( glyph->advance.x != (FT_Pos)0 ||
|
||||
glyph->advance.y != (FT_Pos)0 )
|
||||
{
|
||||
GXV_TRACE(( " found non-zero advance in zero-advance glyph\n" ));
|
||||
FT_INVALID_DATA;
|
||||
}
|
||||
|
||||
GXV_EXIT;
|
||||
}
|
||||
|
@ -119,7 +122,10 @@
|
|||
|
||||
offset = (FT_UShort)( property & GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET );
|
||||
if ( offset == 0 )
|
||||
FT_INVALID_DATA;
|
||||
{
|
||||
GXV_TRACE(( " found zero offset to property\n" ));
|
||||
FT_INVALID_OFFSET;
|
||||
}
|
||||
|
||||
complement = (char)( offset >> 8 );
|
||||
if ( complement & 0x08 )
|
||||
|
@ -131,7 +137,10 @@
|
|||
|
||||
/* The gid for complement must be greater than 0 */
|
||||
if ( glyph <= complement )
|
||||
{
|
||||
GXV_TRACE(( " found non-positive glyph complement\n" ));
|
||||
FT_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -150,18 +159,27 @@
|
|||
if ( property & GXV_PROP_ATTACHING_TO_RIGHT )
|
||||
{
|
||||
if ( GXV_PROP_DATA( version ) == 0x00010000UL )
|
||||
{
|
||||
GXV_TRACE(( " found older version (1.0) in new version table\n" ));
|
||||
FT_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
if ( property & GXV_PROP_RESERVED )
|
||||
{
|
||||
GXV_TRACE(( " found non-zero bits in reserved bits\n" ));
|
||||
FT_INVALID_DATA;
|
||||
}
|
||||
|
||||
if ( ( property & GXV_PROP_DIRECTIONALITY_CLASS ) > 11 )
|
||||
{
|
||||
/* TODO: Too restricted. Use the validation level. */
|
||||
if ( GXV_PROP_DATA( version ) == 0x00010000UL ||
|
||||
GXV_PROP_DATA( version ) == 0x00020000UL )
|
||||
{
|
||||
GXV_TRACE(( " found too old version in directionality class\n" ));
|
||||
FT_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -264,16 +282,26 @@
|
|||
format = FT_NEXT_USHORT( p );
|
||||
defaultProp = FT_NEXT_USHORT( p );
|
||||
|
||||
GXV_TRACE(( " version 0x%08x\n", version ));
|
||||
GXV_TRACE(( " format 0x%04x\n", format ));
|
||||
GXV_TRACE(( " defaultProp 0x%04x\n", defaultProp ));
|
||||
|
||||
/* only versions 1.0, 2.0, 3.0 are defined (1996) */
|
||||
if ( version != 0x00010000UL &&
|
||||
version != 0x00020000UL &&
|
||||
version != 0x00030000UL )
|
||||
{
|
||||
GXV_TRACE(( " found unknown version\n" ));
|
||||
FT_INVALID_FORMAT;
|
||||
}
|
||||
|
||||
|
||||
/* only formats 0x0000, 0x0001 are defined (1996) */
|
||||
if ( format > 1 )
|
||||
{
|
||||
GXV_TRACE(( " found unknown format\n" ));
|
||||
FT_INVALID_FORMAT;
|
||||
}
|
||||
|
||||
gxv_prop_property_validate( defaultProp, 0, valid );
|
||||
|
||||
|
|
Loading…
Reference in New Issue