[gnu.ghostscript.bug] bug in 'scale' operator

ghost@SUN.COM (L. Peter Deutsch) (03/28/89)

There is a bug in the 'scale' operator that manifests itself only
when scaling in a rotated or skewed coordinate system.  The fix is to
replace the indicated two lines of the gs_scale procedure in
gscoord.c:

int
gs_scale(gs_state *pgs, floatp sx, floatp sy)
{	pgs->ctm.xx *= sx;
!	pgs->ctm.xy *= sx;
!	pgs->ctm.yx *= sy;
	pgs->ctm.yy *= sy;
...etc...

Thanks to Lou Katz for contributing the test case (the SIGGRAPH logo)
that uncovered this.

		- P. D.

		aladdin!ghost@parcplace.com
		...{sun!}parcplace!aladdin!ghost
		P. O. box 60264, Palo Alto, CA 94306