ccmarie@uqvax.cc.uq.oz.au (Marie Bultreys) (10/11/90)
I am having problems trying to print halftone patterns (the program is reproduced below) on an Autologic APS-PS typesetter, at 1016dpi, with default screen frequency set to 100, and default angle to 45. The file prints okay on a LaserWriter II NTX (defaults 60 and 45), but just hangs on the typesetter. By deleting sections of the program I found that it will print up to the point: gsave 75 45 {1} setscreen 5 coarse_fountain grestore It just won't do another coarse_fountain after this. If I change the 75 to one of the other numbers (say 100), that works fine too. Is it running out of memory, or is there an infinite loop somewhere? I would appreciate any help. Marie Bultreys Printice Computer Centre The University of Queensland ccmarie@uqvax.cc.uq.edu.au Brisbane Australia 4072 ===================================== cut here ================================= %!PS by Danny Thomas /start-time usertime def /Helvetica findfont 8 scalefont setfont /black 0.0 def /white 1.0 def /1- {1 sub } bind def /dup21 {1 index 1 index} bind def /drop21 {pop pop } bind def /xd {exch def } bind def /str {20 string} def /wid 20 def /gap 3 def /total 10 def /grid wid gap add def /square { /s exch def newpath moveto s 0 rlineto 0 s rlineto s neg 0 rlineto 0 s neg rlineto closepath } bind def /show-gray-label { gsave dup21 moveto -25 8 rmoveto currentgray 100 mul cvi 100 div str cvs black setgray show grestore } bind def /coarse_fountain { /col xd col grid mul 150 add 80 0 1 total { total div setgray dup21 wid square gsave fill grestore gsave black setgray 0.2 setlinewidth stroke grestore col 0 eq {show-gray-label} if grid add } for gsave translate 0 0 moveto 90 rotate 0 -13 rmoveto black setgray currentscreen drop21 100 mul cvi 100 div str cvs show grestore } bind def gsave currentscreen 3 -1 roll pop 60 3 1 roll setscreen 0 coarse_fountain grestore gsave currentscreen 3 -1 roll pop 75 3 1 roll setscreen 1 coarse_fountain grestore gsave currentscreen 3 -1 roll pop 100 3 1 roll setscreen 2 coarse_fountain grestore gsave currentscreen 3 -1 roll pop 150 3 1 roll setscreen 3 coarse_fountain grestore gsave currentscreen 3 -1 roll pop 157 3 1 roll setscreen 4 coarse_fountain grestore gsave 75 45 {1} setscreen 5 coarse_fountain grestore gsave 100 45 {1} setscreen 6 coarse_fountain grestore gsave 150 45 {1} setscreen 7 coarse_fountain grestore gsave 157 45 {1} setscreen 8 coarse_fountain grestore gsave 75 45 {1 eq exch 1 eq and {1} {0} ifelse} setscreen 9 coarse_fountain grestore gsave 100 45 {1 eq exch 1 eq and {1} {0} ifelse} setscreen 10 coarse_fountain grestore gsave 150 45 {1 eq exch 1 eq and {1} {0} ifelse} setscreen 11 coarse_fountain grestore gsave 157 45 {1 eq exch 1 eq and {1} {0} ifelse} setscreen 12 coarse_fountain grestore usertime start-time sub 1000 div 30 30 moveto /Helvetica findfont 9 scalefont setfont (Time: ) show 20 string cvs show /statusdict where { statusdict /product known { 280 30 moveto statusdict /product get show } if } if showpage