Linux and Android users may have recently noticed that the text on their mobile screens is a bit easier to read. That's because devices that render fonts using the FreeType open source library now have access to Adobe's CFF Engine. In June, Adobe joined with Google and FreeType to add its CFF font rasterizer technology, previously availalble only to Windows and Mac users, to the FreeType Project.
"Because CFF fonts rely on the intelligence of the rasterizer to ensure that each letterform is represented as faithfully as possible, including the Adobe CFF Engine in FreeType is a step toward improving how CFF fonts display on the billions of devices that use FreeType," said Nicole Minoza, Adobe’s product marketing manager for Type Globalization Core services, via email.
Here, Minoza discusses how the addition of Adobe's CFF Engine to FreeType benefits Linux and Android users and developers; why Adobe released its CFF Engine to the open source community; and other open source projects underway at Adobe.
How was the CFF engine built, and what was Adobe using it for?
Adobe has several font rasterization engines, each with its own focus. The CFF engine donated to FreeType is based on one Adobe initially developed specifically for use in mobile devices. The best-known use of that engine is in Flash. Adobe worked with FreeType to port the code to FreeType’s environment & style and helped make adjustments to ensure it works optimally within FreeType.
How does the CFF Engine make a developer’s job easier?
There are two primary font formats used in the world today – TrueType and CFF. TrueType was developed by Apple in 1990, while CFF (the Compact Font Format) was developed by Adobe as a second-generation form of the Type 1 format (often called PostScript fonts) that Adobe first released in 1984. In the case of CFF, high-quality rasterization engines were built into Windows and Macintosh operating systems as part of agreements between Adobe, Apple and Microsoft. However, many other users have not had access to that technology, and have been using FreeType to provide the screen rendering of fonts.
While FreeType is an excellent solution, the quality of the rendering of CFF fonts has been deficient, and, as such, Linux developers who have been relying on FreeType have had to be content with sub-par rendering of CFF fonts. With the addition of Adobe’s rasterization technology, FreeType developers will be able to rely on the same quality of glyph rendering that people have come to expect from Windows and Mac operating systems. This will allow them to choose from tens of thousands of fonts available in the CFF format.
What has been the issue with displaying CFF fonts on Linux and Android devices?
Although CFF fonts have been widely popular on the desktop over the last decade, the Web and mobile devices almost exclusively use TrueType. This reflects the legacy of low-resolution monochrome displays, an area where “superhinted” TrueType fonts could produce better results. With the inclusion of the Adobe CFF Engine in FreeType this is no longer the case. Users can expect high-quality rasterization of CFF fonts on devices that use FreeType and developers have more fonts from which to choose and will enjoy the benefits of CFF – smaller file size and powerful hinting.
Why did Adobe decide to release CFF engine to the open source community?
Adobe has become much more active in contributing to open source projects over the last five years. Many of those efforts have been contributions which benefit the web community and the burgeoning market for mobile devices. At Adobe, the proper use and consumption of type has always been a goal. This dates back to the birth of our company and is evident in the creative products that Adobe develops – most of which require interaction with typefaces. The lack of high-quality rasterization for CFF in FreeType was something that we were aware of, but this was increased when Google reached out to us.
As you are probably aware, Google is a strong proponent of open-sourced technologies, and they currently use FreeType in Android and Chrome OS. When Adobe realized how widespread the usage of FreeType was, we looked into making our technology available so that their users could also benefit from high-quality rendering of CFF fonts. Partnering with Google and FreeType helped us to make that happen.
The release happened more than a month ago, what have been some early results?
Well, the release was issued as a beta, and was not turned on by default. Releasing it as a beta allowed developers who were interested to start testing, as well as to make their own comparisons to the previous rasterization engine. The beta was met with very positive feedback, not only from FreeType users, but also from the FreeType organization and Google. This resulted in some minor tweaks which make the latest version available in build 2.5 of FreeType even better. The updated version of the Adobe CFF Engine was accepted by FreeType on June 19 and is now on by default.
What other open source projects are you working on that benefit Linux and Android developers and users?
Adobe contributes both our own technologies directly as well as to projects outside of Adobe. We are active members of a number of Apache Foundation projects, such as Apache Chemistry, Apache Felix, Apache Jackrabbit, and Apache Sling. We have also contributed Flex, (now Apache Flex) and PhoneGap (now Apache Cordova) to the Foundation. We also contributed our work in jQuery Mobile to the jQuery Foundation, and continue to contribute to efforts like Webkit.
Adobe also has released significant technologies under open source licenses, including Brackets (a code editor for the web), CSS technology enhancements and implementations such as Topcoat for developing web apps, font set like Source Sans and Source Pro.
For more information on Adobe's open source efforts, please visit http://adobe.com/open-source.