TrueType Typography
A talk with
Sampo Kaasila
Sampo Kaasila can without exaggeration be called the creator of TrueType. During the two years he was at Apple he designed and wrote the initial TrueType rasterizer. He's still a busy guy. (When I first emailed him for some remarks about the development of TrueType, he was putting the finishing touches to a Java multimedia authoring tool.) He kindly agreed to answer my questions on his part in TrueType, and his views on the way it has developed since.

This interview took place over September and October 1996.

Sampo Kaasila now heads Type Solutions, where he's designing the next generation of digital type technology, T2K.

What was your background before doing TT?
I managed the outline font production tools group and wrote the outline scaling technology at Imagen Corp.

Who were the key people in the development of TrueType and what did they do?

  • Kathryn Weisberg: management (= non-technical lead) and hinted the first TrueType fonts. She fought all the internal political battles very well.
  • Sampo Kaasila: Technical Lead for TrueType. Created and wrote the initial TrueType rasterizer. The TrueType resterizer was actually mostly written from my home! It was written on a Macintosh II (16 Mhz 68020) with a big 2 page monochrome prototype (with ugly prototype sheet metal casing) Apple "Kong" monitor. I just stopped coming in to Apple so I could get more work done. My paychecks still kept coming, and I did get TrueType done.
  • Charlton Lui: integrated the TrueType rasterizer with the Macintosh OS font manager.
  • Mike Reed: worked on the RoyalT, the first TrueType production tool.
  • Richard Becker: implemented the drop-out scan-converter after I had left.
  • Lynn Bekkala: did some TrueType font hinting.

What were the dates for TrueType development, before its release [on Apple's System 6.0.5 in March 1991]?
I worked for Apple exactly 2 years and one week between August 1987 to August 1989. I worked on TrueType the entire time except for one week when I was taken of TrueType to write the first version of a matrix math package for another project. I wrote the math code in one week and then returned to TrueType. I can't remember when it happened but a nice milestone was when we managed to print a character about 8 feet tall. We taped all the 8.5"*11" sheets of paper together and then hung it on the wall, as a testimonial to our progress and ability to function in a limited memory environment.

I wanted to mention that especially in the early days it was in no way certain that Apple was going to adopt TrueType (or Bass the old codename, since a Bass is scale-able :-). The technology was in direct competition with all the outside outline font technologies. However, the only thing I could do was to make it as good as I could, and then hope for the best. Fortunately it all worked out OK. Kathryn Weisberg was instrumental in convincing Apple to adopt it internally.

According to Chuck Bigelow's article, Times (New) Roman was used as the litmus test of scalable font formats and their hinting capability. Did you and your team use Times as such a holy grail?
It was one of the first fonts, but I do not think it impacted TrueType much.

How was the decision reached that TT had to contain a programming language?
I thought it was a better technical decision since the fact that it is a programming language does not lock the font vendors into a single way of doing hinting. The fact that it is a programming language also makes straight translation from other hint formats easier. The fact that it is a programming language makes it more powerful.

Were there any arguments that a simpler hinting paradigm (like Type 1) should be adopted as well as the instructions so that, for example, lots of "reasonable" TTs could be on sale very quickly?
No, since simpler hinting paradigms can be translated into TrueType.

Are there things in TT that you wish you had included, but didn't (or included, but wish you hadn't)?
I think that I probably should have used instructions to build the composite characters, instead of the data structures used now. I should have put in the drop-out scan-converter from the start. (I was aiming at high-performance since it had to run on an old Mac Plus!). Instead Richard Becker put in the dropout control after I had left Apple.

Did you ever intend TT instructions to be used for powerful glyph variations? It seems that TT is so close to being able to look at a few user-chosen variables, and create new shapes - different weights, and other more fun stuff - right inside each glyph program.
Yes, this is something I did think about back then. This is why I did put in the Measure Point Size instruction. However, I did not have a chance to do anything else about it.

I'd like to have a go at nice TT versions of complex fonts like Scanner, Calypso, Prisma, Astra... but I wish there was a guarantee that hints would always be executed on all platforms and resolution: I can imagine fonts that became more and more detailed, as resolution permitted, in some algorithmic way. Components as genuine instructions would have been nice for this.
Yes, component instructions would have been nice for this. I think the only real problem is Windows 3.1, which has difficulty with complex fonts. BTW did you know that Microsoft changed the scan-converter in Windows NT and Windows 95 ? So now we have two divergent behaviours (Mac + Win 3.1, and then Win95 + WinNT). For clear cases they always agree but for borderline pixels there may be a difference.

I knew they'd made many changes to the Win 3.1 TT engine, but I didn't know it changed some of the pixel on-off decisions (for simple glyphs which don't get OutlineThresholded or anything horrible). What's different about Windows 95?
It is just the scan-converter that is different. As far as I know all the TrueType instructions behave exactly the same on all implementations (except AA and DEBUG). I guess the change is not exactly arbitrary. When I wrote the first TrueType scanconverter the whole thing had to run at a reasonable speed on a Mac Plus, so to increase the speed I used an approximation to evalute the parabolic curves. The approximation is very close, but not exact. Microsoft made the computation exact. I wish they would have kept the old scan-converter in addition to the new scan-converter behaviour so that the font could have picked the scan-converter to use.

Did/do you have any ideas for the reserved bits in the glyph data? How about in the composite data: "Here comes some colour data for this component" for TT icons?
I do not think they will be used. I had thought of manual gray-scale controls, and you are right it could be used for color.

What reaction did you expect from type design tool-makers (Altsys, etc.)? Are you amazed at the lack of cheap programs that generate TT code under good control of the user?
I am not sure if I had any expectations. But I am amazed at the lack of cheap programs that generate TT code under good control of the user. In fact sometimes I think of making such a program, but so far it seems I never have had enough time. But, I think it would be a good thing to make such a program available. What do you think?

What reaction did you expect from Adobe to TrueType?
I anticipated a less than friendly reaction.

Did you expect them to start TT-hinting their fonts?
No I did not, but that was many moons ago, and things are different now.

Did the same people work on fonts for Monotype/Microsoft as those that hinted the fonts at Apple?
No, not in the early days. In the early days of the Microsoft fonts it was just Type Solutions, Microsoft, and Monotype. (Monotype was the first company to license TypeMan so that they would have the capability to build good TT fonts for Microsoft.) In the early days David Berlow of the Font Bureau helped Apple hint TrueType fonts, and then also much later he helped Microsoft.

Monotype's apparent policy is to produce super TTs ("ESQs") of fonts that are either very popular, or that they can be paid to hint. Do you think this is the best approach to TT for a foundry?
I do not know.. I wish I had enough time to do the cheap end-user TT hinting tool....

Windows NT 3.5 and DTP Type Designer are reckoned to have the only 'good' Type 1 to TT hint conversion, where the Type 1 hints are translated to TT instructions. Have you evaluated their conversions?
No I have not.

How were you involved with TT GX, if at all?
I was not involved on the scaler side, but we did two tools which we later discontinued due to lack of interest from the market: Incubator GX (automatically would produce multiple axis GX fonts, from a single input font) and TypeMan GX (a GX version of TypeMan that would allow the user to hint a multiple axis font).

What do you think of OpenType? Did you contribute to it? (MS have published the draft spec on their web site)
I did not contribute to OpenType.

What are your feelings about the glut of dreadful TTs available for next-to-nothing?
The glut of dreadful TTs is a bad thing for font foundries.

Did you foresee them?
No I did not... :-(

TYPE*chimérique | TrueType Typography | TYPE*links