OpenType

From Wikipedia for FEVERv2
Jump to navigation Jump to search

OpenType_table_infobox_0

OpenTypeOpenType_table_caption_0
OpenType_header_cell_0_0_0 .otf, .otc, .ttf, .ttcOpenType_cell_0_0_1
Internet media typeOpenType_header_cell_0_1_0 OpenType_cell_0_1_1
Type codeOpenType_header_cell_0_2_0 OTTOOpenType_cell_0_2_1
Uniform Type Identifier (UTI)OpenType_header_cell_0_3_0 public.opentype-fontOpenType_cell_0_3_1
Developed byOpenType_header_cell_0_4_0 Microsoft, Adobe SystemsOpenType_cell_0_4_1
Latest releaseOpenType_header_cell_0_5_0 1.8.4

(13 November 2020; 31 days ago (2020-11-13))OpenType_cell_0_5_1

Type of formatOpenType_header_cell_0_6_0 Font fileOpenType_cell_0_6_1
Extended fromOpenType_header_cell_0_7_0 TrueType, PostScript fontsOpenType_cell_0_7_1
StandardOpenType_header_cell_0_8_0 ISO/IEC 14496-22:2019OpenType_cell_0_8_1

OpenType is a format for scalable computer fonts. OpenType_sentence_0

It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior. OpenType_sentence_1

OpenType is a registered trademark of Microsoft Corporation. OpenType_sentence_2

The specification germinated at Microsoft, with Adobe Systems also contributing by the time of the public announcement in 1996. OpenType_sentence_3

Because of wide availability and typographic flexibility, including provisions for handling the diverse behaviors of all the world's writing systems, OpenType fonts are used commonly on major computer platforms. OpenType_sentence_4

History OpenType_section_0

OpenType's origins date to Microsoft's attempt to license Apple's advanced typography technology GX Typography in the early 1990s. OpenType_sentence_5

Those negotiations failed, motivating Microsoft to forge ahead with its own technology, dubbed "TrueType Open" in 1994. OpenType_sentence_6

Adobe joined Microsoft in those efforts in 1996, adding support for the glyph outline technology used in its Type 1 fonts. OpenType_sentence_7

These efforts were intended by Microsoft and Adobe to supersede both Apple's TrueType and Adobe's Type 1 ("PostScript") font formats. OpenType_sentence_8

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. OpenType_sentence_9

The name OpenType was chosen for the combined technologies, and the technology was announced later that year. OpenType_sentence_10

Open Font Format OpenType_section_1

Adobe and Microsoft continued to develop and refine OpenType over the next decade. OpenType_sentence_11

Then, in late 2005, OpenType began migrating to an open standard under the International Organization for Standardization (ISO) within the MPEG group, which had previously (in 2003) adopted OpenType 1.4 by reference for MPEG-4. OpenType_sentence_12

Adoption of the new standard reached formal approval in March 2007 as ISO Standard ISO/IEC 14496-22 (MPEG-4 Part 22) called Open Font Format (OFF, not to be confused with Web Open Font Format). OpenType_sentence_13

It is also sometimes referred to as "Open Font Format Specification" (OFFS). OpenType_sentence_14

The initial standard was technically equivalent to OpenType 1.4 specification, with appropriate language changes for ISO. OpenType_sentence_15

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". OpenType_sentence_16

Since then, the Open Font Format and the OpenType specification have continued to be maintained in sync. OpenType_sentence_17

OFF is a free, publicly available standard. OpenType_sentence_18

By 2001 hundreds of OpenType fonts were on the market. OpenType_sentence_19

Adobe finished converting their entire font library to OpenType toward the end of 2002. OpenType_sentence_20

As of early 2005, around 10,000 OpenType fonts had become available, with the Adobe library comprising about a third of the total. OpenType_sentence_21

By 2006, every major font foundry and many minor ones were developing fonts in OpenType format. OpenType_sentence_22

Unicode Variation Sequences OpenType_section_2

Unicode version 3.2 (published in 2002) introduced variation selectors as an encoding mechanism to represent particular glyph forms for characters. OpenType_sentence_23

Unicode did not, however, specify how text-display implementations should support these sequences. OpenType_sentence_24

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. OpenType_sentence_25

This resulted in development of cmap subtable Format 14, which was introduced in OpenType version 1.5. OpenType_sentence_26

