fixed max advance width computation within T1 driver

This commit is contained in:
David Turner 2002-04-17 09:37:59 +00:00
parent 567caf08f3
commit de23a2670c
3 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-04-17 Michael Jansson <mjan@em2-solutions.com>
* src/type1/t1gload.c (T1_Compute_Max_Advance): fixed a small bug
that prevented the function to return the correct value.
2002-04-16 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
* src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator

View File

@ -11,6 +11,10 @@ LATEST CHANGES BETWEEN 2.1.0 and 2.0.9
to rounding errors. The required vector computation routines have
been optimized and placed within the "ttinterp.c" file.
- Fixed the parsing of accelerator tables in the PCF font driver
- Fixed the Type1 glyph loader routine used to compute the font's
maximum advance width.
II. NEW FEATURES

View File

@ -103,16 +103,20 @@
decoder.subrs = type1->subrs;
decoder.subrs_len = type1->subrs_len;
*max_advance = 0;
/* for each glyph, parse the glyph charstring and extract */
/* the advance width */
for ( glyph_index = 0; glyph_index < type1->num_glyphs; glyph_index++ )
{
/* now get load the unscaled outline */
error = T1_Parse_Glyph( &decoder, glyph_index );
if ( glyph_index == 0 || decoder.builder.advance.x > *max_advance )
*max_advance = decoder.builder.advance.x;
/* ignore the error if one occured - skip to next glyph */
}
*max_advance = decoder.builder.advance.x;
return T1_Err_Ok;
}