greid@adobe.UUCP (Glenn Reid) (11/05/86)
> >Alas: Does anyone know how to define fonts/symbols on the > >LaswerWriter(+), so the definitions won't be lost at the end of the job. > In order that your definitions are remebered across jobs you must create > them within a dictionary and then use them in the same dictionary e.g. > > /mydict 5 dict def % defines a dictionary called mydict with 5 definitions > mydict begin > % create definitions here > end This is, unfortunately, not true. A PostScript printer has what is called a "server loop", which will completely restore the state of a printer between jobs. The only way to cause definitions to persist across jobs is to make the changes outside the context of this server loop. There is a PostScript operator called "exitserver" which is designed for that purpose, and it requires a password (the default password for most printers is 0, although not for all printers). All you need to do to make a prologue or a font persist across jobs is to put the following line of PostScript at the beginning of the job: %! serverdict begin 0 exitserver where the 0 in this case is the valid exitserver password for this printer. Another way to accomplish this which sometimes makes it easier to change the password is to put the password on the stack first: %! 0000 serverdict begin exitserver They have the same effect. Creating a separate dictionary is frequently a good idea, but in itself is not enough to allow things to persist between jobs. Since the effects of exiting the server loop will be visible to all jobs, it will help insulate these effects to place them into a user-defined dictionary, as mentioned. Glenn Reid Adobe Systems