🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.postscript
Article #1164

Re: Exploring PostScript's dictionaries

#1164
From: Jos de Bruijne
Date: Mon, 09 Oct 1989 14:36
74 lines
2888 bytes
Last Thursday, when I switched form an Apple Laserwriter to an Agfa P3400PS
Laserprinter I encountered some problems with my program "systemdict.ps"
that I posted a few days ago.

1. The statusdict-integer waittimeout was too small (30): The printer ended 
   with an error-message "timeout".
   To solve this problem I added some lines to my program that increase this
   timeout during the job to 120.

2. When the program encountered a "no access" string, i.e.:
	FontDirectory (dict,r--)
	.   Courier (dict,r--)
	.   .   CharData (string,---)			
   the printerjob ended with:
	%%[ Error: invalidaccess; OffendingCommand: length ]%%
   
   The printer was right about that (isn't he always?): it is illegal to
   read a string that has *no* access at all !
   This problem was solved by adding a few lines that first check the
   keyword to see if it has read-access.


The end of this file is the diff(1) output of the changes I made to 
systemdict.ps . 


One other problem
-----------------
There is one known problem that I wasn't able to solve right now:
The printer might stop the job with an error that looks something like:
	%%[ Fatal system error.... ]%%
I think that is because the printer's memory is full. This might be so for
instance when you use permanently downloaded fonts from TeX (or LaTeX).
Switching the printer off and on again might solve this problem, BUT then
all of your donwloaded stuff is also gone !


If you still find any bugs after you have updated systemdict.ps please
let me know.

			Jos. 


***** the rest of the file is diff(1) output for the systemdict.ps update. *****

77c77
< /LocalDict 27 dict def
---
> /LocalDict 28 dict def
105a106
>   /wto			27 def
186,188c187,191
<     { DictName cvx exec Keyword get } stopped 
<     { ( = \(\?\)) show }
<     { ( = ) show shw } ifelse
---
>     OperandType (stringtype) eq {
>       DictName cvx exec Keyword get rcheck
>       { ( = ) show DictName cvx exec Keyword get shw } if
>     } 
>     { ( = ) show DictName cvx exec Keyword get shw } ifelse
260a264,268
> statusdict begin
>   defaulttimeouts /wto exch def pop pop
>   /waittimeout 120 def
> end
> 
276a285,287
> statusdict begin
>   /waittimeout wto def
> end
279a291,292
> 
> 
Technical Details
Message-ID: <731@prles2.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!gem.mps.ohio-state.edu!apple!bloom-beacon!eru!luth!sunic!mcsun!hp4nl!phigate!prle!prles2!prles3a!debruyne
References: <723@prles2.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!gem.mps.ohio-state.edu!apple!bloom-beacon!eru!luth!sunic!mcsun!hp4nl!phigate!prle!prles2!prles3a!debruyne
From: debruyne@prles3a.prl.philips.nl (Jos de Bruijne)
Newsgroups: comp.lang.postscript
Subject: Re: Exploring PostScript's dictionaries
Message-ID: <731@prles2.UUCP>
Date: 9 Oct 89 14:36:59 GMT
References: <723@prles2.UUCP>
Sender: nobody@prles2.UUCP
Reply-To: debruyne@prles3a.UUCP (Jos de Bruijne)
Organization: Philips Research Laboratories, Eindhoven the Netherlands
Lines: 74