Color fonts OpenType_section_3

Unicode version 6.0 introduced emoji encoded as characters into Unicode in October 2010. OpenType_sentence_27

Several companies quickly acted to add support for Unicode emoji in their products. OpenType_sentence_28

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. OpenType_sentence_29

Apple, Google and Microsoft independently developed different color-font solutions for use in OS X/iOS, Android and Windows. OpenType_sentence_30

OpenType / OFF already had support for monochrome bitmap glyph, and so Google proposed that OFF be extended to allow for color bitmaps. OpenType_sentence_31

This was the approach being taken by Apple, though Apple declined to participate in extending the ISO standard. OpenType_sentence_32

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. OpenType_sentence_33

Microsoft adopted a different approach than color bitmaps. OpenType_sentence_34

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. OpenType_sentence_35

Adobe proposed yet another approach: add a new 'SVG ' table that can contain multi-color glyphs represented using Scalable Vector Graphics. OpenType_sentence_36

The Adobe, Microsoft and Google proposals were all incorporated into the third edition of OFF (ISO/IEC 14496-22:2015). OpenType_sentence_37

The new tables—CBDT, CBLC, COLR, CPAL, SVG—were added to OpenType version 1.7. OpenType_sentence_38

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. OpenType_sentence_39

The 'sbix' table was subsequently added to OpenType in version 1.8. OpenType_sentence_40

OpenType Collections OpenType_section_4

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. OpenType_sentence_41

By combining related fonts into a single file, font tables that are identical can be shared, thereby allowing for more efficient storage. OpenType_sentence_42

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. OpenType_sentence_43

(Each font within the collection still has the 65,535 limit, however.) OpenType_sentence_44

A TrueType Collection file would typically have a file extension of “.ttc”. OpenType_sentence_45

However, the specification only described collection files being used in conjunction with glyphs that are represented as TrueType outlines or as bitmaps. OpenType_sentence_46

The potential existed to provide the same storage and glyph-count benefits to fonts that use CFF-format glyphs (.otf extension). OpenType_sentence_47

But the specification did not explicitly allow for that. OpenType_sentence_48

In 2014, Adobe announced the creation of OpenType Collections (OTCs), a Collection font file that combines fonts that use CFF-format glyphs. OpenType_sentence_49

This provided significant storage benefits for CJK fonts that Adobe and Google were jointly developing. OpenType_sentence_50

For example, the Noto fonts CJK OTC is ~10 MB smaller than the sum of the four separate OTFs of which it is composed. OpenType_sentence_51

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. OpenType_sentence_52

Explicit support for Collections with CFF-format glyphs was incorporated into the OpenType specification in version 1.8. OpenType_sentence_53

To reflect this more-inclusive applicability, the term “OpenType Collection” was adopted, superseding “TrueType Collection”. OpenType_sentence_54

OpenType Font Variations OpenType_section_5

See also: Variable fonts OpenType_sentence_55

On September 14, 2016, Microsoft announced the release of OpenType version 1.8. OpenType_sentence_56

This announcement was made together with Adobe, Apple, and Google at the ATypI conference in Warsaw. OpenType_sentence_57

OpenType version 1.8 introduced “OpenType Font Variations”, which adds mechanisms that allow a single font to support many design variations. OpenType_sentence_58

Fonts that use these mechanisms are commonly referred to as “OpenType variable fonts”. OpenType_sentence_59

OpenType Font Variations re-introduces techniques that were previously developed by Apple in TrueType GX, and by Adobe in Multiple Master fonts. OpenType_sentence_60

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. OpenType_sentence_61

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. OpenType_sentence_62

That system and its successors were never widely adopted by professional type designers or commercial software systems. OpenType_sentence_63

TrueType GX and Multiple Master formats, OpenType Font Variations’ direct predecessors, were introduced in the 1990s, but were not widely adopted, either. OpenType_sentence_64

Adobe later abandoned support for the Multiple Master format. OpenType_sentence_65

This has led to questions as to whether a re-introduction of similar technology could succeed. OpenType_sentence_66

By 2016, however, the industry landscape had changed in several respects. OpenType_sentence_67

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. OpenType_sentence_68

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. OpenType_sentence_69

