The Saffron Type System is a system for rendering high-quality
scalable type on digital displays. It was developed by
Mitsubishi Electric Research Laboratories
Mitsubishi Electric Research Laboratories (MERL) is a subsidiary of Mitsubishi Electric US Holdings, Inc., which, in its turn, is the principal subsidiary of Mitsubishi Electric in the United States. MERL is the North American arm of the Corpora ...
, and is built on a core of adaptively-sampled distance field (ADF) technology. Saffron has been licensed to Adobe and Monotype and is shipping in numerous products such as the
Adobe Flash Player
Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is Software, computer software for viewing multimedia contents, executing rich Internet applications, and streaming media, streaming audio and vide ...
and Amazon Kindle. Saffron has been implemented in both software and hardware.
Principles
Antialiasing
Saffron performs
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording.
Specific topics in anti-aliasing include:
* Anti-aliasing filter, a filter used be ...
by first computing an explicit or implicit adaptively-sampled distance field (ADF)
and then mapping distance values to densities. This renders beautiful curves, captures small details, and preserves the nuances of the original font design. Although only one distance sample is needed per
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device.
In most digital display devices, pixels are the smal ...
to achieve high-quality results, the program can use up to 3 samples per pixel to optimize image quality for
LCD displays. The computation of a distance sample requires only linear interpolation and can be updated incrementally from pixel to pixel, thereby making the rendering process simple and efficient. For a more comprehensive treatment of distance-based
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording.
Specific topics in anti-aliasing include:
* Anti-aliasing filter, a filter used be ...
, see "A New Framework for Representing, Rendering, Editing, and Animating Type", Ronald N. Perry and Sarah F. Frisken, MERL, 2002.
Explicit and implicit ADFs
Saffron supports two types of ADFs for representing glyphs: explicit ADFs and implicit ADFs. A compile time flag controls the selection of which ADF type to use throughout the system.
Explicit ADF generation uses top-down spatial subdivision to generate a spatial hierarchy of explicit ADF cells, where each explicit ADF cell contains a set of sampled distance values and a reconstruction method; explicit ADF rendering reconstructs the distance field within each explicit ADF cell using its reconstruction method and then maps the reconstructed distances to density values.
In contrast, implicit ADF cells are not generated initially, but are generated on-demand during rendering. More specifically, implicit ADF generation preprocesses an ADFPath (which represents a glyph); it generates implicit ADF cells from the preprocessed ADFPath and renders each implicit ADF cell by first reconstructing the distance field within the implicit ADF cell using its reconstruction method and then mapping the reconstructed distances to density values.
Specific features
Math modes
The Saffron library offers both
floating-point
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
and
fixed-point implementations of the renderer with identical image quality. The fixed-point implementation is ideal for
embedded systems
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
and
mobile devices
A mobile device (or handheld computer) is a computer small enough to hold and operate in the hand. Mobile devices typically have a flat LCD or OLED screen, a touchscreen interface, and digital or physical buttons. They may also have a physical ...
, which often lack floating-point hardware.
Glyph formats
The program supports traditional
outline-based fonts, uniform-width
stroke-based fonts, and Stylized Stroke Fonts (SSFs). Stroke-based fonts are useful for memory-constrained applications (e.g., embedded systems) because they occupy a much smaller footprint than outline-based fonts and are also faster to render. For example, outline-based fonts containing the GB2312 character set often require well over 3 MB of storage, whereas the same character set can be represented compactly in a stroke-based font with only 250 KB. However, since each stroke has a uniform width, USFs lack the expressiveness and the cultural acceptance of their outline-based counterparts. Saffron supports an improved representation for stroke-based fonts called Stylized Stroke Fonts (SSFs) which provide the expressiveness of traditional outline-based fonts and the small memory footprint of USFs. For details, see “An Improved Representation for Stroke-based Fonts”, SIGGRAPH 2006 Conference Abstracts and Applications, Elena J. Jakubiak, Ronald N. Perry, and Sarah F. Frisken.
Grid fitting
Saffron features an automatic grid fitting system that aligns strong vertical and horizontal edges of glyphs to the pixel grid or to the sub-pixel grid. This grid fitting system provides better contrast, uniform stroke weights, and consistent characteristic distances. Standard Alignment Zones (SAZ) currently support several alphabets, including
Arabic
Arabic (, ' ; , ' or ) is a Semitic languages, Semitic language spoken primarily across the Arab world.Semitic languages: an international handbook / edited by Stefan Weninger; in collaboration with Geoffrey Khan, Michael P. Streck, Janet C ...
,
Devanagari
Devanagari ( ; , , Sanskrit pronunciation: ), also called Nagari (),Kathleen Kuiper (2010), The Culture of India, New York: The Rosen Publishing Group, , page 83 is a left-to-right abugida (a type of segmental Writing systems#Segmental syste ...
,
Hebrew
Hebrew (; ; ) is a Northwest Semitic language of the Afroasiatic language family. Historically, it is one of the spoken languages of the Israelites and their longest-surviving descendants, the Jews and Samaritans. It was largely preserved ...
,
Latin
Latin (, or , ) is a classical language belonging to the Italic branch of the Indo-European languages. Latin was originally a dialect spoken in the lower Tiber area (then known as Latium) around present-day Rome, but through the power of the ...
, and
Thai
Thai or THAI may refer to:
* Of or from Thailand, a country in Southeast Asia
** Thai people, the dominant ethnic group of Thailand
** Thai language, a Tai-Kadai language spoken mainly in and around Thailand
*** Thai script
*** Thai (Unicode block ...
. The SAZ grid fitting system requires no changes to existing typefaces and is particularly advantageous when hints are unavailable or have been removed to save space. Unhinted fonts typically occupy significantly less space than their hinted counterparts.
Saffron also features an automatic Multiple Alignment Zone (MAZ) grid fitting system, which is optimized specifically for Asian character sets such as Chinese, Japanese, and Korean. MAZ grid fitting leads to dramatic improvements in rendering quality. The MAZ grid fitting system detects strong horizontal and vertical edges and aligns them to the pixel grid. The MAZ algorithms work with both outline-based fonts and stroke-based fonts, run dynamically during rendering, and operate fully automatically with no user parameters required. The program fully supports application-hinted glyphs, allowing applications to override Saffron's automatic grid fitting algorithms by using their own hints (e.g., TrueType hints) to perform grid fitting.
Character simplification
Chinese, Japanese, and Korean characters often contain many strokes which are difficult to render distinctly at small sizes. Simply aligning horizontal and vertical strokes to the pixel grid (e.g., by rounding each stroke to the nearest grid point) is not sufficient to produce a clear image. Saffron's MAZ grid fitting system performs character simplification (as needed) to ensure that each character remains clear and legible, even at small sizes.
Sub-pixel rendering
The program supports sub-pixel rendering to optimize image quality for LCD displays. Although RGB vertical striped arrays are common, Saffron can also render to alternative pixel patterns such as RGB delta arrays, which are often used on digital camera LCDs. In addition, prototype implementations of Saffron are optimized for Clairvoyante's
PenTile PenTile matrix is a family of patented subpixel matrix schemes used in electronic device displays. PenTile is a trademark of Samsung. PenTile matrices are used in AMOLED and LCD displays.
These subpixel layouts are specifically designed to opera ...
patterns. During sub-pixel rendering, the program reduces color fringing artifacts that would otherwise be visible at small sizes.
Continuous stroke modulation
Saffron exploits the inherent properties of distance fields to provide continuous stroke modulation (CSM), the continuous modulation of both stroke weight and edge sharpness. This allows users to tune the appearance of text to suit individual preference. For example, sharper, softer, thinner, and thicker versions of the same typeface can be rendered by using different CSM parameters.
References
Adaptively Sampled Distance Fields: A General Representation of Shape for Computer Graphics, SIGGRAPH 2000 Conference Proceedings, Sarah F. Frisken, Ronald N. Perry, Alyn P. Rockwood, and Thouis R. Jones.A New Framework for Representing, Rendering, Editing, and Animating Type, Ronald N. Perry and Sarah F. Frisken, MERL, 2002An Improved Representation for Stroke-based Fonts, SIGGRAPH 2006 Conference Abstracts and Applications, Elena J. Jakubiak, Ronald N. Perry, and Sarah F. Frisken.*U.S. Patent: Detail-Directed Hierarchical Distance Fields, Sarah Frisken, Ronald Perry, and Thouis Jones
*U.S. Patent: Method for Antialiasing an Object Represented as a Two-Dimensional Distance Field in Image-Order, Ronald Perry and Sarah Frisken
*U.S. Patent: Method for Antialiasing an Object Represented as a Two-Dimensional Distance Field in Object-Order, Sarah Frisken and Ronald Perry
*U.S. Patent: Method and Apparatus for Antialiasing a Set of Objects Represented as a Set of Two-Dimensional Distance Fields in Image-Order, Ronald Perry and Sarah Frisken
*U.S. Patent: Method and Apparatus for Antialiasing a Set of Objects Represented as a Set of Two-Dimensional Distance Fields in Object-Order, Sarah Frisken and Ronald Perry
*U.S. Patent: Methods for Generating an Adaptively Sampled Distance Field of an Object with Specialized Cells, Sarah Frisken and Ronald Perry
*U.S. Patent: Method and Apparatus for Rendering Cell-Based Distance Fields Using Texture Mapping, Ronald Perry and Sarah Frisken
External links
Mitsubishi Electric Research Laboratories (MERL) websitePortal website for Mitsubishi companies
{{Mitsubishi Electric
Digital typography
Mitsubishi Electric products, services and standards