OpenType 1.8.2 errata

This page documents errors in the OpenType specification that have technical significance and could lead to incorrect implementations. The scope is limited to issues in which the OpenType 1.8.2 specification as originally published implies technical details that are contrary to the intended design. Corrections may include corrections to incorrect values related to certain table fields, incorrect formulas for computing certain values, or similar issues. Corrections will not include any changes to data structures. If the textual change required for the correction is minor, the correction will be made in the specification and also listed here. If larger textual changes are required, the issue may be described here, but actual changes may be left to a future version. In either case, the status will be indicated in the table below.

Certain minor, editorial errors such as mis-spelling of words with no technical impact may on occasion be corrected silently, without notice or version update.

Date Page Description Status
17 August 2020 The TrueType Instruction Set When content was ported from Microsoft Word, some incorrect text was inadvertently added to the description of Round to Half Grid (RTHG). Corrected in 1.8.2 (archived) (2020-8-17)
17 August 2020 The TrueType Instruction Set When content was ported from Microsoft Word, an error was inadvertently introduced to the description of logical OR. Corrected in 1.8.2 (archived) (2020-8-17)
17 August 2020 The TrueType Instruction Set When content was ported from Microsoft Word, the MIRP Code range was incorrectly described as 0xC0 - 0xDF. The correct range is 0xE0 - 0xFF. Corrected in 1.8.2 (archived) (2020-8-17)
26 August 2018 The TrueType Instruction Set When content was ported from Microsoft Word, changes made in OpenType 1.8.1 were not retained, and some text was inadvertently removed. Corrected in 1.8.2 (archived) (2018-8-26)
9 July 2018 CFF2 — Compact Font Format (CFF) Version 2,
OpenType® Specification,
name — Naming Table,
OpenType Font Variations Overview
Links for Adobe Technical Note 5902 were broken. Corrected in 1.8.2 (2018-7-9)
16 March 2018 vhea — Vertical Header Table In the erratum of 14 September 2017, a typo was introduced during the change, resulting in an incorrect calculation. The correct calculation should be yMaxExtent = max(tsb + (yMax-yMin)). Corrected in 1.8.2 (2018-3-16)
14 March 2018 post — PostScript Table,
Recommendations for OpenType Fonts,
WGL4.0 Character Set
Links for the Adobe glyph naming guide were broken. Corrected in 1.8.2 (2018-3-14)
14 March 2018 OS/2 — 'OS/2' & Windows Metrics Table,
Recommendations for OpenType Fonts
Links for the PANOSE specification were broken. Corrected in 1.8.2 (2018-3-14)
15 September 2017 PCLT — PCL 5 Table The MajorVersion data type was specified as uint32. The correct data type is uint16. Corrected in 1.8.2 (2017-9-14).
14 September 2017 PCLT — PCL 5 Table The description for SerifStyle indicates it is a signed value. This contradicts the data type that is given, uint8. The correct description should reflect an unsigned value. Corrected in 1.8.2 (2017-9-14).
14 September 2017 vhea — Vertical Header Table The description of how yMaxExtent is calculated was incorrect. The correct calculation should be yMaxExtent = max(tsb - (yMax-yMin)). Corrected in 1.8.2 (2017-9-14).
24 July 2017 Script tags (OpenType Layout tag registry) In earlier versions, a constraint existed on use of non-default LanguageSystem tables with the 'DFLT' script tag. In version 1.8.2, this constraint was relaxed. It had been specified in the OpenType Layout Common Table Formats chapter, and the change is correctly reflected there. This constraint was also stated on the Script tags page, however, but the change was not reflected on that page. This change should be reflected in both places. Corrected in 1.8.2 (2017-7-24).
24 July 2017 meta — Metadata Table The 'meta' table was originally defined in Apple’s TrueType specification with a single, uint32 version field. When the 'meta' table was added into the OpenType specification in version 1.8, it was incorrectly documented as having uint16 major/minor version fields. A single, uint32 field is the correct format. Corrected in 1.8.2 (2017-7-24).