Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!SUN.COM!parcplace!aladdin!ghost From: parcplace!aladdin!ghost@SUN.COM (L. Peter Deutsch) Newsgroups: gnu.ghostscript.bug Subject: bug in 'scale' operator Message-ID: <8903272257.0.UUL1.3#5127@aladdin.UUCP> Date: 28 Mar 89 05:57:30 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 21 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