The IBM Selectric Composer
A New Kind of Typewriter

Source: Peter Häll/Tekniska museet, CC-BY
In 1964, IBM worked on the construction of a new kind of typewriter.
Up to then, except for a very small number of models, all typewriters used monospaced fonts, which means each glyph takes up the same horizontal width. The i, I, and l had to be artifically widened by adding horizontal strokes; wide letters as M, m, W, and w had to be compressed horizontally.
The new Selectric Composer allowed letters to be assigned to one of seven spacing groups, which ranged in width from three to nine units per em.
Source: Jens Kutilek
Different font sizes and styles could be accommodated by scaling the base unit to one of three different sizes.
A colour code on each type element indicated the required scaling setting for each combination of type style and nominal font size.
Color code | Units per pica | Width of 1 unit |
---|---|---|
Red | 12 | 0.3527 mm |
Yellow | 14 | 0.3024 mm |
Blue | 16 | 0.2645 mm |
One typographical point is 0.35277 mm (1/72 inch) in size; 1 pica = 12 points.
The type elements, nicknamed “golf balls”, were quite a miracle of engineering. They were made of nickel-plated plastics, weighed 9 grams, and were manufactured with the highest precision possible.

Source: Jens Kutilek
In the catalogue of type styles, the colour code and height of the capital letters for each type element are given. For example, the values for the “Century” type style are:
Font | Size | Color | Cap height |
---|---|---|---|
Century | 6 pt | blue | 5.0 pt |
Century | 8 pt | yellow | 6.0 pt |
Century | 9 pt | yellow | 6.5 pt |
Century | 10 pt | red | 7.0 pt |
Century | 11 pt | red | 8.0 pt |
As you can see, the 8/9 pt and 10/11 pt font share the same unit setting, so their set width will actually be identical. The letters are only drawn at a different height, to give the impression of a different font size.


