From ca947c2551bc247f8829bbe8d9c4df11387269a2 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Mon, 16 Jun 2008 05:33:51 +0000 Subject: [PATCH] * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set `valid->extra2' to 1. This is undocumented in the OpenType 1.5 specification. --- ChangeLog | 6 ++++++ include/freetype/freetype.h | 4 ++++ src/otvalid/otvgpos.c | 9 ++++++--- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ae62f7ff2..923e373c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-06-15 George Williams + + * 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 * src/base/ftcalc.c (FT_MulFix) : Protect registers correctly diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 32d531945..b83101a67 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 220f714a9..53025ec5e 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;