A recent commit added an optimisation to avoid gpdf pushing
transparency groups around text where it was not needed. This
shows various diffs. Investigating one of these showed that
we were getting differ results when rendering a glyph when
transparency was enabled or not.
Further investigation shows that in the absence of transparency
we were filling the glyph path using traps. With transparency
we were filling the same path using rectangles.
GS uses a 24.8 fixed point system for pixels, hence the centre of
a pixel is at a horizontal coordinate of xxxx.80. If asked to
fill a trap starting at an x position of xxxx.80, the trapezoid code
would consider that centre covered. The rectangle code would,
however, consider that centre uncovered.
Thus the presence or absence of transparency was causing differences
in rendering in some cases.
The fix, implemented here, is to move the rectangle code into line
with the trapezoid code. This will make many small diffs.