OpenType 1.9.1 Alpha Review

The next version of the OpenType spec will be version 1.9.1. An alpha release is being published to provide opportunity for wide review.

The significant technical change for OpenType 1.9.1 is a revision to sweep gradients version 1 of the COLR table spec. This will affect how the data for sweep gradients is interpreted, but not the table formats used.

Another significant but non-technical change is a major, editorial revision of the CFF2 table spec, and incorporation of the CFF2 CharString appendix into the CFF2 table chapter. The separate appendix was made redundant and deleted.

Other minor corrections or clarifications were made, responding to issues reported for OpenType 1.9 or previously-released versions, as well as editorial changes made to synchronize with the working draft for the 5th edition of ISO/IEC 14496-22, Open Font Format.

Only those chapters listed below have changes.

Status

This is a pre-release draft for OpenType 1.9.1, published to facilitate wide review. The content may be updated or replaced at any time before OpenType 1.9.1 is released. It is inappropriate to cite this other than as work in progress.

The current draft of revisions to the COLR table are assumed to be relatively stable, and some vendors have begun incorporating these changes into their implementations. It is expected that feedback may lead to refinements in the specificiation, but no significant changes to the design are anticipated. Feedback could bring to light significant issues that had been overlooked, however.

Note: These pre-release pages will be removed once version 1.9.1 is released and becomes the current version of the spec. Issues opened in the typography-issues repo will be kept, however.

Submitting feedback

Feedback is invited on proposed changes for version 1.9.1. Feedback should be submitted using the feedback mechanism, with a feedback link at the bottom of each page, or using the link at the bottom of this page. All feedback will appear as issues in the MicrosoftDocs/typography-issues GitHub repository, and can be discussed there.

Known issues

The following are known issues that do not need to be reported.

  • Some links will not work: Because the alpha content is not complete, links to other pages for the OpenType spec will not work. Links to other content should work, however.
  • In delta pages that highlight changes, the styling does not match other pages. Also, page elements such as the navigation pane and menu bar are missing.

Chapters available for review

The following chapters are available for review:

Chapter Alpha page Alpha page with change tracking Related issues
OpenType Overview overview overview 1039
OpenType Layout Overview ttochap1 ttochap1
OpenType Font Variations Overview otvaroverview otvaroverview 706, 917
OpenType™ Layout Common Table Formats chapter2 chapter2 963, 991, 1052, 1142
OpenType Font Variations Common Table Formats otvarcommonformats otvarcommonformats 939, 941, 963
The OpenType Font File otff otff 992
avar — Axis Variations Table avar avar
BASE — Baseline Table base base 963
CBDT — Color Bitmap Data Table cbdt cbdt
CBLC — Color Bitmap Location Table cblc cblc
CFF — Compact Font Format Table (Version 1) cff cff
CFF2 — Compact Font Format (CFF) Version 2 cff2 cff2 1115, 1124, 1141
cmap — Character to Glyph Index Mapping Table cmap cmap 980, 1000, 1001, 1019
COLR — Color Table colr colr 914, 933, 939, 949, 950, 963, 965, 977, 982, 984, 1090, 1132
CPAL — Color Palette Table cpal cpal
cvar — CVT Variations Table cvar cvar
DSIG — Digital Signature Table dsig dsig
EBDT — Embedded Bitmap Data Table ebdt ebdt
EBLC — Embedded Bitmap Location Table eblc eblc
EBSC — Embedded Bitmap Scaling Table ebsc ebsc
fpgm — Font Program fpgm fpgm
fvar — Font Variations Table fvar fvar 946, 994
gasp — Grid-fitting and Scan-conversion Procedure Table gasp gasp
GDEF — Glyph Definition Table gdef gdef 963
glyf — Glyph Data glyf glyf 626, 904, 999, 1020
GPOS — Glyph Positioning Table gpos gpos 963, 1034, 1142
GSUB — Glyph Substitution Table gsub gsub 980
gvar — Glyph Variations Table gvar gvar 1067
hdmx — Horizontal Device Metrics hdmx hdmx
head — Font Header Table head head 907
hhea — Horizontal Header Table hhea hhea
hmtx — Horizontal Metrics Table hmtx hmtx 995, 1003
HVAR — Horizontal Metrics Variations Table hvar hvar
JSTF — Justification Table jstf jstf 1119
kern — Kerning kern kern
loca — Index to Location loca loca
LTSH — Linear Threshold ltsh ltsh
MATH - The Mathematical Typesetting Table math math 766, 1135
MERG — Merge Table merg merg
meta — Metadata Table meta meta 978, 1105
MVAR — Metrics Variations Table mvar mvar
name — Naming Table name name 910, 936, 956, 1104
OS/2 — OS/2 and Windows Metrics Table os2 os2 903, 911, 936, 938, 1007, 1014, 1084
PCLT — PCL 5 Table pclt pclt
post — PostScript Table post post 1050
prep — Control Value Program prep prep 886
sbix — Standard Bitmap Graphics Table sbix sbix
STAT — Style Attributes Table stat stat 932
SVG — The SVG (Scalable Vector Graphics) Table svg svg
VDMX — Vertical Device Metrics vdmx vdmx
vhea — Vertical Header Table vhea vhea 985, 995, 1130
vmtx — Vertical Metrics Table vmtx vmtx 995, 1120
VORG — Vertical Origin Table vorg vorg
VVAR — Vertical Metrics Variations Table vvar vvar
Appendices:
CFF2 CharStrings Format n/a cff2charstr
Comparison of 'glyf', 'CFF ' and CFF2 tables glyphformatcomparison glyphformatcomparison
IBM Font Family Classifications ibmfc ibmfc
OpenType Layout Tag Registry ttoreg ttoreg
Baseline Tags baselinetags baselinetags
Feature Tags featuretags featuretags
Registered Features featurelist featurelist
Registered Features: Descriptions and Implementations (a – e) features_ae features_ae 1069
Registered Features: Descriptions and Implementations (f – j) features_fj features_fj 1013, 1069
Registered Features: Descriptions and Implementations (k – o) features_ko features_ko 1069
Registered Features: Descriptions and Implementations (p – t) features_pt features_pt 1028, 1069
Registered Features: Descriptions and Implementations (u – z) features_uz features_uz 1069
Language System Tags languagetags languagetags 969, 970, 986, 1031, 1035, 1036, [10371037], 1065, 1071, 1093, 1102, 1118, 1143
Script Tags scripttags scripttags 906, 948, 1131
OpenType Design-Variation Axis Tag Registry dvaraxisreg dvaraxisreg 983
Registered Design-Variation Axis Tag: 'opsz' dvaraxistag_opsz dvaraxistag_opsz 983
TrueType Fundamentals ttch01 ttch01 1029
Instructing TrueType Glyphs tt_instructing_glyphs tt_instructing_glyphs 907
The TrueType Instruction Set tt_instructions tt_instructions 883, 967
OpenType Specification Change Log changes changes