fixed max advance width computation within T1 driver
This commit is contained in:
parent
9928df86f2
commit
11cfdd04a2
|
@ -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>
|
2002-04-16 Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>
|
||||||
|
|
||||||
* src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
|
* src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
|
||||||
|
|
|
@ -11,6 +11,10 @@ LATEST CHANGES BETWEEN 2.1.0 and 2.0.9
|
||||||
to rounding errors. The required vector computation routines have
|
to rounding errors. The required vector computation routines have
|
||||||
been optimized and placed within the "ttinterp.c" file.
|
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
|
II. NEW FEATURES
|
||||||
|
|
||||||
|
|
|
@ -103,16 +103,20 @@
|
||||||
decoder.subrs = type1->subrs;
|
decoder.subrs = type1->subrs;
|
||||||
decoder.subrs_len = type1->subrs_len;
|
decoder.subrs_len = type1->subrs_len;
|
||||||
|
|
||||||
|
*max_advance = 0;
|
||||||
|
|
||||||
/* for each glyph, parse the glyph charstring and extract */
|
/* for each glyph, parse the glyph charstring and extract */
|
||||||
/* the advance width */
|
/* the advance width */
|
||||||
for ( glyph_index = 0; glyph_index < type1->num_glyphs; glyph_index++ )
|
for ( glyph_index = 0; glyph_index < type1->num_glyphs; glyph_index++ )
|
||||||
{
|
{
|
||||||
/* now get load the unscaled outline */
|
/* now get load the unscaled outline */
|
||||||
error = T1_Parse_Glyph( &decoder, glyph_index );
|
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 */
|
/* ignore the error if one occured - skip to next glyph */
|
||||||
}
|
}
|
||||||
|
|
||||||
*max_advance = decoder.builder.advance.x;
|
|
||||||
return T1_Err_Ok;
|
return T1_Err_Ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue