Retina graphics in the 80s

The trick of Apple’s Retina graphics isn’t simply producing hardware with high-resolution displays, it’s also producing software that understands how and when to use pixel-doubling tricks to produce the best output without making everything tiny. This is especially true when it comes to rendering text. Oddly enough, Apple did something very similar almost 30 years ago with the original ImageWriter.

I’ve been meaning to write this little post for months but kept putting it off. It’s a tale probably better suited to Thomas Brand’s wonderful Egg Freckles blog, but he hasn’t gotten around to it.1

The original Mac came with a 72 dpi black and white screen. The Mac’s first printer (and mine) was the ImageWriter, which had a resolution of 144 dpi. You can see where this story is going, can’t you? When printing out images from, say, MacPaint, each pixel on the screen became a 2×2 block on paper—just as non-Retina images are pixel-doubled when rendered on a Retina screen. But, just as in our modern Retina world, fonts were handled differently.

There were no outline-based fonts on the original Mac; those didn’t arrive until the LaserWriter. But most of the fonts came in several bitmapped sizes, and that was the basis for the trick Apple used to get the smoothest text possible out of the ImageWriter. When you wrote a document in MacWrite using, say, Geneva 12 for the body text, the ImageWriter would use the bitmapped letterforms of Geneva 24 to put the dots on the paper. The same was true for other fonts and sizes; the printed letter bitmaps came from the double-sized version of that font.2

This made for pretty smooth text (for the time), but there were some small, non-WYSIWYG consequences. Because Susan Kare designed each font size by hand to take advantage of the pixels available, the letterforms had subtle differences as you moved from one size to another. One that I have a distinct memory of—but, maddeningly, cannot find visual proof of—is the descender of the y. At 12 points (or maybe it was 10 points) and smaller, the descender was a straight diagonal line. There simply weren’t enough pixels around to be able to put a hook on the end. But at 18, 20, and 24 points, there was more breathing room, so Kare included the hook. Thus, the printed y had a distinctly different look from the one on the screen.3

I’m not seriously suggesting that the ImageWriter was an influence on the Retina display software. A lot of water has gone under the bridge since the mid-80s, and I doubt that anyone involved in handling the double resolution of the ImageWriter was still at Apple when Retina displays came out. Well, I can think of one person. I wonder…

  1. Although he’s come close. When I started reading this post about dithering, Thomas’s first mention of the ImageWriter made my heart sink. “He’s beaten me to it,” I thought, cursing my procrastination. His return to dithering in today’s post was the kick in the pants I needed to just write this thing and get it out of my head. 

  2. And if there were no double-sized version of the font used in the document? I don’t remember. If you do, please leave a comment. 

  3. As I was Googling for images to confirm my memory about the y, I ran across this old post from John Gruber, in which a reader reminds him about font rendering on both the original ImageWriter and the 216 dpi ImageWriter LQ. As you might guess from the unusual resolution, the ImageWriter LQ used triple-sized fonts to render smooth text on paper. 

5 Responses to “Retina graphics in the 80s”

  1. Clark says:

    As I recall the Imagewriter used a pixel doubled font if available, a scaled one from the nearest fit otherwise. There was a scaling algorithm albeit not a great one. I’d go test this out but my old Mac and Imagewriter is back up in Alberta at my parents house.

    I am not 100% sure but I vaguely recall a laser printer that didn’t use postscript that used the doubling technique but was a quad or something like that. Too bad MacWorld doesn’t have their old issues online or I’d look it up.

  2. Thomas Brand says:

    Dr. Drang, thanks for the link. I do remember this technique, but not at the time of writing my article. Clark is right. The ImageWriter used some sort of pixel doubling/nearest neighbor algorithm to double the size of text and drawings if a suitable scaled version was not available. It wasn’t very good.

    The LaserWriter IISC,Personal LaserWriter SC, Personal LaserWriter LS, and Personal LaserWriter 300 all use QuickDraw instead of PostScript, along with every Inkjet StyleWriter. Apple did this to cut PostScript licensing costs from Adobe. The original Personal LaserWriter SC even shipped without a CPU.

  3. Dr. Drang says:

    I suspect the scaling algorithm used for printing when there wasn’t a double-sized font to work from was the same scaling algorithm used for the screen display when you chose a font size for which there was no bitmap—better than nothing but not good.

    I remember there being QuickDraw LaserWriters but I’m surprised to see that there were so many. In my memory they were a failure.

  4. Bill Eccles says:

    But then there was the ImageWriter LQ. I thought it was a pretty nifty printer, except that I didn’t have one. It had 27 print head pins and (according to Wikipedia, because I don’t remember) ended up with a resolution of 320x216dpi. There were “HQ” fonts, if I remember correctly, which had 4x fonts specifically for this printer.

    Just because I didn’t have an LQ didn’t mean I didn’t want high quality prints out of my Mac II. No, instead I used a Motorola 68HC11 EVB, which conveniently had a UART and a bunch of digital I/O, to emulate the LQ and spit out print commands to my Tandy LP-something-or-other, a 24-pin wide-carriage dot matrix printer which worked pretty darned well. It was fast, reliable, and… incompatible with the Mac, so I fixed that. This was a project for my microcontrollers class at Rose-Hulman, back in 1991 or so.

    It worked, and I got an A for the project, too, though I don’t remember how I handled the extra three pins of the LQ. Or if I had to, even. It seems to me that the LQ only used them for underlining in text mode (which the Mac only used in a low-quality draft mode) and that the bitmap mode used only the top 24 pins, advancing the paper 24/27 the printhead height with each successive line.

    Though I still have the EVB and the board required to connect hither to yon and emulate the LQ’s buttons, I apparently have lost the code and the report.

  5. Bobbie Gerl says:

    The two micro-switches on the motherboard and the dust balls around the big capacitors really scare me… But the max238 makes me think of a communication device of some sort.