[comp.lang.postscript] Getting 255 Grey Levels and EOF problems

rab@murdu.oz (Richard Alan Brown) (03/22/89)

We have been having a couple of problems with our Apple LaserWriter Plus
and I was wondering if anyone out there has had the same difficulties:

Firstly, according to the PostScript book (reference manual), the
LaserWriter should produce 255 grey levels with the image operator if the
correct parameters have been supplied. With the default settings, it
seems that in fact you can only get 32 grey levels, yet inspection of the
output suggests that the printer should be able to do much better than
this. Reading the red book, it seems that the actual rendering of grey
levels is done via the setscreen operator, which determines how pixels
are filled in to acheive various levels from black to white.

Has anyone out there figured out how to modify the default setscreen
parameters to get 255 grey levels?

Our other problem concerns the LaserWriter Plus recognising EOF. We have
the printer connected to a Data General MV/8000 (hello! any other poor DG
users out there?). Our print queue is configured to send a ^D character
at the end of each file. Curiously, the LaserWriter generally seems to
ignore this character (though not always), meaning that queued jobs
behind the initial one are flushed by the timeout error that is always
generated.

Has anyone else had this problem? It's driving us crazy!

						thanks in advance,

						Richard Brown
=========================================================================
= Richard Brown					ARPA: rab@murdu.mu.oz.au
= School of Physics
= University of Melbourne
= Parkville 3052
= Australia
=========================================================================

rob@ccsrd11.UUCP (Robert Sleator) (03/25/89)

In article <1597@murdu.oz> rab@murdu.oz (Richard Alan Brown) writes:
>We have been having a couple of problems with our Apple LaserWriter Plus
>and I was wondering if anyone out there has had the same difficulties:
>
>Firstly, according to the PostScript book (reference manual), the
>LaserWriter should produce 255 grey levels with the image operator if the
>correct parameters have been supplied. With the default settings, it
>seems that in fact you can only get 32 grey levels, yet inspection of the
>output suggests that the printer should be able to do much better than
>this. Reading the red book, it seems that the actual rendering of grey
>levels is done via the setscreen operator, which determines how pixels
>are filled in to acheive various levels from black to white.


The number of gray levels you can actually achieve through the halftone screen
mechanism is limited by the number of device pixels that fit in each halftone
cell.  Assume a screen with 60 cells per inch and zero rotation.  On a 300 DPI 
printer this would give 25 device pixels in a cell (300/60 squared), resulting
in 26 possible gray levels ( 0 through 25 pixels turned on).  If the screen is
rotated, the actual cell dimensions are altered slightly, for reasons too
complicated to explain here, and you end up with a few more pixels in the cell
and thus a few more gray levels. 

There are two ways to increase the number of achievable gray levels: increase the
cell size or increase the device resolution.  You can increase the cell size with
the frequency operand of the setscreen operator, the lower the frequency the larger
the cell.  You can increase device resolution by buying a Linotronic.