Click to Rate and Give Feedback
Related Articles

If you want to develop high-performance and high-quality commercial applications, you’ll still look to C++ and native code. Direct2D will help you deliver the graphics power you need.

Kenny Kerr

MSDN Magazine June 2009

...

Read more!

Host a wiki the easy way, get the screen shots you need and mark them up, and read about LINQ this month in Toolbox.

Scott Mitchell

MSDN Magazine July 2008

...

Read more!

Here we present techniques for programmatic and declarative data binding and display with Windows Presentation Foundation.

Josh Smith

MSDN Magazine July 2008

...

Read more!

This month our usability experts explain what it takes to create informative, useful error messages.

Dr. Charles Kreitzberg and Ambrose Little

MSDN Magazine January 2009

...

Read more!

This month's column explains how to use Windows HTTP Services, or WinHTTP, the new, powerful API for implementing HTTP clients.

Kenny Kerr

MSDN Magazine August 2008

...

Read more!

Also by this Author

Bill Hill discusses his Digital Declaration of Independence.

Bill Hill

MSDN Magazine Launch 2008

...

Read more!

Considering human visual fields in software design.

Bill Hill

MSDN Magazine November 2006

...

Read more!

Popular Articles

Here we introduce you to some of the concepts behind the new F# language, which combines elements of functional and object-oriented .NET languages. We then help you get started writing some simple programs.

Ted Neward

MSDN Magazine Launch 2008

...

Read more!

Kenny Kerr sings the praises of the new Visual C++ 2008 Feature Pack, which brings modern conveniences to Visual C++.

Kenny Kerr

MSDN Magazine May 2008

...

Read more!

WPF is one of the most important new technologies in the .NET Framework 3.0. This month John Papa introduces its data binding capabilities.

John Papa

MSDN Magazine December 2007

...

Read more!

Jeff Prosise explains when it's better to use UpdatePanel and when it's better to use asynchronous calls to WebMethods or page methods instead.

Jeff Prosise

MSDN Magazine June 2007

...

Read more!

One-time passwords offer solutions to dictionary attacks, phishing, interception, and lots of other security breaches. Here's how it all works.

Dan Griffin

MSDN Magazine May 2008

...

Read more!

{ End Bracket }
It's Not Just Fonts
Bill Hill


Creating a typeface that's truly readable on a screen is much more complex than people realize. The average core font in Windows®, for instance, has about 25,000 lines of executable code as well as the outline and other data. The constraints are brutal. You just can't make the text bigger and use more pixels. Humans need body text that's between 9 and 12 points high (there are 72 points in an inch). Reading involves a high-resolution section of the human retina called the fovea, which is only 0.2mm in diameter. Physiology is the driver.
There are some general features every font must have, even for print. The top and bottom curves of lowercase letters like "o" are generally slightly higher and lower than the height of the "x". These "overshoots" and "undershoots" are necessary; otherwise the "o" would appear smaller, and the type would look rather odd.
You need to incorporate 5,500 years of learning when you design type. How do the letters fit together? Each glyph is designed with general spacing around it. But when you bring two specific letters together in a word, they often don't fit well. The classic example is a capital "T" paired with the lowercase "o", in the word "To". Such pairs of letters need special optical spacing and the pair-kerning data for this is provided by the font designer.
There are some pairs, or even triplets, of letters that won't fit well even with kerning (an adjustment to the space between characters). A kerned lowercase "f" and "i" usually clash because the dot above the "i" collides with the top of the "f". They're normally replaced with a new character for the "fi" combination, called a ligature. There are common ligatures for fl, ffi, ffl, and so on, as well as more arcane ligatures in some fonts (for instance in Palatino Linotype, one of the core fonts in Windows) for combinations like "ct", "st", and "Qu".
Figure 1 "f" and "st" Ligatures in Palatino Linotype 
When it comes to the screen, which is much lower resolution, you can't easily fit complex letter-shapes into its coarse pixel grid. Mapping the outline shape to the grid causes rounding errors; some pixels get turned on when they should be off, and vice-versa, and the text is awful to read. So the rasterizer, the code that turns outline data into pixels, needs a lot of help.
The solution is font hinting, a set of programs that manipulate the outlines so the right pixels get turned on. Hinting is really a hierarchy of programs; at the highest level you have global hints, which keep stem weights uniform across a font, or harmonize across a family, so the Bold weight of the font has a constant relationship to the Regular weight, going all the way down to very specific instructions (known as delta hints). These can be as specific as "in this font, at 10-point on a display of 100ppi, turn on this pixel in the lowercase 'a'..."
Many of the problems associated with displaying readable type on the screen are dramatically reduced by ClearType®, which Bert Keely, Greg Hitchcock, Mike Duggan, and I invented back in 1998. Font hinting has become simpler in many ways, and now needs a lighter touch. ClearType has evolved a lot over the years, and the latest and best version of it will ship as part of "Avalon," the code name for the presentation subsystem class libraries in WinFX. When the next version of Windows, code-named "Longhorn," ships, it will contain seven new fonts, specially designed to take maximum advantage of ClearType. There will be six new fonts for Latin-based languages—including a brand-new monospaced font, Consolas, designed to make your lines of code much easier to read. They've been created by some of the world's top font designers, and hinted to the highest standards possible.
There's a new Japanese font called Meiryo, which will offer the best on-screen Japanese ever. It contains no embedded bitmaps, so it's fully scalable. We used the TrueType hinting language to do the stroke-reduction.
I'm privileged to manage a group of folks at Microsoft who are passionate about creating the best type in the world for the screen. But the passion goes all the way to the top. I've actually had e-mail from BillG, at 10:30 P.M. on a Saturday night, asking me about ligature support! So please, next time you read on screen, remember you're using software technology with 5,500 years of history behind it. And never think of type, ever again, as "just fonts."

Bill Hill joined Microsoft in 1995 because he believed the company would lead the transition from reading on paper to reading on the screen. He is one of the inventors of the ClearType technology which dramatically improved the screen readability of text.

Page view tracker