The Font Magicians – Computerphile

The Font Magicians – Computerphile


Bell Labs got its first actual laser
printer in 1982, which I think was from a company called Imagen. Now in those days
yet you could get them but the big problem – the big big problem – was fonts. It
wasn’t by any means impossible to get laser-printer technology – at lower
resolution than the Omnitech was doing [and] more reliable, in Nottingham and we
asked for a price, I think, for an Imagen early laser printer and we were told it
would be $18,000 in the UK, which would have translated to about 15,000 pounds.
It was ridiculously expensive. If you’re getting to lower resolutions, like 300
dots per inch, what then happens is that your eyes are sensitive enough to notice
roughnesses on the edge of the character. In other words the pixel density of 300
dpi is such that if something goes wrong, in terms of the pattern of pixels, and
you get a fault at the edge of the character your eyes notice it. At 972 dpi
they probably wouldn’t notice at all. So, the burning question was: “How can we do this rounding problem, if you like. We’ve got
these beautiful outlines; we need to translate them into dot patterns. How do
you work out which pixels to turn on, which to turn off. And if you’ve got half
a pixel, by the time you’ve done your calculations, do you turn it on or do you
turn it off? And, of course, you can imagine what happens. It looks bad if you
didn’t turn that pixel on; it looks even worse if you did turn it on! You just
couldn’t win. It was a huge problem and within the industry there was the most
ferocious debate within Xerox, Canon, wherever. And even – many of you
know – the computer scientist who got involved, around about this time, with
typesetting: Don Knuth. And the consensus was that down at low
resolution you just had to have hand-tuned bitmap fonts, with all the
pixels put in place correctly. There was no shortcut. There was no way that you
could, if you like, on-the-fly, scale down from outlines
to dots on a drum and get it right automatically. Hand tuning was the way forward. Well if
that was the case it was a real mess. Because it meant that your
laser printer had to be backed up with an expensive hard disk, or cartridge,
system. And some commenters already, on the Jailbreak [202-system video] who have used
these, say what a nightmare it was. You had a very restricted range of fonts. They never
seemed to work correctly and that whole disk, instead of a holding 50 or 60
different typefaces, was devoted to holding Times Roman hand-tuned in about
40 usable point sizes. Stuff like that. The thing that kept us going though – the
rumours on the horizon if you like – were that two people, working for Xerox PARC,
called Warnock and Geschke, were about to leave Xerox PARC and form a new company
called Adobe. Now, the moment you say Xerox PARC you start thinking: “We need a
complete new video just on that alone”. PARC — Palo Alto Research Center
If Bell Labs was the one place that everybody wanted to work at in the 1970s
then Xerox PARC was certainly the other. And there was a similar background in
some ways. Bell Labs had lots and lots of money, because of AT&T, but of
course they were under consistent scrutiny for “monopolistic practices”
and don’t you ever dare turn yourselves into a computer company – it wouldn’t be
allowed. Xerox probably didn’t have quite as much money as Bell Labs but
nevertheless, even today, Xerox I think, turns over about twenty billion
dollars a year. So, they could afford a vanity project and they did. The Xerox
Palo Alto Research Center was run off the Xerox publicity budget! That’s how
much money Xerox were making. And they still do make,
just out of being a photocopier company. But at Xerox PARC they invented – either invented
or had a very strong development role – in all sorts of things that are now
commonplace. The computer mouse; the laser printer; bitmapped terminals – which we
take for granted nowadays – but if you skip back to my earlier video on “From
Mainframes to Unix”, just take a look at what the old character terminals used to
be like. Sort of cells of dots – about 9 x 9, with the characters in. You
certainly couldn’t get down to the bit level on your screen – but with bitmapped
terminals you could. They had under development at Xerox PARC things with
names like Alto and Dorado, bitmap terminals, Wonderful! And they had Bob
Metcalfe there. They were crucially involved in the development of Ethernet.
They had it all. They had all the necessary components to pioneer the next
stage of computing. If you like, the workstation revolution. But in a book, I
think, called “Fumbling the Future” the author of that book makes the case that
they fumbled it – they let it all fall – they didn’t market it and they could
have done. Well, to be fair to Xerox, at the time, you could argue they made the right
decision. Turning yourself into a computer company is hard to do, if you’re
not a computer company already. And wonderful though their technology was, it
was reckoned at the time that the cost of the components alone, in mid-1970s
money, to make an Alto terminal – the components alone would have cost $10,000.
If they were mad enough to go into marketing the thing they
would have had to charge at least $25,000, in 1975 money, probably about
$250,000 in today’s money. So, you could say, in a
sense, they had to wait for the cost of the technology to come down. And they had
to accept that all these toys were very, very expensive indeed. Now the only
problem was, with sitting on, and developing, all this wonderful technology
was that the hot-shot computer scientists you’ve got working for you, got very
frustrated that their wonderful inventions, and developments, were not
being marketed. And so, gradually, as the 70s wore on into the 80s, people
began to leave and to form their own startups. Chuck Geschke, John Warnock,
both considerable computer scientists in their own right, were working on Xerox’s
Interpress language and just got so frustrated with Xerox’s inability – a lack
of will to market this properly – that they upped sticks, left, and formed Adobe.
Which you’ve all heard of, in late 1982. I think they initially decided that they
were going to go for the high-end typesetting market. Soon after they left
and founded Adobe, John Warnock got to work on a language that’s achieved great
fame ever since, called PostScript. I think it very carefully avoided the
precise way that Interpress had done things, and it reverted back to lots of
John’s earlier work, because he was a computer graphics specialist, who came
out of the University of Utah, and also worked for the graphics company called
Evans & Sutherland. And in his PhD he solved the infamous hidden
surface problem which had defied efficient solution for quite some time. I
think I’ve already told you, in the video I did about David Huffman and Huffman
trees – his PhD thesis was 12 pages. I think John told me that his PhD thesis,
about solving the hidden surface problem, was a little bit bigger – all of 32 pages.
So here was this computer scientist – a computer graphics expert – joined up with
another considerable computer scientist, Chuck Geschke – it was the ideal
combination to found this new company. John came up with this language called
PostScript, which was going to be a tour de force of two-dimensional graphics and
it was. And, more to the point, he was going to get to grips with solving this
problem of how to make fonts look good at low resolutions. You want to hold the
outline of the font as arcs, splines, lines, whatever, for as long as possible. But, in the end, it has got to get down to being
pixels. It’s got to be dots on a laser printer drum. And, in fact, there’s some
other stuff of course. John Chapman’s videos on “Computerphile are so relevant to
this. You really ought to watch them. So here’s some more detail which relates to
that. Oh! by the way, thanks to Fontographer those of you want to know how I did
the so-called PrintOut font, in the “Jailbreak” video,
I think the papers that we Web-link to make this clear but anyway, I used
Fontographer and within the Fontographer manual, there is a very useful pair
of pages which makes very clear this difficulty with getting characters to
look good on a coarse resolution. Consider a letter H. Here’s the outline
superimposed on top of a grid of pixels. Now, how do you decide which pixels of
these vertical stems are to be colored in? If you follow the argument that a pixel
should be made black only if it’s totally within the outline, then if your
outline isn’t quite as helpfully aligned with the pixels as it might be, this is
what you end up with. On the left hand side the only ones that are totally
within the outline is a single column, whereas on this [right] side there’s two columns.
If you back off, take away the grid of pixels at the back, and look at what the
character looks like – it’s awful. Y’know, you’ve got uneven stem widths. And do
notice in these, of course, the crossbar is gone [missing] on the H. Isn’t that wonderful?! Of
course it would go – it’s so thin, in that design, it’s been rounded
down and it’s vanished completely. Here’s another thing. Even if you could solve
that, these ‘flicky bits’, as we know, are the tops and bottoms of characters. I
think probably everybody knows they are called ‘serifs’. Well you’ll need your serifs
to look good as well. And, if you’re not careful, you can end up with the stems
getting better and more equal but the serifs having no symmetry
whatsoever, even though they’re supposed to be the same shape.
The precise way they align with the grid underneath is such that they don’t
look symmetrical anymore, whereas they were in the first instance. And then you
can say: “Oh! could we solve all of this by saying: well tell you what, we’ll turn the
pixel on if any part of it touches the outline, however glancing, if you like, the
impact is between the pixels and the outline. If it’s at all remotely touching
turn it on”. And that’s the kind of mess you end up with if you do that. So, what
you needed was a system of what came to be known as ‘hints’. On the diagrams here,
for the letter M, hints show all the places in which the Adobe Type 1 font
system actually said mattered. Hints about the serifs, these are important,
take care. Hints about horizontal lines like on the
H, don’t round it down and don’t have it disappear altogether. Within the font
mechanism it was, basically, when you are scaling down the outline and as John
Chapman’s videos will also show you, in the end, although you can delay doing a
straight line approximation to curves, in the end that’s what you do. You end up
with triangles and polygons, OK? And then those triangles and polygons, you work
out where they intersect with the underlying pixels, and so on so. Late on
in the process – and this is the advantage of this more modern approach compared to
the 202, rather faster processors, you can leave the – as it were – translation into
straight line approximations and pixels until the latest possible moment, thereby
giving yourself flexibility. Now this shows you this is Linotype 202
resolution up at the top. That is the base, I think, of a stem of a letter H, or
I, or something like that at something more like 970 dots per inch, and you see there’s
no problem. If you back off from that your eyes are probably not sensitive enough
to notice the odd pixel that’s gone astray but down at 300 dpi they
certainly will. And, of course, the problem manifests itself hugely at 300 dpi
if you have small point sizes, like 6-point or 8-point. You end up, if
you’re not careful, with everything looking just like a full stop because
there’s been so many errors, So, this is why you need these hints. You need stem
hints; you need serif hints; you need hints to stop horizontal things
vanishing altogether, due to rounding down. John Warnock was the recipient of a
very prestigious medal called the Lovelace Medal [from the BCS] and my friend, Conrad Taylor,
has done a report on that talk, which he is happy for us to use. And in Conrad’s
report you will see that John Warnock actually admitted – 20 years after the
event – that there was another dirty trick that they did as well as, if you like, as
part of the hint that they didn’t let on about. If you look back at this diagram
here and how it translates to turned on pixels here, although we will enrage the
type designers there is a way that you can help yourself here. Type designers
like calling the gap to the left of a character the ‘left side-bearing’ and the
gap at the right of the character the ‘right side-bearing’. Now, if you look
carefully, the left side-bearing here is absolutely wider than the right side
there. This is part of the design. You position your character within the cell,
so it looks right in all combinations with all other characters and even in a
fixed-width font – like PrintOut of the previous [Jailbreak] video – you found that
left or right side-bearings are still not equal. Yeah! But what John and his Merry Men did in
their Type 1 renderer was to say: ” … actually although the designer will
kill us they probably won’t notice if, at the very last minute we just shove the
letter H ever so slightly further left”. OK? So that, instead of ending up with
a one-pixel line and a two-pixel line, you might end up with both of them being
one and a half, because you’ve made the alignment of the character against
the background grid be just much more sympathetic. And if it’s one and a half
it doesn’t matter whether you round both sides to 1, or round them up to 2. They are
at least going to be equal. OK ? That’s going to help a lot. So, he actually
admitted in 2004 that it was not beyond them to ever-so subtly shift the
character, within its unit cell, to get a better alignment and a better result. So
that is, then, pretty well a summary of what had to be done, what had to be got
right with hinting before, if you like, quality fonts stood any hope of working
properly with laser printers. John Warnock put the PostScript language,
effectively, into the public domain and said: Go on – implement it! I want it to be a
standard”. You know: “Implementation is the sincerest form of flattery” – as one of the
first implementers said. But the story was this: you can use all the graphics
operators in PostScript, you could do a pretty acceptable font that way. But it
was what Adobe called, at the time, a Type 3 font. It did not have these hints to
enable you to survive and make it look good down at very small point sizes, on
low resolution devices. If you wanted that then, back in … from about 1985
to 1989, you had to sign a contract with Adobe to license their hinting
technology. And this was secret; this was one of the ways that Adobe, as a young
company, wanted to make money. They were selling PostScript implementations, of
course, to other printer manufacturers but there was a nice font revenue stream
from licensing people to put Type 1 hints onto Adobe Type 1 fonts, So, there
we are then. There’s another story to come here, but we’ll get onto that later,
about how Adobe survived with that model for about four or five years. But
eventually Gates and Jobs were not going to pay endless royalties for Type 1 to John
Warnock, dearly though they loved him. And we could do a talk at some stage
about the emergence of TrueType out of that. But for the moment here’s the story
then. You needed a laser printer equipped with PostScript but with PostScript plus
the ability to cope with Type 1 fonts and – do be clear – this hinting information,
things like: “… these stems should be of the same width; that cross-bar on the H – don’t
round it down and don’t lose it! ” This is used at the very last moment when you’re
converting things into pixels on the imaging drum. And it’s ultra, ultra
important that you get it right. But, effectively, John and his Merry Men with
PostScript and the hinting, had solved a problem which many people in
the industry said was insoluble. Y’know: ” … there isn’t a way to take outlines and
round them down, to all point sizes, and make it look good”. Well, you might say
that some of the tricks that John did were compromises and were a little bit
short of perfection but frankly, even to type professionals, I don’t know, if you
did an A and B [comparison]. You know, hand-tuned bitmap vs. what the Adobe Type 1
mechanism did with that H. OK, with a good microscope you notice the
difference but, for everyday use, no problem at all. The problem was solved essentially.

