German "umlauts" missing after cups pstops conversion

Helge Bahmann hcb at chaoticmind.net
Mon Jan 29 03:48:59 PST 2007


> > 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 :)





More information about the cups-devel mailing list