Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!pasteur!agate!bionet!csd4.milw.wisc.edu!leah!rpi!batcomputer!cornell!rochester!pt.cs.cmu.edu!spice.cs.cmu.edu!jwz From: jwz@spice.cs.cmu.edu (Jamie Zawinski) Newsgroups: comp.lang.postscript Subject: dictfull?? Message-ID: <4242@pt.cs.cmu.edu> Date: 10 Feb 89 03:47:36 GMT Organization: Carnegie-Mellon University, CS/RI Lines: 30 I've written a document production system that generates PostScript. The PostScript that it produces is of the form () word where "word" is a procedure that moves to XY and drops the string in the current font. (Actually, it's more sophisticated than that, but you get the general idea.) Now, for large documents, I get the error "dictfull, flushing job", and I have no idea what dictionary is filling up. Even when a document contains a large number of font changes, I am calling findfont/makefont/scalefont as few times as possible - when I switch to a font for the first time, I stuff the scaled font object into a variable, and when I want to switch to it again, I use the object that I saved. (This was not always the case - I used to call findfont each time, but started caching in an attempt to fix the dictfull error). The function that drops words down on the page sets variables. So the only thing I can think of is that executing "/foo 0 def" over and over again makes the dictionary grow - but that doesn't make a whole lot of sense. Has anyone encountered anything like this? Does anyone have any suggestions as to how I can debug it? Like, how can I tell exactly *which* dictionary is filling up? Maybe then I could write code to print the contents of the dictionary and see what's in it... Jamie Zawinski jwz@spice.cs.cmu.edu sun!sunpitt!eti!jwz --