- [glyf] Add
__iter__,itemsandvaluesmethods to theglyftable to make it more dict-like (#4156). - [feaLib] Escape the anonymous block tag when scanning for its terminator, so tags containing regex metacharacters are matched literally (#4167).
- [varLib] Strip directory components from
<variable-font name="..."/>when deriving the output filename in thevarLibcommand line, so a designspace cannot write outside the output directory (#4168). - [feaLib] Fix tracking of the current script and language across redundant
scriptstatements. Rules following ascriptstatement that names the first declared language system no longer end up under theDFLTscript, and ascriptstatement naming the already-current script still narrows the language systems and terminates the current lookup while leaving thelookupflagalone, matching makeotf (#1824, #2522, #4169). - [varLib.interpolatable] Escape glyph names in the HTML report (#4172).
- [otlLib] Fix overflow handling when building contextual lookups: offset overflows now raise
OTLOffsetOverflowErrorinstead ofAttributeErrorso another contextual format can be tried (regression from #3439). When all formats overflow, split the ruleset in halves until it fits (#4171).