shithub: freetype+ttf2subf

Download patch

ref: ae248034106b600e8e3fa9ccc17f63db44b04db3
parent: 67994e8221b4ffa6bfd24075c64f8af618ca9495
author: Alexei Podtelezhnikov <[email protected]>
date: Sat Jun 2 17:42:44 EDT 2018

[smooth] Attempt to mitigate bug #54019.

The robust rendering of estra large glyphs came with unbearable cost.
The old way of bisecting should fail but fail faster.

* src/smooth/ftgrays.c (gray_convert_glyph): Switch back to bisecting
in y-direction.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2018-06-02  Alexei Podtelezhnikov  <[email protected]>
+
+	[smooth] Attempt to mitigate bug #54019.
+
+	The robust rendering of estra large glyphs came with unbearable cost.
+	The old way of bisecting should fail but fail faster.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Switch back to bisecting
+	in y-direction.
+
 2018-06-02  Werner Lemberg  <[email protected]>
 
 	* src/truetype/ttinterp.c (Ins_MIRP): Use SUB_LONG; avoid FT_ABS.
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -1767,8 +1767,8 @@
       ras.max_ey = FT_MIN( y, yMax );
 
       band    = bands;
-      band[1] = xMin;
-      band[0] = xMax;
+      band[1] = ras.min_ey;
+      band[0] = ras.max_ey;
 
       do
       {
@@ -1780,8 +1780,8 @@
 
         ras.num_cells = 0;
         ras.invalid   = 1;
-        ras.min_ex    = band[1];
-        ras.max_ex    = band[0];
+        ras.min_ey    = band[1];
+        ras.max_ey    = band[0];
 
         error = gray_convert_glyph_inner( RAS_VAR );