Source: Stephen Coles, CC-BY-NC-SA
Fun With Unitized Glyph Widths
Unit systems were common in all kinds of typesetting machines. The Lumitype photo setting machine, for which the Univers type family was originally designed, could place any glyph on one of 36 different widths. The Monotype caster only had 18 units.
Current computer fonts are usually based on a grid between 1000 and 4096 units per em, relative to the type size.
Max Caflisch, a Swiss typographer, and consultant to IBM, was tasked with selecting typefaces for the new machine. IBM contacted Adrian Frutiger to ask him if he would adapt his Univers type family for the new machine and to its 9-unit system. Frutiger negotiated the licence terms and began adapting eight styles in sizes between 7 and 12 points.
At this point, a problem became apparent. IBM’s engineers had decided that the unit assignments for each glyph would be identical for all possible Composer fonts. Their model had been only one typeface: “Times”, a baroque antiqua with classical proportions, where the letters (especially the capital letters) have pronounced differences in width. An E is roughly half the width of O and M, which are based on a square. The current trend in the 1950s/60s was to optically equalize the different letter widths.
The unit table for the German layout looks like this:
Units | Characters |
---|---|
3 | i j l . , ‘ ’ - ; |
4 | I f r s t ( ) / : ! |
5 | J a c e g v z ä ü |
6 | P S b d h k n o p q u x y ö ß § * + = 0 1 2 3 4 5 6 7 8 9 |
7 | B C E F L T Z |
8 | A D G H K N O Q R U V X Y Ä Ö Ü w & % – ? |
9 | M W m |
Frutiger analyzed the letter widths of all typefaces he had access to and calculated their averages. He presented the result to the IBM engineers, but it was too late to change anything at that stage.
Other problems concerned the precision of the mechanical parts. Some glyphs always were printed too light or too heavy; this was counteracted by changing the drawings.
The golf ball had to rotate in two dimensions to make the correct glyph face the paper. Some glyphs always ended up too far to the left or right, to the top or bottom. Frutiger suggested that this could also be anticipated by moving the form on the ball in the opposite direction, but the engineers declined. In their opinion, such kind of problem had to be solved mechanically, not by “messing” with the glyph arrangement.
The fixed unit sytem worked out alright for Univers, but there are some oddities:
- The width of g was assigned based on the classical loop-tail g, which is rather narrow. The Univers g, however, belongs to the shape group bdpqg, with identical bellies. Because of the fixed units, the g now has to be drawn narrower. (Reader, have you noticed up to this point?)
- The number of possible characters on the type element is constant, with the selection having been tailored to American needs. For the German umlauts and ß, other glyphs had to be dropped, but the predefined widths of each position still had to be applied. Therefore the ü had to become narrower than the u.
- The s is too narrow, too. It should have gotten 5 instead of 4 units, but that was impossible.
- T and F, on the other hand, had to be drawn much wider than necessary.
Those idiosyncrasies make it easy to identify text typed on the Selectric Composer.
What Remains Of The Composer
Even if IBM tried to present it this way: The Selectric Composer could not stand up to a comparison with actual metal type or photo typesetting. However, in its time, it was far ahead of the usual typewritten typography and was able to fill a gap where typing was not sufficient and photo typesetting too costly.
Text set by the Selectric Composer can be found in German comic books of the 1970s and 1980s, like Disney’s Lustige Taschenbücher, in small magazines, company correspondence, instruction manuals, and products from small print shops.
Starting in the early 1990s, the machine is quickly made obsolete by the capabilities of desktop publishing.
Digitizing the Fonts
Finding The Correct Scale
The glyph widths of the IBM Selectric Composer are on a grid of 9 units per em. I figured the best grid setting for drawing an OpenType font is be 900 upm so that 1 composer unit would correspond to 100 font units.
Drawing a font at 900 units per em is fine. It is close to the common 1000 upm that probably 99% of all OpenType CFF fonts use.
But for the glyphs to be output at the correct size, we need to figure out if our scaling is correct.
If we tell our layout software to give us a 10 point font, the 900 font units are scaled to 10 points for display, so:
900 font units → 10 pt = 3.5277 mm
Dividing by 9, we get:
100 font units → 1.1111 pt = 0.3919666667 mm
Remember, 100 font units are 1 composer unit for our font-internal drawing purposes.
At the red setting, 1 composer unit equals 0.3527 mm, but the calculation shows our 100 font units correspond to 0.3919666667 mm. To get the correct output at 10 pt font size, we can set the units per em at export so as to make up for the difference.
We need to calculate a correction factor by dividing 0.3919666667 mm by 0.3527 mm and get 1.1113316323. To make the font smaller, the font units per em settings must be bigger, so we get 900 * 1.1113316323 = 1000 (incidentally, the standard upm setting).
Let's check if the math works out:
1000 font units → 10 pt = 3.5277 mm
Divide by 10, trivially:
100 font units → 1 pt = 0.3527 mm
Yay!
If the 10 pt used the yellow setting instead, as e.g. the Univers 10 pt font does, we would arrive at our correction factor by dividing 0.3919666667 mm by 0.3024 mm and get 1.2961860671. To make the font smaller, the font units per em settings must be bigger, so we get 900 * 1.2961860671 = 1166.57.
So for the different font sizes we get:
For 9 pt:
900 font units → 9 pt = 3.17493 mm | ÷ 9
100 font units → 1 pt = 0.35277 mm
For the yellow setting, 1 composer unit should be 0.3024 mm, so we need to calculate the correction factor by dividing 0.35277 mm / 0.3024 mm = 1.1665674603. Our correct units per em setting is 900 * 1.1665674603 = 1050.
For 8 pt:
900 font units → 8 pt = 2.82216 mm | ÷ 9
100 font units → 0.8889 pt = 0.313573 mm
As the 8 pt font also uses the yellow setting, 1 composer unit should again be 0.3024 mm, so we need to calculate the correction factor by dividing 0.313573 mm / 0.3024 mm = 1.0369477513. To make the font smaller, the font units per em settings must be bigger, so we get 900 * 1.0369477513 = 933.
For 11 pt:
900 font units → 11 pt = 3.88047 mm | ÷ 9
100 font units → 1,222222 pt = 0.431163 mm
As the 11 pt font also uses the red setting like the 10 pt font, 1 composer unit should again be 0.3527 mm, so we need to calculate the correction factor by dividing 0.431163 mm / 0.3527 mm = 1.2224638503. To make the font smaller, the font units per em settings must be bigger, so we get 900 * 1.2224638503 = 1100.
Cap Heights
As the Composer manual gives us the cap heights for each font and size, we can now calculate the cap heights in internal font units for each font size:
1100 / 11 * 8 = 800 (11 pt, 8 pt cap height) 1000 / 10 * 7 = 700 (10 pt, 7 pt cap height) 1050 / 9 * 6.5 = 758 (9 pt, 6.5 pt cap height) 933 / 8 * 6 = 700 (8 pt, 6 pt cap height)
That should give us a hint as to how to scale our scans. But the values from the manual should be taken with a grain of salt; they seem to have been rounded to half points, and are more nuanced in reality.
Scalable Fonts?
Scalable fonts, my ass! We may need a different drawing for each font size.
Luckily, old Adrian was a man of numbers, and so at least the Univers drawings are just scaled for different sizes as far possible, without further adjustments. Other fonts, like the Century style, seem to have more optical adjustments going on between the different font sizes.
The Selectric Univers is rather “small on the body”, as they call it, so I started with the 11 pt font, which has a good size for general purpose typesetting.
I found a good way to scale the scans visually was to type out the (still empty) letters in my font editor (I used Glyphs for this project), separated by a space as it is shown in the Selectric catalogue. The letters already have their unit widths set correctly. I added a thin vertical line to the left side of each glyph to make their widths visible.
The background scan in the figure below is placed in the letter E. Then the scaling is continuously adjusted until the other letters fall into their designated slots.

