HP' s original intention was having these variants for each paper size (you get this with the pure upstream code without applying the script):
1. Standard size, like "A4" giving smallest possible non-fullbleed margins. These sizes are the default sizes 2. Duplex sizes, like "A4.Duplex" having larger upper and lower margin to allow for printing suplex with duplex units of HP's inkjet printers. It is required to choose one of these paper sizes to be able to print duplex. 3. Full-bleed sizes, like A4.FB allowing borderless printing. To overcome tolerances in the paper size and printing mechanics some overspray (printing larger than the actual paper) Is done, meaning small image info loss at the borders (but the same happens if photos are printed borderless in a lab). This was leading to an awkwardness about using duplex, as users had to switch to a .Duplex paper size to be able to print duplex and the CUPS/PPD mechanism did not allow for doing this automatically. So users complained that duplex did not work and I came up with the script, which worked great for many years. The script changes paper size naming in an automated way: A4 -> A4.SM (small margins) A4.Duplex -> A4 (and now this being the standard paper size) Problem is how to do this automatically, so that there are no patches needed which need to be changed all the time when new printers get added. The script needs to rename the paper sizes and skip printers which do not support duplex and it has to also rename the UIConstraints for duplex, and all that ideally without fully interpreting the .drv file. This got a challange when HP started having printer series with some non-duplex and duplex printers and making use of nested {} to list the non-duplex paper sizes once for all printers of the series and add the duplex sizes only for the duplex printers. This makes the correct renaming impossible for all the printers of the series. Perhaps we need to remove the script to return to upstream reality with the original awkwardness (perhaps this could be the SRU for Xenial) and for a more sophisticated solution pre-build all PPDs, edit them with a script to rename the paper sizes, and then either compress the PPDs with pyppd for shipping or look whther CUPS has a tool to reverse-compile PPDs to a .drv file, to generate the new .drv file this way. WDYT? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1568996 Title: Duplex printing does not work properly for HP printers To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/hplip/+bug/1568996/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs