Commit 3d7b1d55287e79efb5249ea1a921684ed9484da6

Werner Lemberg 2005-06-01T15:30:44

* src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from 2004-07-11; this gives much better results under normal circumstances.

diff --git a/ChangeLog b/ChangeLog
index 31780be..593e4ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-06-01  Adam D. Moss  <adam@gimp.org>
+
+	* src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from
+	2004-07-11; this gives much better results under normal
+	circumstances.
+
 2005-05-30  Chia I Wu  <b90201047@ntu.edu.tw>
 
 	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor
diff --git a/src/base/ftstroke.c b/src/base/ftstroke.c
index 2d8ff7b..26ff215 100644
--- a/src/base/ftstroke.c
+++ b/src/base/ftstroke.c
@@ -868,7 +868,7 @@
   {
     FT_StrokeBorder  border = stroker->borders + side;
     FT_Angle         phi, theta, rotate;
-    FT_Fixed         length, thcos;
+    FT_Fixed         length, thcos, sigma;
     FT_Vector        delta;
     FT_Error         error = 0;
 
@@ -884,10 +884,11 @@
 
     phi = stroker->angle_in + theta;
 
-    thcos  = FT_Cos( theta );
+    thcos = FT_Cos( theta );
+    sigma = FT_MulFix( stroker->miter_limit, thcos );
 
     /* TODO: find better criterion to switch off the optimization */
-    if ( thcos < 0x4000 )
+    if ( sigma < 0x10000L )
     {
       FT_Vector_From_Polar( &delta, stroker->radius,
                             stroker->angle_out + rotate );