cupsys doesn't process postscript features

Bug #222602 reported by FriedChicken
12
Affects Status Importance Assigned to Milestone
OpenOffice
Invalid
Unknown
brother-cups-wrapper-extra (Ubuntu)
Incomplete
Low
Unassigned
cupsys (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

OpenOffice.org 2.4 doesn't pass printer-specific arguments (color or grayscale, quality ... depending in the printer PPD-file) to the printer driver. The only argument that is passed is the paper size.

Revision history for this message
Saivann Carignan (oxmosys) wrote :

I can't confirm this behavior with a HP Photosmart C6180. Changing color to greyscale works as expected.

Revision history for this message
FriedChicken (domlyons) wrote :

I've tried this on several Systems including Dapper Drake with OOo 2.0.
Every tested version of OOo has this problem but neither KDE- nor Gnome-applications.

Normally the printer options should be forwarded to the cups filter (specified in the PPD file) as arg $5. But OOo doesn't do this. So this problem only affects printer who need a cups filter.
I'll attach one of the tested PPDs.

Changed in openoffice.org:
status: New → Confirmed
Revision history for this message
FriedChicken (domlyons) wrote :
Revision history for this message
FriedChicken (domlyons) wrote :

It's curious ...

OOo passes *some* arguments but not all. I tried it again using the driver for Brother MFC-885CW. I changed every of the 16 options I could change, but only 4 of them were passed. The log file says:
> arg5 = PageSize=A4 Resolution=Fine BRColorMediaType=BrotherGlossy MirrorPrint=ON job-uuid=urn:uuid:a6ab5bd6-e799-39cc-6e2c-f1fc9b58bc20
What's about the other 12 options?

I'll add the PPD file but I don't think it's a problem of some PPDs.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

FriedChicken, check also whether some of the options get executed by OOo inserting their PostScript code into the PostScript data stream.

Revision history for this message
FriedChicken (domlyons) wrote :

Yes, they are all inserted into the PS code:
%%BeginSetup
%
[{
%%IncludeFeature: *PageSize A4
} stopped cleartomark
[{
%%IncludeFeature: *Resolution Fine
} stopped cleartomark
[{
%%IncludeFeature: *BRMonoColor BrMono
} stopped cleartomark
[{
%%IncludeFeature: *BRColorMediaType BrotherGlossy
} stopped cleartomark
   [...]
%%IncludeFeature: *BRSlowDrying ON
} stopped cleartomark
%%EndSetup

But this is useless for cups filters (not only them from Brother), because they expect to get the options as arg $5. And every application (KDE and Gnome/GTK) does this as expected, but OOo not.

Revision history for this message
FriedChicken (domlyons) wrote :

@ Chris Cheney

Are you really sure this is a problem of cupsys? I'm not ...
There should be no need for a cups filter to look into the PS file. And every application else than OOo handles this right by passing the correct options.

Revision history for this message
FriedChicken (domlyons) wrote :

A workaround is it to use kprinter as pseudo-printer and set the options in the kprinter dialog. That's not really satisfying but shows that this is a bug in OOo and not CUPS.

Revision history for this message
Chris Cheney (ccheney) wrote :

FriedChicken,

As you yourself showed in the resulting postscript it set options that should have been parsed by cupsys. Now maybe you could argue that openoffice.org should also send those options directly to cupsys, but cupsys should also know how to print proper postscript documents sent to it.

Chris

Revision history for this message
FriedChicken (domlyons) wrote :

No, cupsys has not to parse the PS file. PS printers should, but CUPS filters (that are used by non-PS printers) don't necessarily need to. So it's a OOo bug.

Changed in openoffice.org:
status: New → Confirmed
Revision history for this message
Chris Cheney (ccheney) wrote :

FriedChicken,

So does cupsys pass the postscript as generated by OpenOffice.org directly to the printer? OpenOffice.org sends postscript as its print format (will be changing to PDF soon) to cupsys which then converts the postscript into whatever format that the print can understand so yes cupsys probably should be intrepeting the options being sent to it in postscript.

Chris

Revision history for this message
Chris Cheney (ccheney) wrote :

Till,

Feel free to weigh in on this discussion, I am be no means a printing expert, but it seems cupsys should be processing these options?

Chris

Revision history for this message
FriedChicken (domlyons) wrote :

I'm no printer expert, too, and weren't shure. But now I took a look into the CUPS documentation:
   filter - cups file conversion filter interface
   Synopsis
   <filter> job user title num-copies options [ filename ]
from: http://cups.org/documentation.php/man-lpadmin.html (or man filter)

So the options-argument is not optional and OOo has to pass this argument. If OOo uses lp or lpr each option hast to be passed as "-o=option1".

Till, please correct me, if I'm wrong.

Revision history for this message
Chris Cheney (ccheney) wrote :

Well even with the options passing as documented by cupsys to be used, it would be at least a wishlist bug if not more for cupsys to also properly parse options from postscript files sent to it, since it otherwise processes the postscript file before actually sending it to the printer.

Chris

Chris Cheney (ccheney)
Changed in openoffice.org:
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Usually the CUPS filter which converts PostScript into another format (for most drivers pstoraster or foomatic-rip) is supposed to read out the option settings embedded in the PostScript data stream. For the HP Photosmart C6180 the foomatic-rip filter is used and therefore the problem does not occur. For the Brother printers Brother's proprietary drivers are used. The CUPS wrappers (/usr/lib/cups/filter/brlpd*) do not read option settings from the PostScript input stream. The filters /usr/Brother/lpd/filter* and /usr/Brother/lpd/psconvert* pass the PostScript inout directly into Ghostscript, without parsing option settings which are embedded. So all embedded options without active PostScript code to control Ghostscript get ignored. This is a bug in Brother's drivers.

There is definitely no CUPS bug.

Changed in cupsys:
status: Confirmed → Invalid
Revision history for this message
Chris Cheney (ccheney) wrote :

Reassigning this bug to brother-cups-wrapper-common, not sure which Brother package it really belongs on.

Changed in openoffice.org:
importance: Medium → Undecided
status: Triaged → New
Changed in openoffice:
status: Unknown → Invalid
Revision history for this message
Thomas Hotz (thotz-deactivatedaccount) wrote :

Yes in brother-cups-wrapper-common there is the ppd file for this printer. Marking to confirmed.

Changed in brother-cups-wrapper-extra (Ubuntu):
status: New → Confirmed
Revision history for this message
penalvch (penalvch) wrote :

FriedChicken, thank you for reporting this bug to Ubuntu. Dapper Desktop reached EOL on July 14, 2009.
See this document for currently supported Ubuntu releases: https://wiki.ubuntu.com/Releases

We were wondering if this is still an issue in a supported release? If so, could you please execute the following via a terminal as it will automatically gather and attach updated debug information to this report:

apport-collect -p brother-cups-wrapper-extra 222602

Changed in brother-cups-wrapper-extra (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.