mirror of https://github.com/freetype/freetype
[sfnt] Improve embedded bitmap tracing.
* src/base/ftobjs.c (FT_Request_Size): Move trace message regarding bitmap strike match to... (FT_Match_Size): This function. * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics, tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png, tt_sbit_decoder_load_image): Decorate with tracing messages.
This commit is contained in:
parent
99e60d840d
commit
a25ecfddba
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2013-06-10 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[sfnt] Improve embedded bitmap tracing.
|
||||
|
||||
* src/base/ftobjs.c (FT_Request_Size): Move trace message regarding
|
||||
bitmap strike match to...
|
||||
(FT_Match_Size): This function.
|
||||
|
||||
* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics,
|
||||
tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
|
||||
tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
|
||||
tt_sbit_decoder_load_image): Decorate with tracing messages.
|
||||
|
||||
2013-06-10 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Fix Savannah bug #39160.
|
||||
|
|
|
@ -2541,6 +2541,8 @@
|
|||
|
||||
if ( w == FT_PIX_ROUND( bsize->x_ppem ) || ignore_width )
|
||||
{
|
||||
FT_TRACE3(( "FT_Match_Size: bitmap strike %d matches\n", i ));
|
||||
|
||||
if ( size_index )
|
||||
*size_index = (FT_ULong)i;
|
||||
|
||||
|
@ -2897,9 +2899,6 @@
|
|||
if ( error )
|
||||
return error;
|
||||
|
||||
FT_TRACE3(( "FT_Request_Size: bitmap strike %lu matched\n",
|
||||
strike_index ));
|
||||
|
||||
return FT_Select_Size( face, (FT_Int)strike_index );
|
||||
}
|
||||
|
||||
|
|
|
@ -374,6 +374,7 @@
|
|||
return FT_Err_Ok;
|
||||
|
||||
Fail:
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_metrics: broken table" ));
|
||||
return FT_THROW( Invalid_Argument );
|
||||
}
|
||||
|
||||
|
@ -425,12 +426,15 @@
|
|||
if ( x_pos < 0 || x_pos + width > bit_width ||
|
||||
y_pos < 0 || y_pos + height > bit_height )
|
||||
{
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_byte_aligned:"
|
||||
" invalid bitmap dimensions\n" ));
|
||||
error = FT_THROW( Invalid_File_Format );
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if ( p + ( ( line_bits + 7 ) >> 3 ) * height > limit )
|
||||
{
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_byte_aligned: broken bitmap\n" ));
|
||||
error = FT_THROW( Invalid_File_Format );
|
||||
goto Exit;
|
||||
}
|
||||
|
@ -491,6 +495,8 @@
|
|||
}
|
||||
|
||||
Exit:
|
||||
if ( !error )
|
||||
FT_TRACE3(( "tt_sbit_decoder_load_byte_aligned: loaded\n" ));
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -562,12 +568,15 @@
|
|||
if ( x_pos < 0 || x_pos + width > bit_width ||
|
||||
y_pos < 0 || y_pos + height > bit_height )
|
||||
{
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_bit_aligned:"
|
||||
" invalid bitmap dimensions\n" ));
|
||||
error = FT_THROW( Invalid_File_Format );
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if ( p + ( ( line_bits * height + 7 ) >> 3 ) > limit )
|
||||
{
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_bit_aligned: broken bitmap\n" ));
|
||||
error = FT_THROW( Invalid_File_Format );
|
||||
goto Exit;
|
||||
}
|
||||
|
@ -647,6 +656,8 @@
|
|||
}
|
||||
|
||||
Exit:
|
||||
if ( !error )
|
||||
FT_TRACE3(( "tt_sbit_decoder_load_bit_aligned: loaded\n" ));
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -675,7 +686,13 @@
|
|||
|
||||
num_components = FT_NEXT_USHORT( p );
|
||||
if ( p + 4 * num_components > limit )
|
||||
{
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_compound: broken table\n" ));
|
||||
goto Fail;
|
||||
}
|
||||
|
||||
FT_TRACE3(( "tt_sbit_decoder_load_compound: loading %d components\n",
|
||||
num_components ));
|
||||
|
||||
for ( nn = 0; nn < num_components; nn++ )
|
||||
{
|
||||
|
@ -691,6 +708,8 @@
|
|||
break;
|
||||
}
|
||||
|
||||
FT_TRACE3(( "tt_sbit_decoder_load_compound: done\n" ));
|
||||
|
||||
decoder->metrics->horiBearingX = horiBearingX;
|
||||
decoder->metrics->horiBearingY = horiBearingY;
|
||||
decoder->metrics->horiAdvance = horiAdvance;
|
||||
|
@ -727,6 +746,7 @@
|
|||
|
||||
if ( limit - p < 4 )
|
||||
{
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_png: broken bitmap\n" ));
|
||||
error = FT_THROW( Invalid_File_Format );
|
||||
goto Exit;
|
||||
}
|
||||
|
@ -734,6 +754,7 @@
|
|||
png_len = FT_NEXT_ULONG( p );
|
||||
if ( (FT_ULong)( limit - p ) < png_len )
|
||||
{
|
||||
FT_TRACE1(( "tt_sbit_decoder_load_png: broken bitmap\n" ));
|
||||
error = FT_THROW( Invalid_File_Format );
|
||||
goto Exit;
|
||||
}
|
||||
|
@ -748,6 +769,8 @@
|
|||
png_len );
|
||||
|
||||
Exit:
|
||||
if ( !error )
|
||||
FT_TRACE3(( "tt_sbit_decoder_load_png: loaded\n" ));
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -1096,6 +1119,10 @@
|
|||
image_end -= image_start;
|
||||
image_start = image_offset + image_start;
|
||||
|
||||
FT_TRACE3(( "tt_sbit_decoder_load_image:"
|
||||
" found sbit (format %d) for glyph index %d\n",
|
||||
image_format, glyph_index ));
|
||||
|
||||
return tt_sbit_decoder_load_bitmap( decoder,
|
||||
load_flags,
|
||||
image_format,
|
||||
|
@ -1108,6 +1135,9 @@
|
|||
return FT_THROW( Invalid_Table );
|
||||
|
||||
NoBitmap:
|
||||
FT_TRACE4(( "tt_sbit_decoder_load_image:"
|
||||
" no sbit found for glyph index %d\n", glyph_index ));
|
||||
|
||||
return FT_THROW( Invalid_Argument );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue