shithub: freetype+ttf2subf

Download patch

ref: ca947c2551bc247f8829bbe8d9c4df11387269a2
parent: ad83e05b3798d95d2a52d9707489560ea263f619
author: Werner Lemberg <[email protected]>
date: Mon Jun 16 01:33:51 EDT 2008

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

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-15  George Williams  <[email protected]>
+
+	* 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  <[email protected]>
 
 	* src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -838,6 +838,10 @@
   /*                           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.  */
--- 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,8 +644,11 @@
   /*************************************************************************/
   /*************************************************************************/
 
-  /* 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,
                             OTV_Validator  valid )
@@ -664,7 +667,7 @@
     switch ( PosFormat )
     {
     case 1:
-      valid->extra2 = 0;
+      valid->extra2 = 1;
       OTV_NEST2( MarkBasePosFormat1, BaseArray );
       OTV_RUN( table, valid );
       break;