OpenType is a format for scalable
computer font
A computer font is implemented as a digital data file containing a set of graphically related glyphs. A computer font is designed and created using a font editor. A computer font specifically designed for the computer screen, and not for pri ...
s. It was built on its predecessor
TrueType
TrueType is an outline font standard developed by Apple in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript. It has become the most common format for fonts on the classic Mac OS, macOS, and Microsoft Windows opera ...
, retaining TrueType's basic structure and adding many intricate data structures for prescribing
typographic
Typography is the art and technique of arranging type to make written language legible, readable and appealing when displayed. The arrangement of type involves selecting typefaces, point sizes, line lengths, line-spacing ( leading), a ...
behavior. OpenType is a registered trademark of
Microsoft Corporation
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Was ...
.
The specification germinated at Microsoft, with
Adobe Systems
Adobe Inc. ( ), originally called Adobe Systems Incorporated, is an American multinational computer software company incorporated in Delaware
and headquartered in San Jose, California. It has historically specialized in software for the c ...
also contributing by the time of the public announcement in 1996.
Because of wide availability and typographic flexibility, including provisions for handling the diverse behaviors of all the world's
writing system
A writing system is a method of visually representing verbal communication, based on a script and a set of rules regulating its use. While both writing and speech are useful in conveying messages, writing differs in also being a reliable for ...
s, OpenType fonts are used commonly on major computer platforms.
History
OpenType's origins date to Microsoft's attempt to license
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancesto ...
's advanced typography technology
GX Typography in the early 1990s. Those negotiations failed, motivating Microsoft to forge ahead with its own technology, dubbed "TrueType Open" in 1994. Adobe joined Microsoft in those efforts in 1996, adding support for the glyph outline technology used in its Type 1 fonts.
These efforts were intended by Microsoft and Adobe to supersede both Apple's TrueType and Adobe's
Type 1 ("
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, ...
") font formats. Needing a more expressive font format to handle fine typography and the complex behavior of many of the world's writing systems, the two companies combined the underlying technologies of both formats and added new extensions intended to address those formats' limitations. The name OpenType was chosen for the combined technologies, and the technology was announced later that year.
Open Font Format
Adobe and Microsoft continued to develop and refine OpenType over the next decade. Then, in late 2005, OpenType began migrating to an open standard under the
International Organization for Standardization
The International Organization for Standardization (ISO ) is an international standard development organization composed of representatives from the national standards organizations of member countries. Membership requirements are given in A ...
(ISO) within the
MPEG
The Moving Picture Experts Group (MPEG) is an alliance of working groups established jointly by ISO and IEC that sets standards for media coding, including compression coding of audio, video, graphics, and genomic data; and transmission an ...
group, which had previously (in 2003) adopted OpenType 1.4 by reference for
MPEG-4
MPEG-4 is a group of international standards for the compression of digital audio and visual data, multimedia systems, and file storage formats. It was originally introduced in late 1998 as a group of audio and video coding formats and related ...
.
Adoption of the new standard reached formal approval in March 2007 as ISO Standard
ISO/IEC
ISO/IEC JTC 1, entitled "Information technology", is a joint technical committee (JTC) of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). Its purpose is to develop, maintain and pr ...
14496-22 (MPEG-4 Part 22) called Open Font Format (OFF, not to be confused with
Web Open Font Format). It is also sometimes referred to as "Open Font Format Specification" (OFFS).
The initial standard was technically equivalent to OpenType 1.4 specification, with appropriate language changes for ISO. The second edition of the Open Font Format was published in 2009 (ISO/IEC 14496-22:2009) and was declared "technically equivalent" to the "OpenType font format specification".
Since then, the Open Font Format and the OpenType specification have continued to be maintained in sync. OFF is a free, publicly available standard.
By 2001 hundreds of OpenType fonts were on the market. Adobe finished converting their entire font library to OpenType toward the end of 2002. , around 10,000 OpenType fonts had become available, with the Adobe library comprising about a third of the total. By 2006, every major
font foundry and many minor ones were developing fonts in OpenType format.
Unicode Variation Sequences
Unicode version 3.2 (published in 2002) introduced
variation selectors as an encoding mechanism to represent particular glyph forms for characters. Unicode did not, however, specify how text-display implementations should support these sequences. In late 2007, variation sequences for the Adobe-Japan1 collection were registered in the Unicode Ideographic Database, leading to a real need for an OpenType solution. This resulted in development of cmap subtable Format 14, which was introduced in OpenType version 1.5.
Color fonts
Unicode version 6.0 introduced
emoji
An emoji ( ; plural emoji or emojis) is a pictogram, logogram, ideogram or smiley embedded in text and used in electronic messages and web pages. The primary function of emoji is to fill in emotional cues otherwise missing from typed conv ...
encoded as characters into Unicode in October 2010. Several companies quickly acted to add support for Unicode emoji in their products. Since Unicode emoji are handled as text, and since color is an essential aspect of the emoji experience, this led to a need to create mechanisms for displaying multicolor glyphs.
Apple, Google and Microsoft independently developed different color-font solutions for use in OS X/iOS, Android and Windows. OpenType / OFF already had support for monochrome bitmap glyph, and so Google proposed that OFF be extended to allow for color bitmaps. This was the approach being taken by Apple, though Apple declined to participate in extending the ISO standard. As a result, Apple added the 'sbix' table to their TrueType format in OS X 10.7, while Google proposed addition of the CBDT and CBLC tables to OFF.
Microsoft adopted a different approach than color bitmaps. Noting existing practice on the Web of layering glyphs of different color on top of one another to create multi-colored elements such as icons, Microsoft proposed a new COLR table to map a glyph into a set of glyphs that are layered, and a CPAL table to define the colors.
Adobe and Mozilla proposed yet another approach: add a new 'SVG ' table that can contain multi-color glyphs represented using
Scalable Vector Graphics
Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium ...
.
The Adobe/Mozilla, Microsoft and Google proposals were all incorporated into the third edition of OFF (ISO/IEC 14496-22:2015). The new tables were added to OpenType version 1.7.
While Microsoft originally supported only the COLR/CPAL color format, support for all of the different color formats, including Apple's 'sbix' format, was added to
Microsoft Windows in the Windows 10 Anniversary Update. The 'sbix' table was subsequently added to OpenType in version 1.8.
In OpenType 1.9, a second version of the COLR table was introduced that adds additional graphics capabilities.
The enhanced version was originally proposed by Google and developed jointly with Microsoft. The enhanced graphic capabilities include support for three types of gradients,
affine transformations,
compositing and
blending modes, and ability to define re-usable components. These enhancements give the COLR table all of the graphic capabilities of the 'SVG ' table that applications are expected to support except for stroking. It also adds compositing and blending modes, support for which is considered optional for the 'SVG ' table (as these are implemented in SVG as filter effects). In addition, the enhancements to the COLR table are integrated with OpenType Font Variations, which is not possible with the 'SVG ' table. The enhanced COLR table is supported in the
Chromium browser engine as of version 98.
OpenType Collections
Since at least version 1.4, the OpenType specification had supported "TrueType Collections", a feature of the format that allows multiple fonts to be stored in a single file. Such a format is useful for distributing an entire
typeface
A typeface (or font family) is the design of lettering that can include variations in size, weight (e.g. bold), slope (e.g. italic), width (e.g. condensed), and so on. Each of these variations of the typeface is a font.
There are thousands ...
(font family) in just one file.
By combining related fonts into a single file, font tables that are identical can be shared, thereby allowing for more efficient storage. Also, individual fonts have a glyph-count limit of 65,535 glyphs, and a Collection file provides a "gap mode" mechanism for overcoming this limit in a single font file. (Each font within the collection still has the 65,535 limit, however.) A TrueType Collection file would typically have a file extension of ".ttc".
However, the specification only described collection files being used in conjunction with glyphs that are represented as TrueType outlines or as bitmaps. The potential existed to provide the same storage and glyph-count benefits to fonts that use CFF-format glyphs (.otf extension). But the specification did not explicitly allow for that.
In 2014, Adobe announced the creation of OpenType Collections (OTCs), a Collection font file that combines fonts that use CFF-format glyphs. This provided significant storage benefits for
CJK fonts that Adobe and Google were jointly developing. For example, the
Noto fonts
Noto is a font family comprising over 100 individual fonts, which are together designed to cover all the scripts encoded in the Unicode standard. , Noto fonts cover all 93 scripts defined in Unicode version 6.1 (April 2012), although fewer than ...
CJK OTC is ~10 MB smaller than the sum of the four separate OTFs of which it is composed. The use of a Collection also allowed for combining a very large number of glyphs into a single file, as would be needed for a pan-CJK font.
Explicit support for Collections with CFF-format glyphs was incorporated into the OpenType specification in version 1.8.
To reflect this more-inclusive applicability, the term "OpenType Collection" was adopted, superseding "TrueType Collection".
OpenType Font Variations
On September 14, 2016, Microsoft announced the release of OpenType version 1.8. This announcement was made together with Adobe, Apple, and Google at the
ATypI
The ATypI () or Association Typographique Internationale (the International Typography Association) is an international non-profit organisation dedicated to typography and type design. The primary activity of the association is an annual fall conf ...
conference in Warsaw. OpenType version 1.8 introduced "OpenType Font Variations", which adds mechanisms that allow a single font to support many design variations. Fonts that use these mechanisms are commonly referred to as "
OpenType variable fonts".
OpenType Font Variations re-introduces techniques that were previously developed by Apple in
TrueType GX, and by Adobe in
Multiple Master fonts. The common idea of these formats is that a single font includes data to describe multiple variations of a glyph outline (sometimes referred to as "masters"), and that at text-display time, the font rasterizer is able to interpolate or "blend" these variations to derive a continuous range of additional outline variations.
The concept of fully parametric fonts had been explored in a more general way by
Donald E. Knuth in the
METAFONT system, introduced in 1978. That system and its successors were never widely adopted by professional type designers or commercial software systems. TrueType GX and Multiple Master formats, OpenType Font Variations' direct predecessors, were introduced in the 1990s, but were not widely adopted, either. Adobe later abandoned support for the Multiple Master format. This has led to questions as to whether a re-introduction of similar technology could succeed. By 2016, however, the industry landscape had changed in several respects. In particular, emergence of Web fonts and of mobile devices had created interest in
responsive design and in seeking ways to deliver more type variants in a size-efficient format. Also, whereas the 1990s was an era of aggressive competition in font technology, often referred to as "the font wars", OpenType Font Variations was developed in a collaborative manner involving several major vendors.
Font Variations is integrated into OpenType 1.8 in a comprehensive manner, allowing most previously-existing capabilities to be used in combination with variations. In particular, variations are supported for both TrueType or CFF glyph outlines, for TrueType hinting, and also for the OpenType Layout mechanisms. The only parts of OpenType for which variations are not supported but might potentially be useful are the 'SVG ' table for color glyphs, and the MATH table for layout of mathematical formulas. The 'SVG ' table uses embedded XML documents, and no enhancement for variation of graphic elements within the SVG documents has been proposed. However, enhancement to the COLR table in OpenType 1.9 has provided a vector format for color glyphs with support for variations.
OpenType 1.8 made use of tables originally defined by Apple for TrueType GX (the avar, cvar, fvar and gvar tables). It also introduced several new tables, including a new table for version 2 of the CFF format (CFF2), and other new tables or additions to existing tables to integrate variations into other parts of the font format (the HVAR, MVAR, STAT and VVAR tables; additions to the BASE, GDEF and name tables).
Description
File:Circle and quadratic bezier.svg, TrueType outlines use quadratic Bézier curves.
File:Circle and cubic bezier.svg, CFF outlines use cubic Bézier curves.
OpenType uses the general
sfnt
SFNT is a font file format which can contain other fonts, such as PostScript, TrueType, OpenType, Web Open Font Format (WOFF) fonts and other. SFNT stands for '' spline font'' or ''scalable font'', and was originally developed for TrueType fonts ...
structure of a TrueType font, but it adds several smartfont options that enhance the font's typographic and language support capabilities.
The
glyph
A glyph () is any kind of purposeful mark. In typography, a glyph is "the specific shape, design, or representation of a character". It is a particular graphical representation, in a particular typeface, of an element of written language. A ...
outline data in an OpenType font may be in one of two formats: either TrueType format outlines in a 'glyf' table, or
Compact Font Format (CFF) outlines in a 'CFF ' table. (The table name 'CFF ' is four characters long, ending in a space character.) CFF outline data is based on the
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, ...
language Type 2 font format. However, the OpenType specification (pre-1.8) does not support the use of PostScript outlines in a TrueType Collection font file. After version 1.8, both formats are supported in the renamed "OpenType Collection".
For many purposes, such as layout, it doesn't matter what the outline data format is, but for some purposes, such as
rasterisation
In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whi ...
, it is significant. The OpenType standard does not specify the outline data format: rather, it accommodates any of several existing standards. Sometimes terms like "OpenType (PostScript flavor)" (= "Type 1 OpenType", "OpenType CFF") or "OpenType (TrueType flavor)" are used to indicate which outline format a particular OpenType font file contains.
OpenType has several distinctive characteristics:
* Accommodates the
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
character encoding
Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values t ...
(as well as others), so that it can support any writing script (or multiple scripts at once).
* Accommodates up to 65,536 glyphs.
* Advanced typographic "layout" features which prescribe positioning and replacement of rendered glyphs. Replacement features include
ligature
Ligature may refer to:
* Ligature (medicine), a piece of suture used to shut off a blood vessel or other anatomical structure
** Ligature (orthodontic), used in dentistry
* Ligature (music), an element of musical notation used especially in the ...
s; positioning features include
kerning
In typography, kerning is the process of adjusting the spacing between characters in a proportional font, usually to achieve a visually pleasing result. Kerning adjusts the space between individual letterforms, while tracking (letter-sp ...
, mark placement, and
baseline specification.
* Cross-platform font files, which can be used without modification on Mac OS, Microsoft Windows and Unix/Linux systems.
* If no additional glyphs or extensive typographic features are added, OpenType CFF fonts can be considerably smaller than their Type 1 counterparts.
Comparison to other formats
Compared with
Apple Computer
Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
's "GX Typography"—now called
Apple Advanced Typography (AAT)—and with the
SIL's
Graphite
Graphite () is a crystalline form of the element carbon. It consists of stacked layers of graphene. Graphite occurs naturally and is the most stable form of carbon under standard conditions. Synthetic and natural graphite are consumed on la ...
technology, OpenType is less flexible in typographic options, but superior in language-related options and support. Nevertheless, OpenType has been adopted much more widely than AAT or Graphite, despite AAT being the older technology.
From a font developer's perspective, OpenType is, for many common situations, easier to develop for than AAT or Graphite. First, the simple declarative substitutions and positioning of OpenType are more readily understood than AAT's more complex state tables or the Graphite description language that resembles
C syntax. Second, Adobe's strategy of licensing at no charge the
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
developed for its own font development, AFDKO (Adobe Font Development Kit for OpenType), allowed third-party font editing applications such as
FontLab and
FontMaster to add support with relative ease. Although Adobe's text-driven coding support is not as visual as Microsoft's separate tool, VOLT (Visual OpenType Layout Tool), the integration with the tools being used to make the fonts has been well received.
Another difference is that an OpenType support framework (such as Microsoft's
Uniscribe Uniscribe is the Microsoft Windows set of services for rendering Unicode-encoded text, supporting complex text layout. It is implemented in the dynamic link library . Uniscribe has been released with Windows 2000 and Internet Explorer 5.0. In ad ...
) needs to provide a fair bit of knowledge about special language processing issues to handle certain languages (e.g. Arabic). With AAT or Graphite, the font developer has to encapsulate all that expertise in the font. This means that AAT and Graphite can handle any arbitrary language, but that it requires more work and expertise from the font developers. On the other hand, OpenType fonts are easier to make, but can only support
complex text layout if the application or operating system knows how to handle them.
Prior to supporting OpenType, Adobe promoted
multiple master fonts and
expert fonts for high-end typography. Multiple master fonts were essentially an earlier (and less flexible) version of OpenType variable fonts, but lacked the controls for alternate glyphs and languages provided by OpenType. Expert fonts were a workaround for alternate glyphs, provided instead as separate supplementary fonts, such that certain special characters that had no place in the
Adobe Standard Encoding character set—ligatures, fractions, small capitals, etc.—were placed in the expert font instead. Usage in applications was tricky, with, for example, typing a ''Z'' causing the ''ffl'' ligature to be generated. In modern OpenType fonts alternate glyphs are referenced by their relationship to the default glyph or glyphs (i.e. under what circumstances that glyph should be used) for the particular Unicode codepoint(s).
OpenType support
Basic Roman support
OpenType support may be divided into several categories. Virtually all applications and most modern operating systems have basic Roman support and work with OpenType fonts just as well as other, older formats. Benefits beyond basic Roman support include extended language support through
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
, support for complex writing scripts such as
Arabic
Arabic (, ' ; , ' or ) is a 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. E.Watson; Walte ...
and the
Indic languages, and advanced typographic support for
Latin script
The Latin script, also known as Roman script, is an alphabetic writing system based on the letters of the classical Latin alphabet, derived from a form of the Greek alphabet which was in use in the ancient Greek city of Cumae, in southern ...
languages such as
English
English usually refers to:
* English language
* English people
English may also refer to:
Peoples, culture, and language
* ''English'', an adjective for something of, from, or related to England
** English national id ...
.
Amongst Microsoft's operating systems, OpenType TT fonts (.TTF) are backward compatible and therefore supported by all
Microsoft Windows versions starting with Microsoft Windows 3.1. OpenType PS fonts (.OTF) are supported in all Windows versions starting with Microsoft
Windows 2000
Windows 2000 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It was the direct successor to Windows NT 4.0, and was released to manufacturing on December 15, 1999, and was official ...
;
Adobe Type Manager is required to be installed on Microsoft Windows 95/98/NT/Me for basic Roman support (only) of OpenType PS fonts.
Extended language support
Extended language support via Unicode for both OpenType and TrueType is present in most applications for Microsoft Windows (including
Microsoft Office Publisher, most Adobe applications, and Microsoft Office 2003, though not Word 2002), CorelDRAW X3 and newer, and many Mac OS X applications, including Apple's own such as
TextEdit
TextEdit is an open-source word processor and text editor, first featured in NeXT's NeXTSTEP and OPENSTEP. It is now distributed with macOS since Apple Inc.'s acquisition of NeXT, and available as a GNUstep application for other Unix-like ...
,
Pages and
Keynote
A keynote in public speaking is a talk that establishes a main underlying theme. In corporate or commercial settings, greater importance is attached to the delivery of a keynote speech or keynote address. The keynote establishes the framework fo ...
. It is also widely supported in free operating systems, such as Linux (e.g. in multiplatform applications like
AbiWord
AbiWord () is a free and open-source software word processor. It is written in C++ and since version 3 it is based on GTK+ 3. The name "AbiWord" is derived from the root of the Spanish word "'' abierto''", meaning "open".Project MascoAbi the Ant ...
,
Gnumeric
Gnumeric is a spreadsheet program that is part of the GNOME Free Software Desktop Project. Gnumeric version 1.0 was released on 31 December 2001. Gnumeric is distributed as free software under the GNU General Public License; it is intended to ...
,
Calligra Suite
Calligra Suite is a graphic art and office suite by KDE. It is available for desktop PCs, tablet computers, and smartphones. It contains applications for word processing, spreadsheets, presentation, databases, vector graphics, and digital pai ...
,
Scribus
Scribus () is free and open-source desktop publishing (DTP) software available for most desktop operating systems. It is designed for layout, typesetting, and preparation of files for professional-quality image-setting equipment. Scribus can ...
,
OpenOffice.org 3.2 and later versions, etc.).
OpenType support for
complex written scripts has so far mainly appeared in Microsoft applications in
Microsoft Office
Microsoft Office, or simply Office, is the former name of a family of client software, server software, and services developed by Microsoft. It was first announced by Bill Gates on August 1, 1988, at COMDEX in Las Vegas. Initially a marke ...
, such as
Microsoft Word
Microsoft Word is a word processor, word processing software developed by Microsoft. It was first released on October 25, 1983, under the name ''Multi-Tool Word'' for Xenix systems. Subsequent versions were later written for several other pla ...
and
Microsoft Publisher.
Adobe InDesign
Adobe InDesign is a desktop publishing and page layout designing software application produced by Adobe Inc. and first released in 1999. It can be used to create works such as posters, flyers, brochures, magazines, newspapers, presentations, ...
provides extensive OpenType capability in
Japanese
Japanese may refer to:
* Something from or related to Japan, an island country in East Asia
* Japanese language, spoken mainly in Japan
* Japanese people, the ethnic group that identifies with Japan through ancestry or culture
** Japanese diaspor ...
but does not directly support Middle Eastern or
Indic scripts—though a separate version of InDesign is available that supports Middle Eastern scripts such as Arabic and Hebrew. Undocumented functionality in many Adobe Creative Suite 4 applications, including InDesign, Photoshop and Illustrator, enables Middle Eastern, Indic and other languages, but is not officially supported by Adobe, and requires third-party plug-ins to provide a user interface for the features.
Advanced typography
Advanced typographic support for Latin script languages first appeared in Adobe applications such as
Adobe InDesign
Adobe InDesign is a desktop publishing and page layout designing software application produced by Adobe Inc. and first released in 1999. It can be used to create works such as posters, flyers, brochures, magazines, newspapers, presentations, ...
,
Adobe Photoshop
Adobe Photoshop is a raster graphics editor developed and published by Adobe Inc. for Windows and macOS. It was originally created in 1988 by Thomas and John Knoll. Since then, the software has become the industry standard not only in r ...
and
Adobe Illustrator
Adobe Illustrator is a vector graphics editor and design program developed and marketed by Adobe Inc. Originally designed for the Apple Macintosh, development of Adobe Illustrator began in 1985. Along with Creative Cloud (Adobe's shift to m ...
.
QuarkXPress
QuarkXPress is a desktop publishing software for creating and editing complex page layouts in a WYSIWYG (What You See Is What You Get) environment. It runs on macOS and Windows. It was first released by Quark, Inc. in 1987 and is still owned an ...
6.5 and below were not Unicode compliant. Hence text in these versions of QuarkXPress that contains anything other than
WinANSI/
MacRoman
Mac OS Roman is a character encoding created by Apple Computer, Inc. for use by Macintosh computers. It is suitable for representing text in English and several other Western languages. Mac OS Roman encodes 256 characters, the first 128 of whic ...
characters will not display correctly in an OpenType font (nor in other Unicode font formats, for that matter). However, in QuarkXPress 7, Quark offered support similar to Adobe's. Corel's
CorelDRAW
CorelDRAW is a vector graphics editor developed and marketed by Corel Corporation. It is also the name of the Corel graphics suite, which includes the bitmap-image editor Corel Photo-Paint as well as other graphics-related programs (see below) ...
introduced support for OpenType typographic features in version X6.
Mellel, a Mac OS X-only word processor from Redlers, claims parity in typographic features with InDesign, but also extends the support to right-to-left scripts; so does the
Classical Text Editor, a specialized word processor developed at the Austrian Academy of Sciences.
, popular word processors for Microsoft Windows did not support
advanced OpenType typography features. Advanced typography features are implemented only in high-end
desktop publishing
Desktop publishing (DTP) is the creation of documents using page layout software on a personal ("desktop") computer. It was first used almost exclusively for print publications, but now it also assists in the creation of various forms of online ...
software. The text engine from
Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem (similar to WinForms) originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was init ...
, which is a
managed code implementation of OpenType, is the first Microsoft Windows
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
to expose OpenType features to software developers, supporting both OpenType TrueType, and OpenType CFF (
Compact Font Format) fonts. It supports advanced typographic features such as
ligatures,
old-style numerals,
swash
Swash, or forewash in geography, is a turbulent layer of water that washes up on the beach after an incoming wave has broken. The swash action can move beach materials up and down the beach, which results in the cross-shore sediment exchange. ...
variants,
fractions
A fraction (from la, fractus, "broken") represents a part of a whole or, more generally, any number of equal parts. When spoken in everyday English, a fraction describes how many parts of a certain size there are, for example, one-half, eight ...
,
superscript
A subscript or superscript is a character (such as a number or letter) that is set slightly below or above the normal line of type, respectively. It is usually smaller than the rest of the text. Subscripts appear at or below the baseline, whil ...
and
subscript
A subscript or superscript is a character (such as a number or letter) that is set slightly below or above the normal line of type, respectively. It is usually smaller than the rest of the text. Subscripts appear at or below the baseline, whil ...
,
small capitalization,
glyph substitution, multiple
baselines, contextual and
stylistic alternate character forms, kerning, line-level
justification,
ruby character
Ruby characters or rubi characters () are small, annotative glosses that are usually placed above or to the right of logographic characters of languages in the East Asian cultural sphere, such as Chinese ''hanzi'', Japanese ''kanji'', and Ko ...
s etc.
WPF applications automatically gain support for advanced typography features. OpenType ligatures are accessible in
Microsoft Office Word 2010.
Windows 7 introduced
DirectWrite DirectWrite is a text layout and glyph rendering API by Microsoft. It was designed to replace GDI/GDI+ and Uniscribe for screen-oriented rendering and was first shipped with Windows 7 and Windows Server 2008 R2, as well as Windows Vista and Wind ...
, a hardware accelerated
native DirectX
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
API for text rendering with support for multi-format text, resolution-independent outline fonts,
ClearType
ClearType is Microsoft's implementation of subpixel rendering technology in rendering text in a font system. ClearType attempts to improve the appearance of text on certain types of computer display screens by sacrificing color fidelity for addit ...
, advanced OpenType typography features, full Unicode text, layout and language support and low-level glyph rendering APIs.
On Mac OS X,
AAT-supporting applications running on
Mac OS X 10.4 and later, including TextEdit and Keynote, get considerable OpenType support. Apple's support for OpenType in Mac OS X 10.4 included most advanced typographic features necessary for
Latin script
The Latin script, also known as Roman script, is an alphabetic writing system based on the letters of the classical Latin alphabet, derived from a form of the Greek alphabet which was in use in the ancient Greek city of Cumae, in southern ...
languages, such as
small caps
In typography, small caps (short for "small capitals") are characters typeset with glyphs that resemble uppercase letters (capitals) but reduced in height and weight close to the surrounding lowercase letters or text figures. This is technica ...
,
old-style figures, and various sorts of ligatures, but it did not yet support contextual alternates, positional forms, nor glyph reordering as handled by Microsoft's Uniscribe library on Windows. Thus, Mac OS X 10.4 did not offer support for Arabic or Indic scripts via OpenType (though such scripts are fully supported by existing AAT fonts).
Mac OS X 10.5 has improved support for OpenType and supports Arabic OpenType fonts. Gradually, the OpenType typography support has improved on newer Mac OS X versions (e.g., Mac OS X 10.10 can handle much better long contextual glyph substitutions).
Bitstream
Panorama
A panorama (formed from Greek πᾶν "all" + ὅραμα "view") is any wide-angle view or representation of a physical space, whether in painting, drawing, photography, film, seismic images, or 3D modeling. The word was originally coined in ...
, a line layout and text composition engine from
Bitstream Inc., provides complete OpenType support for compact and standard Asian fonts, Arabic, Hebrew, Indic, Thai and over 50 other worldwide languages. The application supports key OpenType tables required for line layout, such as BASE, glyph definition (GDEF), glyph positioning (GPOS), and glyph substitution (GSUB). Panorama also offers complete support for advanced typography features, such as ligatures, swashes, small caps, ornaments, ordinals, superiors, old style, kerning, fractions, etc.
In
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
environments such as
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, wh ...
, OpenType rendering is provided by the
FreeType project, included in free implementations of the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
such as
X.org. Complex text handling is provided either by
pango
Pango (stylized as Παν語) is a text (i.e. glyph) layout engine library which works with the HarfBuzz shaping engine for displaying multi-language text.
Full-function rendering of text and cross-platform support is achieved when Pango is us ...
(calling
HarfBuzz
HarfBuzz (loose transliteration of Persian calque ''harf-bāz'', literally "open type") is a software development library for text shaping, which is the process of converting Unicode text to glyph indices and positions. The newer version, ''Ne ...
) or
Qt. The
XeTeX
XeTeX (
or ; see also Pronouncing and writing "TeX") is a TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType, Graphite and Apple Advanced Typography (AAT). It was originally written by Jonathan ...
and
LuaTeX
LuaTeX is a TeX-based computer typesetting system which started as a version of pdfTeX with a Lua scripting engine embedded. After some experiments it was adopted by the TeX Live distribution as a successor to pdfTeX (itself an extension of ε- ...
systems allow
TeX
Tex may refer to:
People and fictional characters
* Tex (nickname), a list of people and fictional characters with the nickname
* Joe Tex (1933–1982), stage name of American soul singer Joseph Arrington Jr.
Entertainment
* ''Tex'', the Italian ...
documents to use OpenType fonts, along with most of their typographic features. Linux version of
LibreOffice
LibreOffice () is a free and open-source office productivity software suite, a project of The Document Foundation (TDF). It was forked in 2010 from OpenOffice.org, an open-sourced version of the earlier StarOffice. The LibreOffice suite c ...
4.1 and newer supports many OpenType typography features, because it began to use more sophisticated HarfBuzz text shaping library.
OpenType Feature File
As a step in the creation of a font, OpenType font properties (other than the outline) can be defined using human-readable text saved in Adobe's OpenType Feature File format. OpenType Feature Files typically have a name ending in a
.fea
extension. These files can be compiled into the binary font container (
.ttf
or
.otf
) using
Adobe Font Development Kit for OpenType (AFDKO),
FontLab,
FontForge,
Glyphs
A glyph () is any kind of purposeful mark. In typography, a glyph is "the specific shape, design, or representation of a character". It is a particular graphical representation, in a particular typeface, of an element of written language. A g ...
,
DTL OTMaster,
RoboFont or
FontTools.
Layout tags
OpenType Layout tags are 4-byte character strings that identify the scripts, language systems, features and baselines in an OpenType Layout font. Microsoft's Layout tag registry establishes conventions for naming and using these tags. OpenType features are created by using the tags in creating feature scripts that describe how characters are to be manipulated to make the desired feature. These feature scripts can be created and incorporated into OpenType fonts by advanced font editors such as
FontLab Studio, AsiaFont Studio, and
FontForge.
Operating system and application support for layout tags varies widely.
Script tags
Script tags identify the scripts (writing systems) represented in an OpenType font. Each tag corresponds to contiguous character code ranges in Unicode. A script tag can consist of 4 or fewer lowercase letters, such as
for the
Arabic alphabet,
for the
Cyrillic script
The Cyrillic script ( ), Slavonic script or the Slavic script, is a writing system used for various languages across Eurasia. It is the designated national script in various Slavic, Turkic, Mongolic, Uralic, Caucasian and Iranic-speaking ...
and
for the
Latin alphabet
The Latin alphabet or Roman alphabet is the collection of letters originally used by the ancient Romans to write the Latin language. Largely unaltered with the exception of extensions (such as diacritics), it used to write English and th ...
. The
math
script tag, added by Microsoft for
Cambria Math, has been added to the specification.
[ (consent to non-chargeable online licence agreement required to download specification)]
Language system tags
Language system tags identify the language systems supported in an OpenType font. Examples include
ARA
for
Arabic
Arabic (, ' ; , ' or ) is a 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. E.Watson; Walte ...
,
ESP
for
Spanish
Spanish might refer to:
* Items from or related to Spain:
**Spaniards are a nation and ethnic group indigenous to Spain
**Spanish language, spoken in Spain and many Latin American countries
**Spanish cuisine
Other places
* Spanish, Ontario, Can ...
,
HYE
for
Armenian
Armenian may refer to:
* Something of, from, or related to Armenia, a country in the South Caucasus region of Eurasia
* Armenians, the national people of Armenia, or people of Armenian descent
** Armenian Diaspora, Armenian communities across the ...
, etc. In general, the codes are not the same as
ISO 639-2
ISO 639- 2:1998, ''Codes for the representation of names of languages — Part 2: Alpha-3 code'', is the second part of the ISO 639 standard, which lists codes for the representation of the names of languages. The three-letter codes given for ea ...
codes.
Feature tags
A list of OpenType features with expanded descriptions is given
list of typographic features.
Baseline tags
Baseline tags have a specific meaning when used in the horizontal writing direction (used in the 'BASE' table's HorizAxis table), vertical writing direction (used in the 'BASE' table's VertAxis table), or both.
Math
A set of tables that mirrors TeX math font metrics relatively closely was added by Microsoft initially to
Cambria Math for supporting their new math editing and rendering engine in
Office 2007 and later. This extension was added to the ISO standard (ISO/IEC CD 14496-22 3rd edition) in April 2014. Additional (usage) details are available in the Unicode technical report 25 and technical note 28. Some of the new technical features (not present in TeX), such as "cut-ins" (which allows kerning of subscripts and superscripts relative to their bases) and stretch stacks
have been patented by Microsoft.
Windows 8
Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on August 1, 2012; it was subsequently made available for download via MSDN and TechNet on August 15, 2012, and later t ...
supports OpenType math outside MS Office applications via the
RichEdit The Text Object Model (TOM) is a Microsoft Windows API that provides developers with object-based rich text manipulation interfaces. It is implemented through COM, and can be accessed through Microsoft Word or additionally through the RichEdit cont ...
8.0 component.
Besides Microsoft products, XeTeX and
LuaTeX
LuaTeX is a TeX-based computer typesetting system which started as a version of pdfTeX with a Lua scripting engine embedded. After some experiments it was adopted by the TeX Live distribution as a successor to pdfTeX (itself an extension of ε- ...
also have some level of support for these tables; support is more limited in XeTeX because it uses the traditional TeX math rendering engine (thus it cannot fully use some of the new features in OpenType math that extend TeX), while LuaTeX takes a more flexible approach by changing some of the internals of TeX's math rendering; in the words of
Ulrik Vieth (2009): "More precisely, while XeTeX only provides access to the OpenType parameters as additional \fontdimens, LuaTeX uses an internal data structure based on the combined set of OpenType and TeX parameters, making it possible to supply missing values which are not supported in either OpenType math fonts or traditional TeX math fonts."
[https://www.tug.org/TUGboat/tb30-1/tb94vieth.pdf also at http://www.ntg.nl/maps/38/03.pdf] In 2013, XeTeX also gained support for cut-ins.
The
Gecko
Geckos are small, mostly carnivorous lizards that have a wide distribution, found on every continent except Antarctica. Belonging to the infraorder Gekkota, geckos are found in warm climates throughout the world. They range from .
Geckos ar ...
rendering engine used by the
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current ...
web browser also supports some OpenType math features in its
MathML
Mathematical Markup Language (MathML) is a mathematical markup language, an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide W ...
implementation.
, the set of fonts that supported OpenType math was fairly limited. Besides Cambria Math, three free fonts were available:
Asana-Math,
Neo Euler, and
XITS. More recently the
Latin Modern and
TeX Gyre fonts (an "
LM-ization" of the standard PostScript fonts) have also gained support for OpenType math. the number of OpenType math fonts is still fairly limited. A more up-to-date list is maintained on
Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, wi ...
's web site.
Color
Emergence of Unicode emoji created a need for TrueType and OpenType formats to support color glyphs. Apple added a color extension in
Mac OS X Lion (and also to
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
4+). Fonts were extended with colored images within the sbix table.
Google used a similar extension with embedded color bitmap images contained within a pair of tables, the CBDT and CBLC tables.
The Google version is implemented in
FreeType 2.5.
In
Windows 8.1 Microsoft also added color support to fonts, first implemented in the
Segoe UI Emoji
An emoji ( ; plural emoji or emojis) is a pictogram, logogram, ideogram or smiley embedded in text and used in electronic messages and web pages. The primary function of emoji is to fill in emotional cues otherwise missing from typed conv ...
font.
Microsoft's implementation, however, relies entirely on
vector graphics
Vector graphics is a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector disp ...
:
two new OpenType tables were added in Microsoft's implementation: the COLR table allows layered glyphs and the CPAL ("Color Palette") actually defines the colors for the layers. The multi-layer approach allows a backwards compatible implementation as well as varying the rendering depending on the color context surrounding the glyphs.
According to
Adam Twardoch: "At
TypeCon 013
013 is a music venue in Tilburg, the Netherlands. The venue opened in 1998 and replaced the ''Noorderligt'', the ''Bat Cave'' and the ''MuziekKantenWinkel''. 013 is the largest popular music venue in the southern Netherlands.
There are two conce ...
/span>, Greg Hitchcock clarified the envisioned roles of the palettes: first palette is used by default for "dark on light" color situations while second palette is intended for use in "light on dark" situations. Additional palettes should be selectable by the user."
Mozilla
Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, wi ...
and Adobe developed a different vector-based extension by adding embedded SVG
Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sin ...
documents (supporting color but also animations) into the SVG table. The SVG table also allowed for using color palettes defined in the CPAL table. Support was first implemented in Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current ...
26.
Adobe, Mozilla, Google and Microsoft each submitted their color extensions for standardization thorough ISO/IEC 14496-22. The new tables for each of these were then added into OpenType version 1.7. Apple's sbix table was originally supported only in AAT fonts, but it was later added into OpenType version 1.8. Microsoft Windows 10 Anniversary Update was the first OS to support all four color font extensions, and Microsoft Edge was the first browser to do so.
In OpenType Version 1.8.3, the specification for the SVG table was revised to be more constrained, providing more clarity for implementations and better interoperability. Apple is supporting the revised specification in Safari 12, iOS12 and macOS 10.14. The implementation in Microsoft Windows also conforms to this revision.
SING gaiji solution
In 2005, Adobe shipped a new technology in their Creative Suite applications bundle that offers a solution for "gaiji
are the logographic Chinese characters taken from the Chinese script and used in the writing of Japanese. They were made a major part of the Japanese writing system during the time of Old Japanese and are still used, along with the subsequen ...
" (外字, Japanese for "outside character"). Ideographic writing scripts such as Chinese and Japanese do not have fixed collections of characters. They use thousands of glyphs commonly and tens of thousands less commonly. Not all glyphs ever invented and used in East Asian literature have even been catalogued. A typical font might contain 8,000 to 15,000 of the most commonly used glyphs. From time to time, though, an author needs a glyph not present in the font of choice. Such missing characters are known in Japan as gaiji, and they often disrupt work.
Another aspect of the gaiji problem is that of variant glyphs for certain characters. Often certain characters have been written differently over periods of time. It is not unusual for place names or personal family names to use a historical form of a character. Thus it is possible for an end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ultimately use a product. The end user stands in contrast to users who support or maintain the product, such as sysops, system administrato ...
using standard fonts to be left unable to spell correctly either their own name or the name of the place where they live.
Several ways to deal with gaiji have been devised. Solutions that treat them as characters usually assign arbitrary Unicode values to them in the Private Use Areas
In Unicode, a Private Use Area (PUA) is a range of code points that, by definition, will not be assigned characters by the Unicode Consortium. Three private use areas are defined: one in the Basic Multilingual Plane (), and one each in, and near ...
(PUA). Such characters cannot be used outside the environment in which the association of the private Unicode to the glyph shape is known. Documents based on them are not portable. Other installations treat gaiji as graphics. This can be cumbersome because text layout and composition cannot apply to graphics. They cannot be searched for. Often their rendering looks different from surrounding characters because the machinery for rendering graphics usually is different from the machinery for rendering glyphs from fonts.
The SING (Smart INdependent Glyphlets) technology that made its debut with Adobe's Creative Suite 2 allows for the creation of glyphs, each packaged as a standalone font, after a fashion. Such a packaged glyph is called a ''glyphlet''. The format, which Adobe has made public, is based on OpenType. The package consists of the glyph outline in TrueType or CFF (PostScript style outlines) form; standard OpenType tables declaring the glyph's metrics and behavior in composition; and metadata, extra information included for identifying the glyphlet, its ownership, and perhaps pronunciation or linguistic categorization. SING glyphlets can be created using Fontlab's SigMaker3 application.
The SING specification states that glyphlets are to travel with the document they are used in. That way documents are portable, leaving no danger of characters in the document that cannot be displayed. Because glyphlets are essentially OpenType fonts, standard font machinery can render them. The SING specification also describes an XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
format that includes all the data necessary for reconstituting the glyphlet in binary form. A typical glyphlet might require one to two kilobytes to represent.
Language-specific variation
Serbian/Macedonian Cyrillic may use some language-specific glyphs. These are only preferred and are not strictly mandated. In Unicode, these are encoded in a single code point and OpenType allows showing these language-specific glyphs using language tags and the locl
feature.
See also
* Uniscribe Uniscribe is the Microsoft Windows set of services for rendering Unicode-encoded text, supporting complex text layout. It is implemented in the dynamic link library . Uniscribe has been released with Windows 2000 and Internet Explorer 5.0. In ad ...
(Windows multilingual text rendering engine)
* Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem (similar to WinForms) originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was init ...
(the first Windows API with near complete OpenType support)
* Apple Type Services for Unicode Imaging
The Apple Type Services for Unicode Imaging (ATSUI) is the set of services for rendering Unicode-encoded text introduced in Mac OS 8.5 and carried forward into Mac OS X
macOS (; previously OS X and originally Mac OS X) is ...
(Macintosh multilingual text rendering engine)
* WorldScript (old Macintosh multilingual text rendering engine)
* Pango
Pango (stylized as Παν語) is a text (i.e. glyph) layout engine library which works with the HarfBuzz shaping engine for displaying multi-language text.
Full-function rendering of text and cross-platform support is achieved when Pango is us ...
(open source multilingual text rendering engine)
* XeTeX
XeTeX (
or ; see also Pronouncing and writing "TeX") is a TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType, Graphite and Apple Advanced Typography (AAT). It was originally written by Jonathan ...
, a free typesetting system based on a merger of TeX with Unicode and Mac OS X font technologies
* List of typographic features
* Embedded OpenType
* Typography
Typography is the art and technique of arranging type to make written language legible, readable and appealing when displayed. The arrangement of type involves selecting typefaces, point sizes, line lengths, line-spacing ( leading), a ...
* Bitstream Panorama
* FreeType
* WOFF (Web Open Font Format), a webfont format that contains an OpenType font with metadata
References
External links
The OpenType Specification (Microsoft)
Wakamai Fondue
website for checking the features of OpenType fonts
{{DEFAULTSORT:Opentype
Digital typography
Typesetting
Font formats
Adobe Inc.
Windows architecture
1996 introductions