It is a truth universally acknowledged that the best monochrome printer is a Brother laser printer; they last forever, are stingy with toner, and aren’t annoying. I had one for years before getting rid of it in favor of an HP color laser – I should have kept the Brother for the 99% of the time I don’t need to print in color, but I didn’t have the desk space to keep both. Such is life.
Brother also makes very good label printers, like my faithful PT-2730, which I’ve had for more than a decade. It’s a little worse for wear, but it works like a champ, connects to my Mac so I can type labels on a real keyboard, and isn’t annoying.
Well, it wasn’t annoying until recently. Brother stopped updating their label-creation program for this printer on the Mac about 5 years ago. It worked fine for three years, then it got a little flaky…and it stopped working with the most recent update to Mac OS.
They have a new program for current systems – but for some reason, it doesn’t support a ten-year-old printer, and I saw no reason to replace the printer when I could just write a little program to print to the printer.
And it worked, but the output was ugly – diagonal lines and curves were very jagged.
I knew the printer could print nice labels…in fact, I could print nice labels to it from Microsoft Word, but it took a lot of work (make a PDF, crop it so only the actual text I wanted to print was left, and print – it took a couple of minutes per label).
I did a lot of research on how I could create anti-aliased text (not jaggy); eventually, I found the secret…draw the text in a bigger font and then reduce the size of the image. I’d actually tried that much earlier in my quest, but I’d only tried doubling the size of the font, and that left a lot of jaggies.
Multiplying the font size by 10 works great! The labels below were created using the factor after “Windows”, and it’s easy to see the differences between 1, 3, and 10x. Some glitches showed up at a factor of 100 – I don’t know why, and I have no intention of finding out. It also turns out that sending the printer driver the big image and letting it reduce it to fit produces better results than having my code reduce the image – again, I don’t know why and I’m not going to spend time investigating it.
The Brother editor was always a little fiddly; I won’t miss it. It’s much easier to just go to the command line and type makelabel "Kitchen Lights"
– that’s my story, anyway!