Font Variations is integrated into OpenType 1.8 in a comprehensive manner, allowing most previously-existing capabilities to be used in combination with variations. OpenType_sentence_70

In particular, variations are supported for both TrueType or CFF glyph outlines, for TrueType hinting, and also for the OpenType Layout mechanisms. OpenType_sentence_71

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. OpenType_sentence_72

OpenType 1.8 made use of tables originally defined by Apple for TrueType GX (the avar, cvar, fvar and gvar tables). OpenType_sentence_73

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). OpenType_sentence_74

Description OpenType_section_6

OpenType_unordered_list_0

  • OpenType_item_0_0
  • OpenType_item_0_1

OpenType uses the general sfnt structure of a TrueType font, but it adds several smartfont options that enhance the font's typographic and language support capabilities. OpenType_sentence_75

The glyph 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. OpenType_sentence_76

(The table name 'CFF ' is four characters long, ending in a space character.) OpenType_sentence_77

CFF outline data is based on the PostScript language Type 2 font format. OpenType_sentence_78

However, the OpenType specification (pre-1.8) does not support the use of PostScript outlines in a TrueType Collection font file. OpenType_sentence_79

After version 1.8, both formats are suppored in the renamed "OpenType Collection". OpenType_sentence_80

For many purposes, such as layout, it doesn't matter what the outline data format is, but for some purposes, such as rasterisation, it is significant. OpenType_sentence_81

The OpenType standard does not specify the outline data format: rather, it accommodates any of several existing standards. OpenType_sentence_82

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_sentence_83

OpenType has several distinctive characteristics: OpenType_sentence_84

OpenType_unordered_list_1

  • Accommodates the Unicode character encoding (as well as others), so that it can support any writing script (or multiple scripts at once).OpenType_item_1_2
  • Accommodates up to 65,536 glyphs.OpenType_item_1_3
  • Advanced typographic "layout" features which prescribe positioning and replacement of rendered glyphs. Replacement features include ligatures; positioning features include kerning, mark placement, and baseline specification.OpenType_item_1_4
  • Cross-platform font files, which can be used without modification on Mac OS, Microsoft Windows and Unix/Linux systems.OpenType_item_1_5
  • If no additional glyphs or extensive typographic features are added, OpenType CFF fonts can be considerably smaller than their Type 1 counterparts.OpenType_item_1_6

Comparison to other formats OpenType_section_7

OpenType support OpenType_section_8

Basic Roman support OpenType_section_9

OpenType support may be divided into several categories. OpenType_sentence_85

Virtually all applications and most modern operating systems have basic Roman support and work with OpenType fonts just as well as other, older formats. OpenType_sentence_86

Benefits beyond basic Roman support include extended language support through Unicode, support for complex writing scripts such as Arabic and the Indic languages, and advanced typographic support for Latin script languages such as English. OpenType_sentence_87

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_sentence_88

OpenType PS fonts (.OTF) are supported in all Windows versions starting with Microsoft Windows 2000; Adobe Type Manager is required to be installed on Microsoft Windows 95/98/NT/Me for basic Roman support (only) of OpenType PS fonts. OpenType_sentence_89

Extended language support OpenType_section_10

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, Pages and Keynote. OpenType_sentence_90

It is also widely supported in free operating systems, such as Linux (e.g. in multiplatform applications like AbiWord, Gnumeric, Calligra Suite, Scribus, OpenOffice.org 3.2 and later versions, etc.). OpenType_sentence_91

OpenType support for complex written scripts has so far mainly appeared in Microsoft applications in Microsoft Office, such as Microsoft Word and Microsoft Publisher. OpenType_sentence_92

Adobe InDesign provides extensive OpenType capability in Japanese 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. OpenType_sentence_93

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. OpenType_sentence_94

Advanced typography OpenType_section_11

Advanced typographic support for Latin script languages first appeared in Adobe applications such as Adobe InDesign, Adobe Photoshop and Adobe Illustrator. OpenType_sentence_95

QuarkXPress 6.5 and below were not Unicode compliant. OpenType_sentence_96

Hence text in these versions of QuarkXPress that contains anything other than WinANSI/MacRoman characters will not display correctly in an OpenType font (nor in other Unicode font formats, for that matter). OpenType_sentence_97

However, in QuarkXPress 7, Quark offered support similar to Adobe's. OpenType_sentence_98

