13 November 2006
Thomas Phinney
Thomas Phinney

Part two of two

In Part 1 of The OpenType Experience, Thomas Phinney introduced OpenType:

...In late 1996, Adobe and Microsoft announced that they were trying to end the font wars by creating a single font format that would allow for the best features of both Type 1 and TrueType, as well as extending their capabilities to deal with the limitations of the old formats. The new format was to be called OpenType.

OpenType takes the table structure of TrueType fonts (making it easily extensible), and adds three things:

- support for PostScript style outlines and hints
- support for advanced typographic features by way of new tables for glyph positioning and substitution
- requiring the font to map Unicode characters to glyphs--a previously optional element of TrueType fonts (see below - Unicode: the universal character encoding).

Part of the OpenType agreement included licensing the ATM rasterizer code to Microsoft, and the TrueType rasterizer to Adobe. Adobe also licensed their code to Apple. As a result, Mac OS X, Windows 2000 and Windows XP all support all three font formats natively, without needing ATM. Although Microsoft and Adobe own the OpenType format, it is also supported to some degree by Apple. The specification is public, and the companies welcome input from third parties on future development of the specification.

Typography and language: the OpenType text model
The text model of OpenType is that applications should store text using the underlying Unicode characters (see below), and apply formatting to get at the specific desired glyphs. In addition to the Unicode mapping of default glyphs, the font has OpenType layout tables which tell it which glyphs to use when other forms are desired instead, such as small caps or swashes. These tables also specify which glyphs should turn into ligatures, or when a script font needs different glyphs for a letter when it's at the beginning, middle or end of a word, or is a word by itself.

Having the transformations distinct from the underlying text enables the magical activities described at the beginning of this article. For example, when an OpenType savvy application displays the ffi ligature, it still knows that the underlying text is an ffi; it is just getting the ligature by means of formatting it as a ligature, with the substitution happening automatically. If the user changes to a font that doesn't have the ffi ligature, the text might change to an f plus and fi ligature, or to the three separate letters, depending on what's supported in the newly selected font. It all happens automatically, and the underlying text doesn't get "broken" by font changes.

All of this is very nice for Latin-based languages such as Spanish and English, but it's not essential. However, OpenType or something like it is essential for proper typesetting of languages that use "complex scripts" such as Arabic or the Indic languages. Having letters take different forms based on their position in the word is a basic part of how Arabic works, for example.

Complex scripts also require that some glyphs and even ligatures be contextual. That is, a different glyph or ligature may be required due to the glyph(s) before and/or after. But once the technology is in place, even Latin fonts can take advantage of it. Adobe's Caflisch Script Pro and Bickham Script Std both take great advantage of these capabilities.

OpenType layout features
So far, we've mentioned in passing a number of OpenType layout features. There are in fact too many to list and explain them all here, and some are only relevant to particular non-Latin scripts.

One interesting thing is that a number of the OpenType layout features are typographic effects that can be done by scaling, but doing so yields typographically poor results. For example, scaling down capitals to use as small capitals creates small cap letters that are too light and thin compared to the caps and lower case letters. The same problem applies to ordinals, fractions, superscript and subscript.

Other OpenType layout features can't be simulated by scaling. Without a technology like OpenType, one would have to switch to a separate font. This applies to features such as ligatures, swashes, titling alternates, and many others.

OpenType support today
So, OpenType is great in theory. But can people actually use it? What about compatibility, and the availability of applications and fonts?

Generally, compatibility has been surprisingly good. The first thing to know is that using OpenType fonts doesn't require giving up your existing font library. It's not like GX, which forced you to convert existing fonts to a new format. In fact, Adobe carefully modified the names of all their OpenType fonts so they would not conflict with the old Type 1 names. You can use them side-by-side if you wish.

Although many older applications can't use the advanced features or language support that can be built into OpenType fonts, people using these programmes still get the benefits of single-file, cross-platform fonts. There have been a few compatibility glitches here and there, but most are easily worked around, or solved by upgrading software to the latest versions. See the OpenType readme (listed in the Resources) for more details.

One of the reasons that compatibility has been so high is that Adobe and Microsoft spent years laying the foundation for OpenType to work seamlessly. The entire system-level architecture is designed for backwards compatibility. For example, once it goes through a system-level printer driver, an OpenType font is indistinguishable from a Type 1 font (if it has PostScript outlines) or a TrueType font (if it has TrueType outlines). It is these sorts of decisions that make OpenType work smoothly in most applications, even if the software developer had never heard of OpenType when they wrote their programme. So, while the fonts work, where are the applications that support their added benefits? Today, applications supporting OpenType layout features are still in the minority, except for Adobe's own applications. Microsoft Office for Windows supports considerable functionality, but only for those languages that require it for basic typesetting functionality in that language (e.g. Arabic). Adobe Illustrator, Photoshop and InDesign support many of the features that are of interest for western and East Asian languages.

