Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!haven!umd5!butt From: butt@umd5.umd.edu (Edgar Butt) Newsgroups: comp.lang.postscript Subject: Postscript Bug Message-ID: <4571@umd5.umd.edu> Date: 1 Mar 89 21:15:48 GMT Organization: University of Maryland, College Park Lines: 69 I have found a bizarre bug in Postscript 47.0 on a Laserwriter II NT. Is this a known bug? Is there is a rom update available from Apple? Does it occur on other printers or versions? I sent a table genereated by TeX to a Laserwriter II NT (Postscript version 47.0) and noticed that line segments forming the vertical rules were slightly out of alignment. Experimentation determined that the horizontal position of a line segment (rectangle) was affected by its vertical dimension. The same result was obtained on a second Laserwriter II NT. The same postscript file produced perfectly aligned rules on a Laserwriter Plus (Postscript 38.0) and on a DEC PrintServer 40 (Postscript 48.1). Below is a short Postscript program to illustrate the problem. It generates eight pairs of joined vertical line segments. The leftmost four pairs are out of alignment by one pixel, the rest are not. The bottom eight line segments are all 88 pixels high. The top line segments vary from 73 to 80 pixels high. Between 76 and 77 pixels, the horizontal alignment changes. ----- Postscript Program Follows ----- %! /resolution 300 def % Try 288, 299, 301 for different results. /Mtrx 6 array def % Save the CTM gsave 72 resolution div dup neg scale 0 resolution 11 mul neg translate newpath 892 1249 moveto 2 0 rlineto 0 -72 rlineto -2 0 rlineto closepath fill 892 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 992 1249 moveto 2 0 rlineto 0 -73 rlineto -2 0 rlineto closepath fill 992 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 1092 1249 moveto 2 0 rlineto 0 -74 rlineto -2 0 rlineto closepath fill 1092 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 1192 1249 moveto 2 0 rlineto 0 -75 rlineto -2 0 rlineto closepath fill 1192 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 1292 1249 moveto 2 0 rlineto 0 -76 rlineto -2 0 rlineto closepath fill 1292 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 1392 1249 moveto 2 0 rlineto 0 -77 rlineto -2 0 rlineto closepath fill 1392 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 1492 1249 moveto 2 0 rlineto 0 -78 rlineto -2 0 rlineto closepath fill 1492 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 1592 1249 moveto 2 0 rlineto 0 -79 rlineto -2 0 rlineto closepath fill 1592 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill 1692 1249 moveto 2 0 rlineto 0 -80 rlineto -2 0 rlineto closepath fill 1692 1336 moveto 2 0 rlineto 0 -88 rlineto -2 0 rlineto closepath fill % The damage is done, the rest is for information Mtrx currentmatrix grestore /Times-Roman findfont 12 scalefont setfont 72 288 moveto (Resolution is ) show resolution 10 string cvs show 72 252 moveto (Transform is ) show Mtrx 0 get 10 string cvs show (, ) show Mtrx 1 get 10 string cvs show (, ) show Mtrx 2 get 10 string cvs show (, ) show Mtrx 3 get 10 string cvs show (, ) show Mtrx 4 get 10 string cvs show (, ) show Mtrx 5 get 10 string cvs show 72 216 moveto (Postscript version ) show version show showpage ----- Postscript Program Precedes ----- Edgar Butt (301) 454-2946 butt@umd2.umd.edu