Article View: comp.lang.postscript
Article #1164Re: Exploring PostScript's dictionaries
From: Jos de Bruijne
Date: Mon, 09 Oct 1989 14:36
Date: Mon, 09 Oct 1989 14:36
74 lines
2888 bytes
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!debruyneReferences:
<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