shithub: freetype+ttf2subf

Download patch

ref: f0987abdc24b136100656f49ecfe3997869cd93d
parent: 875439cfcec2911d42c8fb98222827534c4ae5d3
author: Werner Lemberg <[email protected]>
date: Thu Oct 28 04:33:28 EDT 2010

[ftraster] Fix rendering.

Problem reported by Tom Bishop <[email protected]>; see
thread starting with

  http://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html

* src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
since the involved multiplication exceeds 32 bits.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-28  Werner Lemberg  <[email protected]>
+
+	[ftraster] Fix rendering.
+
+	Problem reported by Tom Bishop <[email protected]>; see
+	thread starting with
+
+	  http://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
+
+	* src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
+	since the involved multiplication exceeds 32 bits.
+
 2010-10-25  suzuki toshiya  <[email protected]>
 
 	Revert a change of `_idx' type in FTC_CACHE_LOOKUP_CMP().
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -1094,7 +1094,7 @@
         return SUCCESS;
       else
       {
-        x1 += FMulDiv( Dx, ras.precision - f1, Dy );
+        x1 += SMulDiv( Dx, ras.precision - f1, Dy );
         e1 += 1;
       }
     }
@@ -1122,13 +1122,13 @@
 
     if ( Dx > 0 )
     {
-      Ix = SMulDiv( ras.precision, Dx,  Dy);
+      Ix = SMulDiv( ras.precision, Dx, Dy);
       Rx = ( ras.precision * Dx ) % Dy;
       Dx = 1;
     }
     else
     {
-      Ix = SMulDiv( ras.precision, -Dx,  Dy) * -1;
+      Ix = SMulDiv( ras.precision, -Dx, Dy) * -1;
       Rx =    ( ras.precision * -Dx ) % Dy;
       Dx = -1;
     }