* src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
correctly. Reported as Savannah bug #17843.
This commit is contained in:
parent
110246c641
commit
e20df4a167
|
@ -1,3 +1,8 @@
|
|||
2006-09-26 David Bustin
|
||||
|
||||
* src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
|
||||
correctly. Reported as Savannah bug #17843.
|
||||
|
||||
2006-09-26 David Turner <david@freetype.org>
|
||||
|
||||
* src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
|
||||
|
|
|
@ -476,13 +476,14 @@
|
|||
goto Exit;
|
||||
|
||||
{
|
||||
FT_UInt count = item->pair_count;
|
||||
FT_UInt size = item->pair_size;
|
||||
FT_UInt power = (FT_UInt)ft_highpow2( (FT_UInt32)count );
|
||||
FT_UInt probe = power * size;
|
||||
FT_UInt extra = count - power;
|
||||
FT_Byte* base = stream->cursor;
|
||||
FT_Bool twobytes = FT_BOOL( item->flags & 1 );
|
||||
FT_UInt count = item->pair_count;
|
||||
FT_UInt size = item->pair_size;
|
||||
FT_UInt power = (FT_UInt)ft_highpow2( (FT_UInt32)count );
|
||||
FT_UInt probe = power * size;
|
||||
FT_UInt extra = count - power;
|
||||
FT_Byte* base = stream->cursor;
|
||||
FT_Bool twobytes = FT_BOOL( item->flags & 1 );
|
||||
FT_Bool twobyte_adj = FT_BOOL( item->flags & 2 );
|
||||
FT_Byte* p;
|
||||
FT_UInt32 cpair;
|
||||
|
||||
|
@ -500,7 +501,13 @@
|
|||
goto Found;
|
||||
|
||||
if ( cpair < pair )
|
||||
{
|
||||
if ( twobyte_adj )
|
||||
p += 2;
|
||||
else
|
||||
p++;
|
||||
base = p;
|
||||
}
|
||||
}
|
||||
|
||||
while ( probe > size )
|
||||
|
@ -533,7 +540,7 @@
|
|||
|
||||
|
||||
Found:
|
||||
if ( item->flags & 2 )
|
||||
if ( twobyte_adj )
|
||||
value = FT_PEEK_SHORT( p );
|
||||
else
|
||||
value = p[0];
|
||||
|
|
Loading…
Reference in New Issue