100 thoughts on “The Font Magicians – Computerphile

  1. I'm loving these videos. Are there any plans for talking about typesetting systems like TeX in the upcoming videos??

  2. The graduation project of a friend of mine was a chess game written in Postscript. The user would enter his move via the printers menu and the printer would calculate its' move and print an updated board.and so on, etc., ad infinitum.

  3. By the way he pronounces the word "Pixel", I just realized something:
    Pixel = Pic+Cell = Picture Cell

    My mind just imploded!

  4. Xerox really were the quiet developers behind lots of the computing elements we take for granted these days. In the mid 90's I had the opportunity to help install one of the first Print-On-Demand systems in Ireland using their DocuTech production printers. It was a 15 foot long beast of a machine that could spit out stitched booklets and book bodies ready for binding. All pagination and composition could be carried out via the onboard touch screen, which consisted of a wire mesh overlaid on the monitor.

    During the training programme at Xerox's Dublin offices our trainer let us into his cluttered little office to see his still functioning Xerox Star. He was still using it in his everyday work and I got to play around with a little. I think our company were operating with Windows for Workgroups 3.11 at the time, and I remember thinking how clunky and quaint the mouse and the desktop environment on his Star were, compared to our superior kit!

    I wouldn't be at all surprised to find that our trainer, who would be long retired by now, is still using his beloved Star in his study. Well, that's how I'll choose to believe it anyway!

  5. I love your videos. remind me of some of my lectures in computer science but you make it way more interesting and you don't wear sandals  with socks ( or at least i don't think you would ) as one of my lecturers did even in the middle of winter.

  6. Very right, 300 dpi looks horrible. And yet, they are trying to tell us that the 200-300 ppi Retina display will be enough for eternity. No it won't!

    Yes, I am aware of the fact that you can't compare laser printer resolution and screen resolution but 300 dpi ink jet printers also produce horrible text and anti-aliasing is ultimately just a hack. What you want is a 1-bit output with enough pixels so you won't notice it.

  7. Fonts are often owned property, you cant simply hand them out with your game, and you cant assume the user to have that 'cool one you like' installed. so learning the basic concept of fonts can save you development issues, and money.

    I was programming an LED-type display for a game-hud that works at various resolutions…
    Managing the whole alpha-bet, numbers, and special charachters, and making them readable in 5*6 LED characters, on scalable LED bulbs (3 to 20 or so pixels, AND look the same on various screen-sizes was something of a learning experience…

    Issues like minimum pixel-count for each LED, while maintaing the size ratio of the LED-matrix-display to game-screen area… and so on…
    Scaling things to look good isnt as easy to do as it is to imagine, with all those resolutions, aspect ratios, and so on out there… Lots of numbers arent so easily devidable, but you dont want to do TOO many manual exceptions, so it requires some planning…

    Which is why:
    Fonts are often owned property, you cant simply hand them out with your game, and you cant assume the user to have that 'cool one you like' installed. so learning the basic concept of fonts can save you development issues, and money.

  8. Yeah, and Helvetica Neue still has horrible hinting and it's used by many websites anyway (because Apple uses it, therefore everybody else uses it, no matter if it will be displayed on a retina display or not). I disabled the font on my system so that a better fallback font is used.

  9. Amazing story! Thank you very much! I've been with graphics on personal computers from almost the very first days. Some of it I remember, some I may have forgotten. 

  10. Another excellent video. Every time I watch some from Computerphile, I always end up appreciating my PC more. The blinds and open window in the background were a bit jarring, though. Could you, maybe, watch out for that next time? Still an interesting video!

  11. God I love this youtube channel but I love the prof even more. I could listen to him talk for hours and hours and will always want more. I wish he was my grandpa. Also, I really love that you guys put out full length videos. Thank you so much for assuming we have an attention span beyond a 12 year old child. Keep up the good work and don't keep me waiting to long for the next video!

  12. Hate to say it but I'm getting a little tired of hearing this guy talk about the history of the industry. I'd rather hear about new tech innovations etc.

  13. My dad, a developer for the Big Apple Users Group in the late 70s and early 80s, claimed to be a primary contributor to the initiative that created vector fonts – among other computer development. Not sure how valid this is, but I would like to know.

  14. Great video as usual, but the roman blinds behind the prof caused visual disturbances similar in appearance to the migraine aura – which is quite disconcerting! I could not watch the video to the end.

  15. I wonder if Professor Brailsford is one of the people who likes to spin their rings.  I gem on his ring is in a different position in almost every video with him. 

  16. Moving the alignment in that regard seems perfectly fine to me as the left-right side bearing alignment would have been rounded off anyway and disappear regardless. Nothing wrong with saving users from doing stupid things with the system themselves

  17. Everyone here is talking about antialiasing as if it's the same problem as here. You might be surprised to learn that modern cg for broadcast tv without using AA runs into the same problem as here but MUCH worse because of screen sizes. AA fixes the problem to some level but because of issues with the depth buffer, it's still often considered unsuitable for most broadcasters.

  18. Everyone here is talking about antialiasing as if it's the same problem as here. You might be surprised to learn that modern cg for broadcast tv without using AA runs into the same problem as here but MUCH worse because of screen sizes. AA fixes the problem to some level but because of issues with the depth buffer, it's still often considered unsuitable for most broadcasters.

  19. On the 17th minute, my fullscreen video suddenly crashed.
    The thing's that fullscreen is powered by Adobe Flash Player.

  20. I wish he had gone more in depth into what the hints actually did. I feel like that's kind of the most important part–how they actually fixed the problem–but in the video, he just mentions it, and then moves on.

  21. Super sampling does not really solve the aliasing problem, but I'll have to save my rant about that…

    Also, a 300 dpi printout is going to be much lighter and blurrier than it should if you apply super sampling. Hinting creates a sharp image and indeed is your only choice when your device only creates sharp images.

  22. I heard that Xerox was actually the ones who started Ctrl-Z,X,C,V for the commands we know them as now.  Not sure, but that's what I heard.

    Also, hinting for printing~ It rhymes!

  23. Hey! They used my comment on the 202 Jailbreak video! I'm famous now. 🙂

    To respond to a specific part of this video: I'd love to see Computerphile do a video about the Xerox PARC people and projects. That'd be fun!

  24. What an absolutely WONDERFUL video!
    As a young (29) amateur graphic artist with experience in an old family-owned printing company, I greatly enjoyed getting to hear some of the backstory of where the fonts I have taught myself to use came from, and how they were created.
    Thank you for the time and upload!
    -Coast of Texas.

  25. I could listen to Professor Brailsford all day, he recounts the history of computer evolution with such fluency and clarity. Names everyone's heard of – Adobe, Linotype, PostScript, PARC – all have a story behind them, and this man can tell them. After all, a wizard is on first-name terms with Ken, Dennis and Brian.

  26. Great video. I used a program called Font Monster to try my hand at creating a font to be used with our 1AESS and 5ESS switch simulations. 'Nearly drove me nuts. I finally paid a font foundry to do the job. David, your videos are always a trip down memory lane for me. Thanks again

  27. Why didn't they just render the letter upsized in memory and then downsample it with 8-bit greyscale, then convert to BW using Floyd-Steinberg or something?

  28. All these years and Windows clear type still can't get fonts right… I think I'll stick to freetype.

  29. omg rendering a letter is a nightmare. let alone know the width of one in a language from east europe .

  30. I love how Professor Brailsford says "pixel", I'm going to start saying it like that from now on 😀

  31. I remember – 92-94 – when300dpi was "high resolution". "Draft" meant 150dpi. People were amazed that "30%" shading at 300dpi actually came out at…30%!

  32. Yes. Can we have a video about PARC.
    I remember having a quick go on one of the bitmapped terminals when the BBC and CP/M were "leading edge" and it "blew my mind"

  33. Dear God, this is the most pleasurable thing I have heard in months (and likely years if we're being honest). For the past 5 or 6 months I've been fixated on convincing people that this very topic is the coolest thing ever. As expected, said recipients of my rants haven't won too many friends… I guess it's some futile Luddite survivor's guilt from being a severely awkward bookworm who hid out in the public library growing up – who also happened to be on the 'remedial' side of the literacy spectrum…Many many hours spent perfecting 'appearing to be studiously reading' have finally paid off.

  34. As always I thoroughly enjoyed professor Brailsford’s technical and historical wizardry and can’t help wonder why flicky bits hasn’t replaced serifs in common usage !?

  35. Am I mistaken or did this video actually neglect to explain how hinting is done? They only explained it in human words. That explanation is the same as saying: "please computer make font look nice". The longer it kept going the more it frustrated me that they never explain the how. In what way can you encode "don't round this down to 0" so that a pixel level decision can be made….?

  36. LOL! While everyone was looking for an algorithmic solution to rasterizing fonts, Warnock just forced font designers to specify hinting metadata. This would be hard to do without having a monopoly on font technology.

  37. Before this video I never knew what 'serifs' meant and I never knew what 'True Type' referred to even though I have read them hundreds of times over 18 years using a computer.

  38. Wow soo interesting
    So everytime when i will see H
    I will think that sometimes cheating is a solution …
    Hahha , awesome video 🙂 Thanks Professor

Leave a Reply

Your email address will not be published. Required fields are marked *