fixed a bug that returned an invalid linear width for composite
TrueType glyphs fixed source code to work with the new error scheme implemented by Werner
This commit is contained in:
parent
b3f3210b65
commit
57d4de0e51
|
@ -12,6 +12,13 @@
|
||||||
corrupted transformed glyphs that were auto-hinted (the transform
|
corrupted transformed glyphs that were auto-hinted (the transform
|
||||||
was applied twice).
|
was applied twice).
|
||||||
|
|
||||||
|
* include/internal/tttypes.h, src/truetype/ttgload.c: fixed a bug
|
||||||
|
that returned an invalid linear width for composite TrueType glyphs
|
||||||
|
|
||||||
|
* include/fttypes.h, src/base/ftobjs.c: fixed source code to work
|
||||||
|
with the new error scheme implemented by Werner
|
||||||
|
|
||||||
|
|
||||||
2001-06-07 Werner Lemberg <wl@gnu.org>
|
2001-06-07 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
Updating to libtool 1.4.0 and autoconf 2.50.
|
Updating to libtool 1.4.0 and autoconf 2.50.
|
||||||
|
|
|
@ -509,6 +509,8 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#define FT_IS_EMPTY( list ) ( (list).head == 0 )
|
#define FT_IS_EMPTY( list ) ( (list).head == 0 )
|
||||||
|
|
||||||
|
/* return base error code (without module-specific prefix) */
|
||||||
|
#define FT_ERROR_BASE(x) ((x) & 255)
|
||||||
|
|
||||||
FT_END_HEADER
|
FT_END_HEADER
|
||||||
|
|
||||||
|
|
|
@ -1570,6 +1570,8 @@ FT_BEGIN_HEADER
|
||||||
FT_BBox bbox;
|
FT_BBox bbox;
|
||||||
FT_Int left_bearing;
|
FT_Int left_bearing;
|
||||||
FT_Int advance;
|
FT_Int advance;
|
||||||
|
FT_Int linear;
|
||||||
|
FT_Bool linear_def;
|
||||||
FT_Bool preserve_pps;
|
FT_Bool preserve_pps;
|
||||||
FT_Vector pp1;
|
FT_Vector pp1;
|
||||||
FT_Vector pp2;
|
FT_Vector pp2;
|
||||||
|
|
|
@ -1240,7 +1240,7 @@
|
||||||
if ( !error )
|
if ( !error )
|
||||||
goto Success;
|
goto Success;
|
||||||
|
|
||||||
if ( error != FT_Err_Unknown_File_Format )
|
if ( FT_ERROR_BASE(error) != FT_Err_Unknown_File_Format )
|
||||||
goto Fail2;
|
goto Fail2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2115,7 +2115,7 @@
|
||||||
while ( renderer )
|
while ( renderer )
|
||||||
{
|
{
|
||||||
error = renderer->render( renderer, slot, render_mode, 0 );
|
error = renderer->render( renderer, slot, render_mode, 0 );
|
||||||
if ( !error || error != FT_Err_Cannot_Render_Glyph )
|
if ( !error || FT_ERROR_BASE(error) != FT_Err_Cannot_Render_Glyph )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* FT_Err_Cannot_Render_Glyph is returned if the render mode */
|
/* FT_Err_Cannot_Render_Glyph is returned if the render mode */
|
||||||
|
|
|
@ -514,7 +514,7 @@
|
||||||
while ( renderer )
|
while ( renderer )
|
||||||
{
|
{
|
||||||
error = renderer->raster_render( renderer->raster, params );
|
error = renderer->raster_render( renderer->raster, params );
|
||||||
if ( !error || error != FT_Err_Cannot_Render_Glyph )
|
if ( !error || FT_ERROR_BASE(error) != FT_Err_Cannot_Render_Glyph )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* FT_Err_Cannot_Render_Glyph is returned if the render mode */
|
/* FT_Err_Cannot_Render_Glyph is returned if the render mode */
|
||||||
|
|
|
@ -712,6 +712,12 @@
|
||||||
|
|
||||||
loader->left_bearing = left_bearing;
|
loader->left_bearing = left_bearing;
|
||||||
loader->advance = advance_width;
|
loader->advance = advance_width;
|
||||||
|
|
||||||
|
if ( !loader->linear_def )
|
||||||
|
{
|
||||||
|
loader->linear_def = 1;
|
||||||
|
loader->linear = advance_width;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
offset = face->glyph_locations[index];
|
offset = face->glyph_locations[index];
|
||||||
|
@ -1154,7 +1160,7 @@
|
||||||
/* get the device-independent horizontal advance. It is scaled later */
|
/* get the device-independent horizontal advance. It is scaled later */
|
||||||
/* by the base layer. */
|
/* by the base layer. */
|
||||||
{
|
{
|
||||||
FT_Pos advance = loader->advance;
|
FT_Pos advance = loader->linear;
|
||||||
|
|
||||||
|
|
||||||
/* the flag FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH was introduced to */
|
/* the flag FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH was introduced to */
|
||||||
|
|
|
@ -7390,7 +7390,7 @@
|
||||||
|
|
||||||
#endif /* TT_CONFIG_OPTION_INTERPRETER_SWITCH */
|
#endif /* TT_CONFIG_OPTION_INTERPRETER_SWITCH */
|
||||||
|
|
||||||
if ( CUR.error != TT_Err_Ok )
|
if ( CUR.error != FT_Err_Ok )
|
||||||
{
|
{
|
||||||
switch ( CUR.error )
|
switch ( CUR.error )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue