Adobe releases source code for OpenType font-development tools

Benefits for LWN subscribers The primary benefit from subscribing to LWN is helping to keep us publishing, but, beyond that, subscribers get immediate access to all site content and access to a number of extra site features. Please sign up today!

Adobe made a surprise announcement at the annual ATypI conference in Barcelona, Spain, releasing one of the company's proprietary font-production tools under an open-source license. In addition, the team convinced another popular font-development project to release its core library as open source, too. Adobe framed the release as a move designed to help improve the quality of fonts produced with any application, but there may be other benefits as well—such as increasing the spread of Adobe's own open fonts. Up until now, those fonts have not been redistributable by many other free-software projects, precisely because the production tools needed to build them remained closed.

David Lemon, manager of Adobe's type team, made the announcement in his talk entitled "A win/win approach to open source." Lemon began the session by recounting Adobe's history with open-source software, as well as his personal involvement. Over the 28 years he has spent at Adobe, he said, he had gone from thinking that open source was "just plain crazy" to becoming one of its biggest advocates within the company.

Standardization and platforms

Lemon noted that free software has its roots in communities like academia that regard sharing information as the default policy and as an ethical position, while "open source" puts the emphasis on the quality of the code produced. Inside Adobe, he explained, both viewpoints have proven important at differing times. The company has long understood the value that comes from publishing a public specification, which it did, for example, with PostScript in 1984. Despite PostScript being given away, he noted, the product still makes money for Adobe today.

Similarly, Adobe published the Type 1 font format in 1990 in the face of competition from TrueType, which was a joint effort of Apple and Microsoft. There are many other reasons why Type 1 has survived, he said, but publishing an open specification was certainly one of them. The PDF specification was another such giveaway, and became a critical platform on which many other products are built. That cemented the idea within Adobe that publishing a standard rather than keeping it secret was a path to success.

At the same time, though, Adobe still struggled to make technologies like Type 1 viable in the marketplace because operating system vendors controlled the platform. The company's initial attempt to circumvent this hurdle was Adobe Type Manager (ATM), a proprietary product that added real-time Type 1 rasterization to Windows and Macintosh systems. Though popular with graphic designers (in part due to its other functions, like managing large font collections), ATM was never a money maker. Eventually, Adobe decided instead to work directly with Apple and Microsoft to get Type 1 rendering incorporated directly into the operating system. The result was that Type 1 gained "equal citizenship on the desktop."

As everyone now recognizes, though, Apple and Microsoft desktop systems are no longer the only platforms that matter—and perhaps not even the most important ones. So, Lemon said, when Adobe realized a few years ago that it was now facing a similar situation with mobile platforms and the web, it decided to take a different approach. The issue at hand was making the Compact Font Format (CFF), the modern successor to Type 1, viable for browsers and mobile devices. On those platforms, TrueType fonts still dominated, but essentially for legacy reasons.

So the company took its CFF rasterizing engine, released it as an open-source product, and donated it to the FreeType project—thus bringing high-quality CFF support to Android and to the most popular web browsers. Adobe still maintains the CFF rendering code to this day, Lemon added. And Adobe has rolled out many other open-source products and projects, he said: the company currently has 99 repositories active on GitHub.

Fonts and tools

One of Adobe's first major open-source products was the online code editor Brackets. Brackets and other such products require fonts with compatible licensing, of course, and Lemon noted that six or seven years ago when the effort began, Adobe did not see any open fonts it was satisfied with. So the company's type team "rolled it own"—first Source Sans Pro, followed by Source Code Pro, and, most recently, Source Serif Pro and the massive pan-CJK (Chinese-Japanese-Korean) font Source Han Sans. The family of fonts has expanded to numerous weights, added scripts like Cyrillic and Greek, and has added features at the request of Adobe product teams—and occasionally outsiders.

That said, Lemon did express some disappointment that there have been few contributions to the fonts from third parties. Adobe had donated fonts to the X Window Consortium years ago, he noted, but the Source Pro project was supposed to be different—a project, not a donation. The magnitude of the response from users was overwhelming, he said, and "although we're quite proud of our QA," the fonts' hundreds of thousands of users "find every little issue" to file a bug report on. To date, though, only one outside designer has contributed a significant number of glyphs.

