[base] Speed up emboldening.

* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use `FT_Vector_NormLen'.
This commit is contained in:
Alexei Podtelezhnikov 2015-06-29 22:39:10 -04:00
parent 884e4e67ee
commit 9ef02bd41a
2 changed files with 8 additions and 12 deletions

View File

@ -1,3 +1,9 @@
2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com>
[base] Speed up emboldening.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use `FT_Vector_NormLen'.
2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com>
[base] Implement fast vector normalization.

View File

@ -946,12 +946,7 @@
/* compute incoming normalized vector */
in.x = v_cur.x - v_prev.x;
in.y = v_cur.y - v_prev.y;
l_in = FT_Vector_Length( &in );
if ( l_in )
{
in.x = FT_DivFix( in.x, l_in );
in.y = FT_DivFix( in.y, l_in );
}
l_in = FT_Vector_NormLen( &in );
for ( n = first; n <= last; n++ )
{
@ -963,12 +958,7 @@
/* compute outgoing normalized vector */
out.x = v_next.x - v_cur.x;
out.y = v_next.y - v_cur.y;
l_out = FT_Vector_Length( &out );
if ( l_out )
{
out.x = FT_DivFix( out.x, l_out );
out.y = FT_DivFix( out.y, l_out );
}
l_out = FT_Vector_NormLen( &out );
d = FT_MulFix( in.x, out.x ) + FT_MulFix( in.y, out.y );