- Removed hard-dependency on pyfilesystem2 (
fs
package) fromfonttools[ufo]
extra. This is replaced by thefontTools.misc.filesystem
package, a stdlib-only, drop-in replacement for the subset of the pyfilesystem2's API used byfontTools.ufoLib
. The latter should continue to work with the upstreamfs
(we even test with/without). However, clients who wish to continue usingfs
can do so by depending on it directly instead of via thefonttools[ufo]
extra (#3885, #3620). - [xmlWriter] Replace illegal XML characters (e.g. control or non-characters) with "?" when dumping to ttx (#3868, #71).
- [varLib.hvar] Fixed vertical metrics fields copy/pasta error (#3884).
- Micro optimizations in ttLib and sstruct modules (#3878, #3879).
- [unicodedata] Add Garay script to RTL_SCRIPTS (#3882).
- [roundingPen] Remove unreliable kwarg usage. Argument names aren’t consistent among point pens’
.addComponent()
implementations, in particularbaseGlyphName
vsglyphName
(#3880).