ref: 397461947ca6b70e31344c52854da9e8163664bb
parent: 4696dde23d4dd71fc68912004e0db454e122204e
parent: c7e8028f3fef9fa8e29fc346ac08ff8890f7c7e5
author: Werner Lemberg <[email protected]>
date: Mon Jun 20 15:20:50 EDT 2011
Merge branch 'master' of git.sv.gnu.org:/srv/git/freetype/freetype2 Conflicts: ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,16 @@
* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
from 2011-05-04.
+2011-06-19 suzuki toshiya <[email protected]>
+
+ [gxvalid] make the `prop' validation tracing verbose.
+
+ * src/gxvalid/gxvprop.c: Add tracing messages for errors.
+
+2011-06-19 suzuki toshiya <[email protected]>
+
+ [autogen.sh] Reflect environment variable LIBTOOLIZE.
+
2011-06-18 Werner Lemberg <[email protected]>
Update license documentation.
--- a/autogen.sh
+++ b/autogen.sh
@@ -118,9 +118,12 @@
# On MacOS X, the GNU libtool is named `glibtool'.
HOSTOS=`uname`
-LIBTOOLIZE=libtoolize
-if test "$HOSTOS"x = Darwinx; then
+if test "$LIBTOOLIZE"x != x; then
+ :
+elif test "$HOSTOS"x = Darwinx; then
LIBTOOLIZE=glibtoolize
+else
+ LIBTOOLIZE=libtoolize
fi
if test "$ACLOCAL"x = x; then
--- a/src/gxvalid/gxvprop.c
+++ b/src/gxvalid/gxvprop.c
@@ -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,11 +159,17 @@
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 )
{
@@ -161,7 +176,10 @@
/* 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 );