Source: Jens Kutilek
I chopped the scan into smaller parts to make handling the scaled image in the font editor easier. The final scaling of the image can finally be read from the info box and applied to the other parts of the scan.
So When Did You Actually Draw Some Letters?
We are getting there. The Composer catalogue states that the specimens are original Composer settings printed with the offset process. So they may have suffered a bit through the reproduction. We must use our knowledge and sensibilities to make a Univers out of those somewhat blurry (in spite of the decent scan quality) letters.
You could autotrace the glyphs at this point, but where is the fun in that? (Also, the results would not be very useable.) Start laying down the points and move those curves around. Just keep drawing over the scans until you are satisfied.

Source: Jens Kutilek
To maintain the friendly, slightly rounded impression of the typeface in the new digital medium, I chose to apply a rounded corners filter with a radius of 14 font units in postproduction. “Postproduction” means that I drew everything with sharp corners, and the filter is applied by Glyphs when the final fonts are exported.

Source: Jens Kutilek
When in doubt what makes Univers Univers, I looked at other digitizations, like my 1992 Linotype Univers PostScript type 1 fonts that came on actual 3.5” floppy disks, and discovered that at least those, but also other old versions are pretty badly drawn. Their outlines and spacing are compromised by having been adapted from earlier technologies, with errors being introduced but never subsequently corrected. But that is another story for another day. Today’s drawing standards are much higher.

Source: Jens Kutilek
The character set was pretty limited back in the day, so I think I didn’t spend more than two working days on this, with a couple of refinement rounds.
Kerning (adjustments to the distance of specific letter pairs) didn’t exist back then, so we can skip this whole step. I did do some screen optimization by adding TrueType instructions to the font, though.

Source: Jens Kutilek
This whole article is set in my “Selectric UN 11 Medium” font. To write this article, I even had to add some glyphs that were not part of the original character set, like the division sign and the rightwards arrow. I also borrowed the @ from the Century style (it was present in the American character set, but not in the German one).
I also started to digitize multiple sizes of the Century type style, which is actually more a “Century Schoolbook” than just a “Century”. For this, I didn’t scan the letters, but photographed them with a USB microscope. But that’s also another story waiting to be told.

Source: Jens Kutilek
References
- Adrian Frutiger Schriften. Das Gesamtwerk. – Heidrun Osterer & Philipp Stamm, Birkhäuser, 2009.
- IBM Composer Schriftmusterbuch, without date.