Simon Cozens
Simon Cozens
Yeah, we should definitely use Google style. I'll do a second pass later fixing up all the docstrings, so please don't let this be a blocker for my incoming PRs....
I think the only actual breaking change is that the `glyph` and `replacement` arguments to `MultipleSubstStatement` are now AST objects, not strings/lists of strings.
This isn't just a matter of type *hints*, we're changing the actual types - we're now calling `.glyph` on the `glyph` and `replacement` attributes. They need to be objects. Having...
Grr. This doesn't actually fix the "AST objects in buildCoverage" problem.
This is because we haven't resolve #2748 (whether to put AST objects or strings into GlyphClass). Currently I've gone with the *parser*'s existing behaviour of putting strings in there, because...
Urgh, there is another incompatibility here between feaLib.parser and ufo2ft.featureWriters.kernFeatureWriter. kernFeatureWriter does this: ```python return {g.asFea() for g in classDef1.glyphSet()} ``` Previously `glyphSet` *usually* returned a list of AST objects...
Yeah, I like that too. Will work on it.
Sorry, yeah, I don't think I'm going to be picking this up any time soon. The project I needed it for is done now.
> wait, I don't understand why you need a GlobalTimer, aren't loggers as such already global? But timers aren't.
Sorry, that was a bit cryptic. If a function in fontmake calls a function in ufo2ft, you want to use the same timer object so you can preserve the call...