OpenType 1.8.1 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.1 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.1 (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.1 (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.1 (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.1 (archived) (2018-8-26)
2 May 2017 CFF2 — Compact Font Format (CFF) Version 2 The maxstack operator was inadvertently introduced into the first version of the CFF2 specification but is not required and will be removed in the next version. Will be corrected in the next version.
2 May 2017 gvar — Glyph Variations Table The algorithm given for computing inferred deltas of contour points not referenced in point number data was incomplete and left the possibility for a divide-by-zero condition. A corrected algorithm catches the divide-by-zero condition, and distinguishes sub-conditions: (1) If the adjacent points that have explicit deltas have the same coordinate value and the same delta, then that delta value is used. (2) If the adjacent points have the same coordinate value but different deltas, then the inferred delta is zero. These conditions are processed before testing whether the target point coordinate is between the coordinates of the adjacent points. Will be corrected in the next version.
14 April 2017 gvar — Glyph Variations Table The description of the flags field of the header incorrectly refers to bit 1 for specifying the format of the offsets array. The correct bit for specifying the format of the offsets array is bit 0. Corrected in 1.8.1 (2017-4-14)
29 March 2017 CFF2 — Compact Font Format (CFF) Version 2 In Table 18, Appendix C, the numeric range of two-byte DICT operators, in decimal representation, was incorrectly given as starting at 12 33. The correct range is 12 38 to 12 255. Will be corrected in the next version.
20 January 2017 avar — Axis Variations Table The description of the SegmentMaps record did not clearly reflect that axisValueMaps is an array with positionMapCount elements. Corrected in 1.8.1 (2017-1-20)
12 January 2017 avar — Axis Variations Table The table describing the 'avar' header was missing a field that is required for compatibility with Apple’s specification of 'avar' table. A reserved uint16 field should exist after the minorVersion field and before the axisCount field. Corrected in 1.8.1 (2017-1-12)