ref: fcd47b3d3e41a7ee4dd6e675a83b18c59b1e9f04
parent: faa3c88254fa13e780b813f69c05fa20d90af9eb
author: Alexei Podtelezhnikov <[email protected]>
date: Sun Feb 12 18:07:29 EST 2017
* src/smooth/ftgrays.c (gray_sweep): Improve code.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-12 Alexei Podtelezhnikov <[email protected]>
+
+ * src/smooth/ftgrays.c (gray_sweep): Improve code.
+
2017-02-06 Werner Lemberg <[email protected]>
[truetype] Implement `VVAR' table support.
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -568,9 +568,6 @@
/* Note that if a cell is to the left of the clipping region, it is */
/* actually set to the (min_ex-1) horizontal position. */
- /* All cells that are on the left of the clipping region go to the */
- /* min_ex - 1 horizontal position. */
-
if ( ex < ras.min_ex )
ex = ras.min_ex - 1;
@@ -1304,21 +1301,18 @@
for ( y = ras.min_ey; y < ras.max_ey; y++ )
{
PCell cell = ras.ycells[y - ras.min_ey];
- TCoord cover = 0;
TCoord x = ras.min_ex;
+ TArea cover = 0;
+ TArea area;
for ( ; cell != NULL; cell = cell->next )
{
- TArea area;
-
-
if ( cover != 0 && cell->x > x )
- gray_hline( RAS_VAR_ x, y, (TArea)cover * ( ONE_PIXEL * 2 ),
- cell->x - x );
+ gray_hline( RAS_VAR_ x, y, cover, cell->x - x );
- cover += cell->cover;
- area = (TArea)cover * ( ONE_PIXEL * 2 ) - cell->area;
+ cover += (TArea)cell->cover * ( ONE_PIXEL * 2 );
+ area = cover - cell->area;
if ( area != 0 && cell->x >= ras.min_ex )
gray_hline( RAS_VAR_ cell->x, y, area, 1 );
@@ -1327,8 +1321,7 @@
}
if ( cover != 0 )
- gray_hline( RAS_VAR_ x, y, (TArea)cover * ( ONE_PIXEL * 2 ),
- ras.max_ex - x );
+ gray_hline( RAS_VAR_ x, y, cover, ras.max_ex - x );
}
FT_TRACE7(( "gray_sweep: end\n" ));