Proposal: remove maxstack from CFF2

Sairus Patel sppatel at
Fri Mar 31 00:07:46 CEST 2017

A little operator, maxstack, crept into the CFF2 spec. We think is not worth it after all. Behdad and others have pointed this out. We’ve thought about it more, and agree. Among the many, many decisions we needed to make for CFF2, this is one we think we should roll back.

We believe we can relatively safely remove it before CFF2 adoption progresses too much further. (Werner is on board re. FreeType’s CFF2 rasterizer as well.) Let us know your thoughts, but we don’t anticipate that this will be contentious.

Here are the details. We propose that CFF2 be modified as follows:

1. In sec 7, Table 9: Top DICT Operator Entries, remove the row for maxstack.

2. In sec 7, replace the following paragraph:

Operators in Top and Font DICTs may be preceded by up to a maximum of 193 operands. The maximum argument stack may be changed by the maxstack operator in the CFF2 Top DICT; this will set the maximum stack value for all CharStrings and Private DICTs. The permitted range of values is 193 to 513 inclusive.


Operators in Top DICT, Font DICTs, Private DICTs, and CharStrings may be preceded by up to a maximum of 513 operands.

3. In sec 12, replace “vsindex, blend, vstore, and maxstack” by “vsindex, blend, and vstore”.

4. Also remove the entry for maxstack in the “Syntax for Font Variations support operators” table further down in sec 12.

5. In Appendix C, Table 17 One-byte CFF2 DICT Operators, remove the row for maxstack, and change the subsequent row to:

25 to 27   |   19 to 1b   |   <reserved>

6. In Appendix D, replace:

Two new Top DICT operators have been added: vstore, and maxstack.


One new Top DICT operator has been added: vstore.

7. In Appendix E, add a bullet to the list:

OpenType 1.8.2:

- Removed all mention of Top DICT operator maxstack (25); it was deemed not to be of enough value.

8. (If appropriate) On OpenType’s Errata page, add an entry similar to 7 above.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the mpeg-otspec mailing list