But one major prerequisite to contributing is access to the tools for building and testing the fonts. This is where Adobe Font Development Kit for OpenType (AFDKO) comes into play. AFDKO is a suite of tools for validating and modifying fonts in the OpenType format (which can encapsulate either TrueType or CFF data). It is also a key part of Adobe's build and release processes. The company regards it as a platform-growing asset intended to spread OpenType adoption; although proprietary applications can work with it and the company provides AFKDO training, it is not a product intended for monetization. Lemon pointed out that it has been available free-of-charge since 2000 (at least for Windows and Mac OS X). The company even released a Linux version in March of 2014.

But free-of-charge simply is not sufficient for all users. Open-source projects could not package AFDKO for license-compatibility reasons, and some projects will not accept binaries (such as fonts) built with any proprietary tools. In addition, Lemon said, there were even some proprietary software companies that would not allow their employees to install and use AFDKO, because the company legal team objected to the end-user license agreement (he named Apple as one such company, but called it a recurring issue).

So, although Adobe wanted AFDKO to improve OpenType support everywhere, it was not having the desired effect. Furthermore, he added, "there is only one open-source font editor, and it sucks"—although he quickly added that was happy to see that there is a lot of recent work going into it, with a number of improvements.

The solution was to make AFDKO open-source software. Lemon said he was excited to announce that as of now, AFDKO is available under the Apache 2.0 license from the Adobe type team's GitHub repository. The existing, pre-packaged version will also remain available under the old terms, "for simplicity's sake," he said.

Around the FDK

Lemon then took a few minutes to detail the contents of the repository. There are around 20 utilities included. Many are Python or shell scripts, but he cautioned that the initial release was "batteries not included." Specifically, installation scripts are missing for the time being, and dependency issues or other hurdles should be expected.

The main use cases of the AFDKO tools are quickly adding the advanced features of the OpenType file format to an existing font, running quality-control and validation checks, and automating build operations. The AFDKO site maintains a description of each tool's capabilities.

Unfortunately, he said, there are two pieces of the original AFDKO that the team was unable to include in the open-source release. Both contain patented code from elsewhere in Adobe, which those other projects were not interested in releasing. One is the checkOutlines tool, which performs a number of validation checks on the Bézier curves in a font—most importantly, removing overlaps. The other is IS—for "intelligent scaling"—which is used to rescale fonts while automatically adjusting the embedded TrueType hints. Lemon noted that the team had identified a possible replacement for checkOutlines already.

Lemon also told the audience that, although he hopes the open-source AFDKO will help improve other font tools, he also hopes that people will contribute their own improvements back to AFDKO. Already the team has begun extending its capabilities, he said. The initial release includes a new set of interpolation functions based on the engine found in Erik van Blokland's highly successful Superpolator application.

Superpolator itself remains closed source, but the AFDKO team convinced Van Blokland to package the core engine into a reusable library, which he also released under an open-source license during the conference. The library is called MutatorMath, and is available from its own GitHub repository under a BSD license. MutatorMath can interpolate entire fonts based on an arbitrary number of interpolation axes (e.g., weight, width, slant, contrast, serif style, etc).

Up next

Lemon concluded his talk by promising that although open source may not take over Adobe, "as long as it continues improving our work, we'll keep doing it." He said more source code was still to come from the type team, starting with some CJK tools built during the development of Source Han Sans.

Outside of the ATypI venue, the AFDKO and MutatorMath releases did not go unnoticed by the free-software community. Shortly after the release announcements (which had been rumored, if not expected, in several circles), a Debian intent to package (ITP) issue was opened up for AFDKO. Bug reports have already started appearing in GitHub, particularly with regard to the dependencies and the build process.

Perhaps most interesting to note is that Debian developers have also announced their desire to package the Source Pro fonts in the wake of the AFDKO release. The software tools may benefit FontForge (the open-source font editor that, presumably, Lemon referred to in his critique) and other free-software applications, but that will take time. The most immediate impact of the release may be that it will, for the first time, be possible to build Adobe's open fonts from source using only free software. Lemon did not delve into the details of that issue during his talk, but being unable to build the Source Pro family with free software has undoubtedly kept at least some potential contributors away.

It is hard to predict whether or not any major contributions might arise as a result, of course, but a fully open-source build chain certainly opens the door to any number of new developments down the line.

