ref: 0039d0120e08bdcbe88dac66f65003d3ed5251b4
parent: c02485cb725f94ea0487351596adc1e3ef8d1ae6
author: Werner Lemberg <[email protected]>
date: Fri Jan 14 14:44:29 EST 2011
[raster] Add undocumented drop-out rule to the other bbox side also. * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement it.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2011-01-13 Werner Lemberg <[email protected]>
+ [raster] Add undocumented drop-out rule to the other bbox side also.
+
+ * src/raster/ftraster.c (Vertical_Sweep_Drop,
+ Horizontal_Sweep_Drop): Implement it.
+
+2011-01-13 Werner Lemberg <[email protected]>
+
[raster] Reduce jitter value.
This catches a rendering problem with glyph `x' from Tahoma at
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -2426,9 +2426,12 @@
}
/* undocumented but confirmed: If the drop-out would result in a */
- /* pixel outside of the bounding box, use the right pixel instead */
+ /* pixel outside of the bounding box, use the pixel inside of the */
+ /* bounding box instead */
if ( pxl < 0 )
pxl = e1;
+ else if ( TRUNC( pxl ) >= ras.bWidth )
+ pxl = e2;
/* check that the other pixel isn't set */
e1 = pxl == e1 ? e2 : e1;
@@ -2606,10 +2609,13 @@
return; /* no drop-out control */
}
- /* undocumented but confirmed: If the drop-out would result in a */
- /* pixel outside of the bounding box, use the top pixel instead */
+ /* undocumented but confirmed: If the drop-out would result in a */
+ /* pixel outside of the bounding box, use the pixel inside of the */
+ /* bounding box instead */
if ( pxl < 0 )
pxl = e1;
+ else if ( TRUNC( pxl ) >= ras.target.rows )
+ pxl = e2;
/* check that the other pixel isn't set */
e1 = pxl == e1 ? e2 : e1;