Corel's CorelDRAW introduced support for OpenType typographic features in version X6. OpenType_sentence_99

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. OpenType_sentence_100

As of 2009, popular word processors for Microsoft Windows did not support advanced OpenType typography features. OpenType_sentence_101

Advanced typography features are implemented only in high-end desktop publishing software. OpenType_sentence_102

The text engine from Windows Presentation Foundation, which is a managed code implementation of OpenType, is the first Microsoft Windows API to expose OpenType features to software developers, supporting both OpenType TrueType, and OpenType CFF (Compact Font Format) fonts. OpenType_sentence_103

It supports advanced typographic features such as ligatures, old-style numerals, swash variants, fractions, superscript and subscript, small capitalization, glyph substitution, multiple baselines, contextual and stylistic alternate character forms, kerning, line-level justification, ruby characters etc. WPF applications automatically gain support for advanced typography features. OpenType_sentence_104

OpenType ligatures are accessible in Microsoft Office Word 2010. OpenType_sentence_105

Windows 7 introduced DirectWrite, a hardware accelerated native DirectX API for text rendering with support for multi-format text, resolution-independent outline fonts, ClearType, advanced OpenType typography features, full Unicode text, layout and language support and low-level glyph rendering APIs. OpenType_sentence_106

On Mac OS X, AAT-supporting applications running on Mac OS X 10.4 and later, including TextEdit and Keynote, get considerable OpenType support. OpenType_sentence_107

Apple's support for OpenType in Mac OS X 10.4 included most advanced typographic features necessary for Latin script languages, such as small caps, oldstyle 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. OpenType_sentence_108

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). OpenType_sentence_109

Mac OS X 10.5 has improved support for OpenType and supports Arabic OpenType fonts. OpenType_sentence_110

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). OpenType_sentence_111

Bitstream Panorama, 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. OpenType_sentence_112

The application supports key OpenType tables required for line layout, such as BASE, glyph definition (GDEF), glyph positioning (GPOS), and glyph substitution (GSUB). OpenType_sentence_113

Panorama also offers complete support for advanced typography features, such as ligatures, swashes, small caps, ornaments, ordinals, superiors, old style, kerning, fractions, etc. OpenType_sentence_114

In free software environments such as Linux, OpenType rendering is provided by the FreeType project, included in free implementations of the X Window System such as X.org. OpenType_sentence_115

Complex text handling is provided either by pango (calling HarfBuzz) or Qt. OpenType_sentence_116

The XeTeX and LuaTeX systems allow TeX documents to use OpenType fonts, along with most of their typographic features. OpenType_sentence_117

Linux version of LibreOffice 4.1 and newer supports many OpenType typography features, because it began to use more sophisticated HarfBuzz text shaping library. OpenType_sentence_118

OpenType Feature File OpenType_section_12

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_sentence_119

OpenType Feature Files typically have a name ending in a .fea extension. OpenType_sentence_120

These files can be compiled into the binary font container (.ttf or .otf) using Adobe Font Development Kit for OpenType (AFDKO), FontLab, FontForge, Glyphs, DTL OTMaster, RoboFont and FontTools. OpenType_sentence_121

Layout tags OpenType_section_13

OpenType Layout tags are 4-byte character strings that identify the scripts, language systems, features and baselines in an OpenType Layout font. OpenType_sentence_122

Microsoft's Layout tag registry establishes conventions for naming and using these tags. OpenType_sentence_123

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. OpenType_sentence_124

These feature scripts can be created and incorporated into OpenType fonts by advanced font editors such as FontLab Studio, AsiaFont Studio, and FontForge. OpenType_sentence_125

Operating system and application support for layout tags varies widely. OpenType_sentence_126

Script tags OpenType_section_14

Script tags identify the scripts (writing systems) represented in an OpenType typeface. OpenType_sentence_127

Each tag corresponds to contiguous character code ranges in Unicode. OpenType_sentence_128

A script tag can consist of 4 or fewer lowercase letters, such as arab for the Arabic alphabet, cyrl for the Cyrillic script and latn for the Latin alphabet. OpenType_sentence_129

The math script tag, added by Microsoft for Cambria Math, has been added to the specification. OpenType_sentence_130

Language system tags OpenType_section_15

Language system tags identify the language systems supported in an OpenType typeface. OpenType_sentence_131

