[comp.lang.postscript] Document Structuring Conventions

moore@VEGA.FAC.CS.CMU.EDU (Dale Moore) (04/14/88)

I've a question about dictionary sizes, prologues and structuring
conventions, and excruciatingly correct PostScript.

Most PostScript prologues add definitions to the current dictionary.
Usually the current dictionary is the userdict dictionary.

Since the size of userdict is implementation dependent, it may be
considered bad style to assume that userdict is large enough to hold
all of the definitions in the prologue.  But when a PostScript program
is to be included into other PostScript programs, the current dictionary
of a prologue environment might not be the userdict dictionary.  It is
a bad assumption that the current dictionary is large enough to hold all
the definitions in the prologue of the included file.

The normal way around this problem is to place another dictionary on
the dictionary stack, at the beginning of the prologue, that is large
enough to hold all of the definitions encountered in the prologue.
The dictionary can then be removed from the stack in the trailer of the
document.

Does this scheme violate the Document Structuring Convention?
It would appear to me as it does, since the prologue is to contain
only definitions, and nothing must be executed in the prologue.
By modifying the dictionary stack, we've definitely executed something.

Or is there a simpler way around the problem?  Responses to me,
as I'm not on the mailing list.  I will summarize responses.

Dale Moore
Computer Science
Carnegie Mellon University