Path: utzoo!utgpu!water!watmath!clyde!bellcore!rutgers!mailrus!husc6!endor!olson
From: olson@endor.harvard.edu (Eric K. Olson)
Newsgroups: comp.lang.postscript
Subject: Re: Screening Procedures
Message-ID: <4931@husc6.harvard.edu>
Date: 12 Jul 88 14:51:21 GMT
References:  <23038@labrea.Stanford.EDU>
Sender: news@husc6.harvard.edu
Reply-To: olson@endor.UUCP (Eric K. Olson)
Organization: Lexington Software Design, Lexington, MA
Lines: 30

In a recent article Steve Cole writes:
>In section 9.2 of the green book, on pattern fills, it says:
>"Since the halftone screen is intended to be set once and forgotten,
>much of the overhead is done when setscreen is invoked.
>Even if only one gray level is needed, they may all be computed (by
>calling the spot function as many times as necessary to build each
>possible halftone cell)."
>So PostScript wants to compute 256 (one for each gray level) copies of
>your new halftone screen, one for each of the 256 possible gray levels.
>This requires a lot of memory. For a 300 dot per inch printer, defining
>a halftone screen that was one inch square would require 300x300x256
>bits, or almost 3 megabytes. This is particularly annoying if you don't
>want to do halftoning, but are using setscreen to do a pattern fill.
>In that case only one of the 256 gray levels will ever be used. That is
>why the green book doesn't advocate using setscreen for pattern fills.

PostScript might just save the absolute order of turning on the pixels in
the pattern, since each heavier pattern contains the entire pattern from
the lighter weights.  This would produce the same outward behavior as saving
the pattern for each of 256 weights.  Also, it would seem that there can
be more than 256 weights, since the 8-bit (maximum) data is passed through
a floating-point transfer function before being screened.

Perhaps someone from Adobe could enlighten us all?

-Eric
          Lexington Software Design:  Tomorrow's Software Yesterday

Eric K. Olson     olson@endor.harvard.edu     harvard!endor!olson     D0760
   (Name)                (ArpaNet)                 (UseNet)        (AppleLink)