diff --git a/ChangeLog b/ChangeLog index b7f2e5953..fc0eec981 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2018-06-02 Alexei Podtelezhnikov + + [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 * src/truetype/ttinterp.c (Ins_MIRP): Use SUB_LONG; avoid FT_ABS. diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c index 8ba13195c..afc019842 100644 --- a/src/smooth/ftgrays.c +++ b/src/smooth/ftgrays.c @@ -1767,8 +1767,8 @@ typedef ptrdiff_t FT_PtrDist; 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 @@ typedef ptrdiff_t FT_PtrDist; 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 );