Examples include ARA for Arabic, ESP for Spanish, HYE for Armenian, etc. OpenType_sentence_132

In general, the codes are not the same as ISO 639-2 codes. OpenType_sentence_133

Feature tags OpenType_section_16

Main article: OpenType feature tag list OpenType_sentence_134

A list of OpenType features with expanded descriptions is given list of typographic features. OpenType_sentence_135

Baseline tags OpenType_section_17

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. OpenType_sentence_136

OpenType_table_general_1

Baseline tags and axes in OpenType fontsOpenType_table_caption_1
Baseline tagOpenType_header_cell_1_0_0 HorizAxisOpenType_header_cell_1_0_1 VertAxisOpenType_header_cell_1_0_2
'hang'OpenType_header_cell_1_1_0 horizontal line from which the syllabograms seem to hang in the Tibetan scriptOpenType_cell_1_1_1 The same line in Tibetan vertical writing mode.OpenType_cell_1_1_2
'icfb'OpenType_header_cell_1_2_0 Ideographic character face bottom edge baseline.OpenType_cell_1_2_1 Ideographic character face left edge baseline.OpenType_cell_1_2_2
'icft'OpenType_header_cell_1_3_0 Ideographic character face top edge baseline.OpenType_cell_1_3_1 Ideographic character face right edge baseline.OpenType_cell_1_3_2
'ideo'OpenType_header_cell_1_4_0 Ideographic em-box bottom edge baseline.OpenType_cell_1_4_1 Ideographic em-box left edge baseline.OpenType_cell_1_4_2
'idtp'OpenType_header_cell_1_5_0 Ideographic em-box top edge baseline.OpenType_cell_1_5_1 Ideographic em-box right edge baseline.OpenType_cell_1_5_2
'math'OpenType_header_cell_1_6_0 The baseline about which mathematical characters are centered.OpenType_cell_1_6_1 The baseline about which mathematical characters are centered in vertical writing mode.OpenType_cell_1_6_2
'romn'OpenType_header_cell_1_7_0 The baseline used by simple alphabetic scripts such as Latin, Cyrillic and Greek.OpenType_cell_1_7_1 The alphabetic baseline for characters rotated 90 degrees clockwise for vertical writing mode.OpenType_cell_1_7_2

Math OpenType_section_18

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. OpenType_sentence_137

This extension was added to the ISO standard (ISO/IEC CD 14496-22 3rd edition) in April 2014. OpenType_sentence_138

Additional (usage) details are available in the Unicode technical report 25 and technical note 28. OpenType_sentence_139

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. OpenType_sentence_140

Windows 8 supports OpenType math outside MS Office applications via the RichEdit 8.0 component. OpenType_sentence_141

Besides Microsoft products, XeTeX and LuaTeX 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." OpenType_sentence_142

In 2013, XeTeX also gained support for cut-ins. OpenType_sentence_143

The Gecko rendering engine used by the Firefox web browser also supports some OpenType math features in its MathML implementation. OpenType_sentence_144

As of 2010, the set of fonts that supported OpenType math was fairly limited. OpenType_sentence_145

Besides Cambria Math, three free fonts were available: Asana-Math, Neo Euler, and XITS. OpenType_sentence_146

More recently the Latin Modern and TeX Gyre fonts (an "LM-ization" of the standard PostScript fonts) have also gained support for OpenType math. OpenType_sentence_147

As of 2014 the number of OpenType math fonts is still fairly limited. OpenType_sentence_148

A more up-to-date list is maintained on Mozilla's web site. OpenType_sentence_149

Color OpenType_section_19

Emergence of Unicode emoji created a need for TrueType and OpenType formats to support color glyphs. OpenType_sentence_150

Apple added a color extension in Mac OS X Lion (and also to iOS 4+). OpenType_sentence_151

Fonts were extended with colored PNG images within the sbix table. OpenType_sentence_152

Google used a similar extension with embedded color bitmap images contained within a pair of tables, the CBDT and CBLC tables. OpenType_sentence_153

The Google version is implemented in FreeType 2.5. OpenType_sentence_154

In Windows 8.1 Microsoft also added color support to fonts, first implemented in the Segoe UI Emoji font. OpenType_sentence_155

Microsoft's implementation, however, relies entirely on vector graphics: 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. OpenType_sentence_156

