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