Summary: | 'restore' doesn't restore distiller parameters | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | Igor Melichev <igor.melichev> |
Component: | PS Interpreter | Assignee: | Ken Sharp <ken.sharp> |
Status: | RESOLVED WONTFIX | ||
Severity: | minor | CC: | christinedelight.top85 |
Priority: | P5 | ||
Version: | master | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Customer: | Word Size: | --- |
Description
Igor Melichev
2004-01-25 02:51:39 UTC
Are there any files that depend of 'restore' restoring distillerparams. Of our test suite, there are limited files that even use setdistillerparams and they all do so in the prefix section before anything is produced/drawn. Until we have a 'real world' example, this will be put at a low priority. No, I do not have a "real world" file that depends on "restore" restoring distiller parameters. But, instead of looking for an INDIVIDUAL file, think what happens with a "PDF print server": (1) An exitserver job establishes defaults that subsequent jobs are supposed to rely upon; (2) A particular job needs some parameters set differently, and calls setdistillerparams to change these; (3) The changes survive the job-level "restore", and become defaults for the next jobs. (4) These "next" jobs will have unintended results, and, worse, one job's result depends on what jobs happen to have been processed before it. (Of course, if each job sets ALL distiller params, and does not depend on any defaults, results are predictable). Bug #687280 that I just added includes a test file for this bug too (not a "real world" one, but one created specifically for testing). (PS: Sorry for responding so late, I have problems with my Internet connection.) OK so there is little real documentation on the setdistillerparams operator, and what there is doesn't make it clear whether this should honour save and restore. The nearest I can find is one of the Distiller Parameters reference where it says 'PostScript language programs that use these operators must not assume that any particular key is present in the dictionary returned by currentdistillerparams, or that setdistillerparams has any particular side effects.' behaviour with save and restore could reasonably be described as a particular side effect. That said, Adobe Acrobat Distiller *does* honour save and restore. Clearly Distiller works in a different fashion to pdfwrite, presumably it consults the current distillerparams dictionary whenever it needs a parameter. Doing this in pdfwrite isn't impossible, but I think it would be horrendously slow and I can't see any other reasonable way to deal with the problem presented here. Now given that its been 9 years since this was reported, and the other 'real' problems relating to this have been fixed, I think its time to be honest and admit we're never going to address this. At least not unless a commercial customer complains a lot. So I'm closing this as 'wontfix', not because its not a bug but because I prefer to be open and admit it. |