The multi-layer approach allows a backwards compatible implementation as well as varying the rendering depending on the color context surrounding the glyphs. OpenType_sentence_157

According to Adam Twardoch: "At TypeCon , 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. OpenType_sentence_158

Additional palettes should be selectable by the user." OpenType_sentence_159

Mozilla and Adobe developed a different vector-based extension by adding embedded SVG documents (supporting color but also animations) into the SVG table. OpenType_sentence_160

The SVG table also allowed for using color palettes defined in the CPAL table. OpenType_sentence_161

Support was first implemented in Firefox 26. OpenType_sentence_162

Adobe, Mozilla, Google and Microsoft each submitted their color extensions for standardization thorough ISO/IEC 14496-22. OpenType_sentence_163

The new tables for each of these were then added into OpenType version 1.7. OpenType_sentence_164

Apple's sbix table was originally supported only in AAT fonts, but it was later added into OpenType version 1.8. OpenType_sentence_165

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. OpenType_sentence_166

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. OpenType_sentence_167

Apple is supporting the revised specification in Safari 12, iOS12 and macOS 10.14. OpenType_sentence_168

The implementation in Microsoft Windows also conforms to this revision. OpenType_sentence_169

SING gaiji solution OpenType_section_20

In 2005, Adobe shipped a new technology in their Creative Suite applications bundle that offers a solution for "gaiji" (外字, Japanese for "outside character"). OpenType_sentence_170

Ideographic writing scripts such as Chinese and Japanese do not have fixed collections of characters. OpenType_sentence_171

They use thousands of glyphs commonly and tens of thousands less commonly. OpenType_sentence_172

Not all glyphs ever invented and used in East Asian literature have even been catalogued. OpenType_sentence_173

A typical font might contain 8,000 to 15,000 of the most commonly used glyphs. OpenType_sentence_174

From time to time, though, an author needs a glyph not present in the font of choice. OpenType_sentence_175

Such missing characters are known in Japan as gaiji, and they often disrupt work. OpenType_sentence_176

Another aspect of the gaiji problem is that of variant glyphs for certain characters. OpenType_sentence_177

Often certain characters have been written differently over periods of time. OpenType_sentence_178

It is not unusual for place names or personal family names to use a historical form of a character. OpenType_sentence_179

Thus it is possible for an end user using standard fonts to be left unable to spell correctly either their own name or the name of the place where they live. OpenType_sentence_180

Several ways to deal with gaiji have been devised. OpenType_sentence_181

Solutions that treat them as characters usually assign arbitrary Unicode values to them in the Private Use Areas (PUA). OpenType_sentence_182

Such characters cannot be used outside the environment in which the association of the private Unicode to the glyph shape is known. OpenType_sentence_183

Documents based on them are not portable. OpenType_sentence_184

Other installations treat gaiji as graphics. OpenType_sentence_185

This can be cumbersome because text layout and composition cannot apply to graphics. OpenType_sentence_186

They cannot be searched for. OpenType_sentence_187

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. OpenType_sentence_188

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. OpenType_sentence_189

Such a packaged glyph is called a glyphlet. OpenType_sentence_190

The format, which Adobe has made public, is based on OpenType. OpenType_sentence_191

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. OpenType_sentence_192

SING glyphlets can be created using Fontlab's SigMaker3 application. OpenType_sentence_193

The SING specification states that glyphlets are to travel with the document they are used in. OpenType_sentence_194

That way documents are portable, leaving no danger of characters in the document that cannot be displayed. OpenType_sentence_195

Because glyphlets are essentially OpenType fonts, standard font machinery can render them. OpenType_sentence_196

The SING specification also describes an XML format that includes all the data necessary for reconstituting the glyphlet in binary form. OpenType_sentence_197

A typical glyphlet might require one to two kilobytes to represent. OpenType_sentence_198

Serbian Cyrillic solution OpenType_section_21

Serbian/Macedonian Cyrillic uses some language-specific glyphs. OpenType_sentence_199

In Unicode these are encoded in a single code point. OpenType_sentence_200

OpenType allows showing these language-specific glyphs. OpenType_sentence_201

See also OpenType_section_22

OpenType_unordered_list_2


Credits to the contents of this page go to the authors of the corresponding Wikipedia page: en.wikipedia.org/wiki/OpenType.