Comment 26 for bug 1184665

Revision history for this message
In , Htl10 (htl10) wrote :

(In reply to comment #8)
> The poster of the Ubuntu bug tells that the HPLIP PCL 5e driver (in his
> special case HPIJS via Foomatic/hpoijs-pcl5e) solves all his problems with
> Brother printers): short-edge duplex, duplex control via PostScript
> (-dDuplex, -dTumble) and a margin problem which he reported in another
> Ubuntu bug.
>
> So we should perhaps look into the output of the HPLIP driver to make
> ljet4/ljet4d more universally working.

I think I re-opened a bug report a while ago where some options in PCL were being reset wrongly between postscript and the driver - basically it should only go in one direction, but it was allowing the driver's default to override the incoming options, or some such.

Anyway, as Henry said the easiest way to go forward, if you have *one* driver which does the correct thing, is to capture the output and analyse what it does.

Assuming you have a.pcl from one driver, and b.pcl from another driver, you can build the pcl interpreter ("pcl6" but does both pcl 5 & 6) from ghostpdl in debug mode (run "./autogen.sh && ./configure && make pcl-debug" then look for "main/debugobj/pcl6" as the final outcome binary). Run this:

  pcl6 -ZI a.pcl

would gives you a textual dump of what it contains, between the actual content.
It should be human-readable enough for you to see some difference.

(The -Z* options only work in debug builds - hence even if ubuntu ships ghostpdl's pcl6, that binary would be of no use to this task).