Commit ca947c2551bc247f8829bbe8d9c4df11387269a2

Werner Lemberg 2008-06-16T05:33:51

* src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set `valid->extra2' to 1. This is undocumented in the OpenType 1.5 specification.

diff --git a/ChangeLog b/ChangeLog
index ae62f7f..923e373 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-15  George Williams  <gww@silcom.com>
+
+	* src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
+	`valid->extra2' to 1.  This is undocumented in the OpenType 1.5
+	specification.
+
 2008-06-15  Werner Lemberg  <wl@gnu.org>
 
 	* src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 32d5319..b83101a 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -838,6 +838,10 @@ FT_BEGIN_HEADER
   /*                           descender'.  Only relevant for scalable     */
   /*                           formats.                                    */
   /*                                                                       */
+  /*                           Note that the bounding box might be off by  */
+  /*                           (at least) one pixel for hinted fonts.  See */
+  /*                           @FT_Size_Metrics for further discussion.    */
+  /*                                                                       */
   /*    units_per_EM        :: The number of font units per EM square for  */
   /*                           this face.  This is typically 2048 for      */
   /*                           TrueType fonts, and 1000 for Type 1 fonts.  */
diff --git a/src/otvalid/otvgpos.c b/src/otvalid/otvgpos.c
index 220f714..53025ec 100644
--- a/src/otvalid/otvgpos.c
+++ b/src/otvalid/otvgpos.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    OpenType GPOS table validation (body).                               */
 /*                                                                         */
-/*  Copyright 2002, 2004, 2005, 2006, 2007 by                              */
+/*  Copyright 2002, 2004, 2005, 2006, 2007, 2008 by                        */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -644,7 +644,10 @@
   /*************************************************************************/
   /*************************************************************************/
 
-  /* sets valid->extra2 (0) */
+  /* UNDOCUMENTED (in OpenType 1.5):              */
+  /* BaseRecord tables can contain NULL pointers. */
+
+  /* sets valid->extra2 (1) */
 
   static void
   otv_MarkBasePos_validate( FT_Bytes       table,
@@ -664,7 +667,7 @@
     switch ( PosFormat )
     {
     case 1:
-      valid->extra2 = 0;
+      valid->extra2 = 1;
       OTV_NEST2( MarkBasePosFormat1, BaseArray );
       OTV_RUN( table, valid );
       break;