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