Because it is such an important programme in the design community, I am often asked about QuarkXPress' support for OpenType. In other press interviews, Quark has said that they are working on OpenType layout support. However, QuarkXPress 6 does not yet speak Unicode, let alone understand advanced OpenType layout features. Because of the complexity of switching to Unicode, it seems that the earliest one might even hope for Quark to support OpenType layout would be QuarkXPress 7. In the meantime, would you care to check out my company's rather spiffy application, Adobe InDesign?

That leaves us with the availability of the fonts themselves. Two years ago, there were only a handful of OpenType fonts, and almost all of them were from Adobe. Today, there are thousands available from over two dozen companies. The entire Adobe Type Library of over 2,200 fonts is available in OpenType format. URW++ has released over 1,000 OpenType fonts. The other large foundries (besides Adobe) such as Linotype and Agfa Monotype have publicly said that they believe OpenType is the format of the future, and that they are developing OpenType fonts. Most of Microsoft's system fonts, and Apple's Japanese system fonts, are OpenType. Also, several well-known smaller foundries, such as migr and House Industries, have released OpenType fonts. All that is just on the Latin side; OpenType is also being embraced by major type foundries operating in other scripts, such as Morisawa and FontWorks making Japanese fonts.

However, although there are many fonts available, just being in the OpenType format does not mean that a font has extended language support or extra typographic features. Indeed, only about 1/3 of the OpenType fonts available from Adobe have significant added features or extended language support. To examine the features present in an Adobe OpenType font before purchase, one can use the Adobe Web site to examine the language support and typographic features of the font.

For fonts you already have, it is possible to install a Font Properties Extension from Microsoft that allows users to right-click on a font to see a much expanded set of properties, which includes language support and OpenType layout features.

The Future
From speaking with my colleagues at type conferences around the world, I know that most people in the font industry now accept that OpenType is the direction in which the industry is going. The only questions are when the applications will reach critical mass, and when the big foundries will convert their type libraries. With the fall 2003 announcement of the Adobe Creative Suite, featuring Unicode and OpenType support in Illustrator CS, this critical mass may have finally arrived.

For end users, it's generally not a question of whether to switch, but when you will start using OpenType alongside your other fonts. As the number of available OpenType fonts has recently increased dramatically, the advantages are many and the limitations are few, it may be sooner than you think.

Unicode: the universal character encoding
Unicode is a platform-independent universal text character encoding scheme for multi-lingual support. In the Unicode standard, each character gets a unique numbered slot, and slots are not re-used. This will eventually eliminate the problem wherein the character code specified on Windows is not the same as that on the Mac OS, so that what's an on one platform becomes something quite different on the other.

Unicode deals with characters rather than glyphs. That is, it only deals with semantic rather than typographic distinctions (with a few exceptions for compatibility with existing standards). As a result, there is no place for things such as small capitals within Unicode itself; the Unicode standard assumes that such distinctions will be made elsewhere. Clearly this suggests that something like OpenType needs to be layered on top of Unicode.

Unicode is a standard for encoding text, whether internally for an application's own use in processing, or in files. Thus, there is such a thing as a "Unicode plain text file." OpenType fonts have a built-in mapping from Unicode characters to glyphs in the font, for better cross-platform functionality. Such mapping is optional in TrueType fonts, and not built into the font at all for Type 1 fonts. Note that there can only be one default glyph for a given Unicode codepoint; if other forms are desired, they must be specified by some other means, such as OpenType layout features.

The Unicode standard is defined by The Unicode Consortium, an open group whose membership currently includes Microsoft, Apple, Adobe, IBM, Xerox, HP, and virtually every other key player in the information industry. It is an evolving standard, now at version 4, but few changes being made moving forward will have any effect on most users.

Unicode is natively supported in Windows NT 4, 2000 and XP, and in Mac OS X. Besides just switching to a different language keyboard and typing, each OS offers a means of directly accessing any Unicode character in any font. On Mac OS X, it's the Character Palette, while on Windows, it's the Character Map accessory.

However, older applications must be revised to use Unicode. Among common design applications today, Adobe InDesign, Photoshop and the newest version of Illustrator offer significant Unicode support (as do our video applications, Premiere and After Effects). The Windows version of Microsoft Office also supports Unicode, but currently the Mac OS version does not. It is clear that Unicode is where text is going; the only question is how long it will take all your favourite software to adopt it.

For more information about OpenType and other formats

OpenType & Font Formats
User Guide for OpenType: General information
OpenType Read Me file: All significant known tech issues

Article on font formats: "TrueType, PostScript Type 1 & OpenType: What's the difference?"

IBM intro to Unicode

Unicode Consortium

About this article
Parts 1 and 2 of this article were previously published in tipoGrafica 62, year XVIII, August, September, 2004, p. 28 to 33. Translated from Spanish by Peggy Jones and Martin Schmoller.

About Thomas Phinney
Thomas Phinney is a frequent conference speaker and occasional writer who is involved in the technical, artistic, historical and business aspects of type, with a special concern for the issues experienced by end users. He has worked in Adobe's type group for six years, currently as fonts programme manager. Phinney has a Master's degree in graphic arts publishing, specializing in typography and design, from the Rochester (NY) Institute of Technology, and a Master's of business administration from the University of California at Berkeley.