I have a really nasty problem when printing with Ubuntu 12.04 x64 : Text resolution is wrong ; bitmaps and vector graphics print perfectly at 2400 or 600 dpi, but text does not. It looks ugly, resolution feels really low.

When using Inkscape, turning texts into paths before printing solves the problem (of course, this is not an interesting workaround for everyday use).

The printer, a Brother HL4150CDN, is used with CUPS, connected to ethernet port, and fails whatever network address (LPD or IPP) is configured in CUPS. I can print from anywhere (Firefox, Inkscape, Evince), it still fails with texts. Printer test page outputs successfully.

The problem depends on the font used : Arial goes wrong, but Nimbus Roman feels right (some fonts are probably subtitued by the printer ?), that is probably why Courrier text whithin printer test page is correctly printed.

I tried to reproduce this problem with previous versions of Ubuntu without success. I tried fresh installs of ubuntu 11.10 and 12.04 desktop amd64 with updates, and with the Brother driver : the problem is always there on 12.04, never on 11.10.

The currently installed driver is the official Brother driver with PPD files, and the ia32-libs dependancy :

hl4150cdnlpr-1.1.1-5.i386.deb
hl4150cdncupswrapper-1.1.1-5.i386.deb

Here is a scan of a really poor quality aliased text output with quality settings at 2400x600 dpi. Grid lines are spaced 0,1 in (printed from Inkscape) and i can count about 10 pixels between the lines, so the effective resolution is about 100 dpi : http://imgur.com/Y3PDd

I captured data exchanged between computer and printer with wireshark, to compare the working version, with the buggy one. The headers are the same, but binary data are different ; screenshot using kdiff here : http://imgur.com/ilAtn

This probably affects other printers. However, "print to pdf" and HP deskjet 920C are not affected by this.

The questions are : How to investigate such a problem ? where can I find different settings explaining this terrible result when using Ubuntu 12.04, when comparing to 11.10 ? where to look at ? which files can I compare or edit to fix this kind of problem ?

The workaroud provided by @ewienik points out to the right direction: the Brother PPD files are missing a required parameter (*Resolution) which bugs the pdftops component (or some other filter ?) which fallbacks to 100dpi. Here is a sample pour HL-4150CDN :

I made those changes in my brother ppd file and I'm not seeing any improvement. Am I supposed to do something else, like changing any options or something?
–
Andy EMay 17 '12 at 11:16

You are probably just supposed to edit the file (e.g. in /etc/cups/ppd/HL-4150CDN.ppd ), add that section, restart cupsd. You will see a new tab with that option when printing.
–
JB.May 22 '12 at 14:58

Yeah, that's what I tried. A fix was released to precise-proposed, though, so it's all fixed now. Thanks anyway :-)
–
Andy EMay 22 '12 at 16:29