EPson EPL-4000 series support - how best to patch?

wookey at aleph1.co.uk wookey at aleph1.co.uk
Mon Nov 1 07:40:16 PST 2004


Hello people. I have an EPL-4100 here. Very old laserprinter which can run in HPLJII compatible mode (or Epson GQ mode or epson LX or FX emulation modes). I always use it in LJII mode for onvenience, but it has one problem - it does not support the vertical and horizontal position commands ESC*p#X and ESC*p#Y. This means that any whitespace drivers attempt to print using this command simply fails to appear so in a plain text document I typically get a page with all the right text on, but no space between lines. Things like maps and webpages usually come out OK as there are no totally blank lines.

There are apps that use the horizontal movement commands and these come out even more broken (indeed it is due to debugging the free-software application 'survex' that I know what is causing this problem).

So. The question is how to support this printer best in CUPS? There is generally no mention of the EPL-4000, 4100 or 4300 in the supported printer lists, but it 'nearly works' so fixing it should not be difficult.

I've hacked up a version of rastertohp (restertoepl) that doesn't use ESC*p#Y to skip blank lines to prove that this is all that's needed. But this is a lot of repeated code. It might be better to allow a 'noVtab' option to rastertohp to support this machine? (I see that that command requires an 'options' field but it is not used. What should be in those options? Is it a sensible place to put this option)?

This probably also needs fixing in the gs HP backend in case people are using that option (as I see that this is also sometimes recomended for HP-alikes. I haven't looked at what might be needed there).

I supect the 'best' fix would be in the firmware of this printer, but that is unfortunately more-or-less impossible.

One other option is to use the GQ mode (epson graphics page printer language), which I think is it's 'native' mode. I have a full spec for the EPL-4300 which is almost identical so this could be done. Is there already something that uses this I could work from? Thing is that's a much bigger job than using 'PCL4 with a couple of commands removed'.

I tried using the LX (LX-2500) emulation mode and got a lot of garbage -  presumably this could be made to work, but I don't suppose it would be very satisfactory resolution-wise.

One thing I am not sure about - does this printer implement a valid version of PCL, one that predated these two commands, or is it just broken? The specs I can find online sugest these two commands have been in PCL since v4 - the version used by the HP LaserJetII. Were they in PCL3? Is this in fact a PCL3-driven printer, in which case is there already an option somewhere for 'only use PCL3 commands' in the various rasterisers?

Clues welcome.

I hope that's all clear. If someone can tell me how best to get support for this printer incorporated, I'll do the necessary patching and testing.

Wookey




More information about the cups mailing list