I got a new printer-scanner recently. It is Brother MFC-L8850CDW multifunction centre. The hardware seems to be working very well. The manufacturer provides a Linux version (a PPD file) of the printer driver for this device. However, unlike the printer drivers for earlier models manufactured by Brother, the printer driver for this particular model does not integrate well with Ubuntu print dialogue.
This is a screenshot of the print dialogue that opens from Evince 3.10.3, the default PDF viewer of Ubuntu 14.04.
The two-sided (duplex) print option is disabled. The selection of paper type, paper source, output tray and page ordering are all disabled in the "Page Setup" tab above. However, the "Advanced" tab below shows the duplex printing option, paper type, paper source and many other options that can be selected by a user:
I have determined, mostly by trial and error, that the duplex printing, paper source and other options are disabled in the "Page Setup" tab due to the use of non-standard keywords in the PPD printer driver file.
For example, this is a section of the PPD file that deals with duplex printing:
*%=== BRDuplex ================================ *OpenUI *BRDuplex/Two-Sided: PickOne *OrderDependency: 25 AnySetup *BRDuplex *DefaultBRDuplex: None *BRDuplex DuplexTumble/Short-Edge Binding: " " *BRDuplex DuplexNoTumble/Long-Edge Binding: " " *BRDuplex None/Off: " " *CloseUI: *BRDuplex
If I replace all instances of the non-standard keyword BRDuplex with the standard keyword Duplex, the duplex option appears just fine in the "Page Setup" tab of the print dialogue.
Replacing BRInputSlot with InputSlot fixes the problem with the Paper Source option. Replacing BRMediaType with MediaType fixes the problem with the Paper Type option, and so on and so forth.
However, replacing the non-standard BR keywords with the standard keywords breaks the interaction with the printer. MFC-L8850CDW no longer works with the modified PPD file.
It is my understanding that the non-standard keywords are built into the MFC-L8850CDW hardware. Why the manufacturer decided to use the non-standard keywords instead of the ones described in the Adobe PostScript Printer Description File Format Specification is beyond me. The non-standard keywords apparently break the integration with the standard print dialogues in Ubuntu and perhaps other operating systems as well. I do not see how the use of non-standards keywords can be beneficial to users or to the manufacturer.
It is not only the print dialogue from Evince that is broken with this printer. Google Chrome no longer shows the duplex printing option as well. LibreOffice does not detect the duplex printing option. In all these cases, I have to use the "Advanced" tab or the device-specific print dialogue to enable the duplex printing option.
Now here is my question. Can anyone suggest a method to remap the non-standard keywords to the standard ones to repair the integration with Ubuntu print dialogues? Perhaps there is a way to write a code wrapper to remap the standard keywords to the device-dependent keywords at the later stage when the instructions are sent to the printer? Any suggestions, hints, ideas will be much appreciated.