From 610ee58e07090ead529849b2a454bb6c503b4995 Mon Sep 17 00:00:00 2001 From: Alexei Podtelezhnikov Date: Fri, 25 Jan 2013 23:33:00 -0500 Subject: [base] Fix broken emboldening at small sizes. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to normalize zero-length vectors. --- ChangeLog | 7 +++++++ src/base/ftoutln.c | 14 ++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index c06065ce6..a3da50573 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2013-01-23 Alexei Podtelezhnikov + + [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 Fix Savannah bug #38167. diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c index 72d3c5a1c..0efd88bca 100644 --- a/src/base/ftoutln.c +++ b/src/base/ftoutln.c @@ -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 ); -- cgit v1.2.1