-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ufoOperator #40
Merged
ufoOperator #40
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* generator for test ds5 designspace * some exploring in sorting axes, discrete locations and masters
Lots of work on designspaceObject work with discrete axes. Cleaning up. Tests need to be run from this __init__. Lots of printing as well, sorry. Script that makes test designspace: 1 interpolating + 2 discrete axes. Hand tuned masters. Some notes in the readme about the space and the tests Found an unexpected extrapolation feature in varlib. Back to mutatorMath.
This refactors UFOprocessor from subclassing from to wrapping a fonttools designspace object in the hopes to have some buffer between the projects. In this state ufoProcessor supports discrete axes: it will collect the right sources for the continuous bits and make glyphs, font info and kerning. Todo: all the testing. Also the live-reloading thing is not part of this.
So, if a source ufo has a variation on a space glyph or some other whitespace, like "space.tight", this will fail the checkGlyphIsEmpty test because it has no reognised whitespace unicode. This fix bluntly looks for "space" in the glyphname. While I'm aware this is not a comprehensive approach, it is low risk.
+ add updateFonts(), changed(), glyphChanged() updateFonts takes a list of fontobjects and it will drop them in the doc.fonts if the fonts have the same path and call changed(). This does not need to check layernames.
+ Rename emptyPen to the more generic pens so that the decomposepen can also move there. + Remove self.problems, do all reporting to the logger. + makeOneGlyph() a one stop method for fulfilling all orders for a specific glyph. Accept every location, math model, rounding and decompose. + inspectMemoizeCache() Convenience method for dumping the memoize cache keys to get an impression of what happened. + collectBaseGlyphs() does some work towards finding out which glyphs are needed to build all components. But it would overload makeOneGlyph so it has to be its own thing.
+ because that would be a new name for the thing because it may not be backwards compatible anymore + collectForegroundLayerNames to make a slightly more robust last of foreground layer names. It's a bit more complicated because it may be defcon fonts as well as fontparts wrapped things, inside and outside of RF + some tweaks, comments
I like this name better.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A replacement for ufoProcessor, built as a new thing so that it won't break anything. Generates UFO and provides interpolations for info, kerning, glyphs, in mutatormath and varlib, in anisotropic and extrapolation.