* src/truetype/ttpload.c(tt_face_load_loca): Fix mismatch warning.
This commit is contained in:
parent
6e3fee0b54
commit
01caf4a7a9
|
@ -1,3 +1,7 @@
|
|||
2011-03-23 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/truetype/ttpload.c(tt_face_load_loca): Fix mismatch warning.
|
||||
|
||||
2011-03-20 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts.
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* TrueType-specific tables loader (body). */
|
||||
/* */
|
||||
/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by */
|
||||
/* Copyright 1996-2002, 2004-2011 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -110,15 +110,16 @@
|
|||
face->num_locations = table_len >> shift;
|
||||
}
|
||||
|
||||
if ( face->num_locations != (FT_ULong)face->root.num_glyphs )
|
||||
if ( face->num_locations != (FT_ULong)face->root.num_glyphs + 1 )
|
||||
{
|
||||
FT_TRACE2(( "glyph count mismatch! loca: %d, maxp: %d\n",
|
||||
face->num_locations, face->root.num_glyphs ));
|
||||
face->num_locations - 1, face->root.num_glyphs ));
|
||||
|
||||
/* we only handle the case where `maxp' gives a larger value */
|
||||
if ( face->num_locations < (FT_ULong)face->root.num_glyphs )
|
||||
if ( face->num_locations <= (FT_ULong)face->root.num_glyphs )
|
||||
{
|
||||
FT_Long new_loca_len = (FT_Long)face->root.num_glyphs << shift;
|
||||
FT_Long new_loca_len =
|
||||
( (FT_Long)( face->root.num_glyphs ) + 1 ) << shift;
|
||||
|
||||
TT_Table entry = face->dir_tables;
|
||||
TT_Table limit = entry + face->num_tables;
|
||||
|
@ -145,7 +146,7 @@
|
|||
|
||||
if ( new_loca_len <= dist )
|
||||
{
|
||||
face->num_locations = face->root.num_glyphs;
|
||||
face->num_locations = face->root.num_glyphs + 1;
|
||||
table_len = new_loca_len;
|
||||
|
||||
FT_TRACE2(( "adjusting num_locations to %d\n",
|
||||
|
|
Loading…
Reference in New Issue