* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
overlapping segments. Bug reported by Stefan Koch.
This commit is contained in:
parent
ad83071620
commit
9b15ea341c
|
@ -1,3 +1,8 @@
|
||||||
|
2006-09-29 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
|
||||||
|
overlapping segments. Bug reported by Stefan Koch.
|
||||||
|
|
||||||
2006-09-28 David Turner <david@freetype.org>
|
2006-09-28 David Turner <david@freetype.org>
|
||||||
|
|
||||||
* include/freetype/internal/ftobjs.h, src/truetype/ttobjs.c,
|
* include/freetype/internal/ftobjs.h, src/truetype/ttobjs.c,
|
||||||
|
|
|
@ -1095,13 +1095,18 @@
|
||||||
for ( i = max ; i > 0; i-- )
|
for ( i = max ; i > 0; i-- )
|
||||||
{
|
{
|
||||||
FT_UInt prev_end;
|
FT_UInt prev_end;
|
||||||
|
FT_Byte* old_p;
|
||||||
|
|
||||||
|
|
||||||
|
old_p = p;
|
||||||
p = cmap->data + 14 + ( i - 1 ) * 2;
|
p = cmap->data + 14 + ( i - 1 ) * 2;
|
||||||
prev_end = TT_PEEK_USHORT( p );
|
prev_end = TT_PEEK_USHORT( p );
|
||||||
|
|
||||||
if ( charcode > prev_end )
|
if ( charcode > prev_end )
|
||||||
|
{
|
||||||
|
p = old_p;
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
end = prev_end;
|
end = prev_end;
|
||||||
p += 2 + num_segs2;
|
p += 2 + num_segs2;
|
||||||
|
|
Loading…
Reference in New Issue