Comment 38 for bug 361772

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

Lars, the problem is that if JCL options are member options of a composite option (not forced, in our case "PrintoutMode"), they loose their "*JCLOpenUI:"..."*JCLCloseUI:". This removes all evidence that they are JCL options from them and so they are considered PostScript options. This makes foomatic-rip converting the PDF job into PostScript (using Ghostscript with "pswrite") and after that Ghostscript is called again with the "pxlmono" driver, triggering Ghostscript upstream bug #690025 (the bug causing the squares).

What has to be done is either

- Keep the "*JCLOpenUI:"..."*JCLCloseUI:" in the options even if they are member options of a composite options, but check whether foomatic-rip still works correctly with them, also whether cupstestppd does not choke on the "FromPrintoutMode" choice whose code is not correct PJL, and whether pstops or pdftopdf do not insert "%% FoomaticRIPOptionSetting: FastRes=@PrintoutMode" into the PJL header.

or

- If one of the problems mentioned above happens, return to the old Foomatic-keyword-based scheme of JCL options for the case that a JCL option is member option of a composite option.

This does not occur for forced composite options (in our case "PrinterResolution"), as they are completely based on Foomatic keywords.

Here are the broken JCL options of the PPD file for the HP LaserJet 1200 with pxlmono (PPD from Fran Burstall or HP-LaserJet-1200-2.ppd from Christoph):

*OpenUI *FastRes/Fast Res.: PickOne
*OrderDependency: 100 AnySetup *FastRes
*DefaultFastRes: FromPrintoutMode
*FastRes FromPrintoutMode/Controlled by 'Printout Mode': "%% FoomaticRIPOptionSetting: FastRes=@PrintoutMode"
*FastRes Off/Off: "@PJL SET BITSPERPIXEL=1<0A>"
*FastRes On/On: "@PJL SET BITSPERPIXEL=2<0A>"
*CloseUI: *FastRes

*OpenUI *Economode/Toner Saving: PickOne
*OrderDependency: 100 AnySetup *Economode
*DefaultEconomode: FromPrintoutMode
*Economode FromPrintoutMode/Controlled by 'Printout Mode': "%% FoomaticRIPOptionSetting: Economode=@PrintoutMode"
*Economode Off/Off: "@PJL SET ECONOMODE=OFF<0A>"
*Economode On/On: "@PJL SET ECONOMODE=ON<0A>"
*CloseUI: *Economode