[base] Fix broken emboldening at small sizes.

* src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to
normalize zero-length vectors.
2.6.5
Alexei Podtelezhnikov 12 years ago
parent f41ee05475
commit 610ee58e07
  1. 7
      ChangeLog
  2. 14
      src/base/ftoutln.c

@ -1,3 +1,10 @@
2013-01-23 Alexei Podtelezhnikov <apodtele@gmail.com>
[base] Fix broken emboldening at small sizes.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to
normalize zero-length vectors.
2013-01-25 Werner Lemberg <wl@gnu.org>
Fix Savannah bug #38167.

@ -942,8 +942,11 @@
in.x = v_cur.x - v_prev.x;
in.y = v_cur.y - v_prev.y;
l_in = FT_Vector_Length( &in );
in.x = FT_DivFix( in.x, l_in );
in.y = FT_DivFix( in.y, l_in );
if ( l_in )
{
in.x = FT_DivFix( in.x, l_in );
in.y = FT_DivFix( in.y, l_in );
}
for ( n = first; n <= last; n++ )
{
@ -956,8 +959,11 @@
out.x = v_next.x - v_cur.x;
out.y = v_next.y - v_cur.y;
l_out = FT_Vector_Length( &out );
out.x = FT_DivFix( out.x, l_out );
out.y = FT_DivFix( out.y, l_out );
if ( l_out )
{
out.x = FT_DivFix( out.x, l_out );
out.y = FT_DivFix( out.y, l_out );
}
d = FT_MulFix( in.x, out.x ) + FT_MulFix( in.y, out.y );

Loading…
Cancel
Save