German "umlauts" missing after cups pstops conversion

Helge Blischke h.blischke at srz.de
Mon Jan 29 05:36:51 PST 2007


Helge Bahmann wrote:
>>>Had some time to investigate further... it works fine with the CUPS-provided drivers, but it fails with the PPD supplied by the printer manufacturer:
>>>
>>>http://www.chaoticmind.net/~hcb/cupsbug/DCP110C.ppd
>>>
>>>I traced the problem down to /usr/lib/cups/filter/pstops. If the program is called with the environment variable PPD=/etc/cups/ppd/DCP110C.ppd it produces mangled postscript (either completely invalid, or missing umlauts); if I call it with e.g. laserjet.ppd it works correctly
>>>
>>>So for some reason cups pstops filter does not like the PPD, however I don't understand what's wrong with it -- what would I need to change to make it acceptable for CUPS? Or maybe just some hint how I could start tracing the problem further down
>>>
>>>Best regards and thanks so far
>>>
>>
>>Are you sure the pstops filter is the culprit?
> 
> 
> yes; the output of the testpage.ps supplied by CUPS can be found here:
> 
>   http://www.chaoticmind.net/~hcb/cupsbug/testpage.ps
> 
> (yes, this is invalid postscript!), and if I feed this into the pstops filter:
> 
>   http://www.chaoticmind.net/~hcb/cupsbug/before-cups.ps
> 
> I get the following result:
> 
>   http://www.chaoticmind.net/~hcb/cupsbug/after-cups.ps
> 
> I made the following HACK: replace the CUPS pstops filter with a shell script that unsets the PPD variable and then calls the real CUPS pstops; afterwards everything prints fine
> 
> 
>>I'd like to see the output of the pstops filter using this PPD
>>(as far as I can see, the PPD is OK, but I don't know what the
>>filter is for that is called by the PPD.
> 
> 
> the filter takes the postscript, renders it into a temporary PPM (via ghostscript) and then sends properly encoded pixel data to the printer; this part of the software was provided by Brother
> 
> If you like and you think it is helpful you can send me test postscript files to feed through the pstops filter
> 
> 
>>Helge
> 
> 
> me too :)
> 

What strikes me is that in the "after" file both the prolog and the setup
section are missing. Instead, the prolog should be untouched, and at the end of
the setup section you should find all the default values from the PPD
(and some more stuff if the job as certain attributes). Might it be that
the line
*DefaultOutputOrder: Reverse
in the PPD causes the trouble?
Try to change it to
*%DefaultOutputOrder: Reverse
to make it to a comment line. If the print then is OK,
file a STR for the pstops filter.

Helge


-- 
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de




More information about the cups mailing list