* [designspaceLib] WIP: add conditionSets to RuleDescriptor...
the BaseDocReader still needs to be updated to be able to read both
legacy condition-without-conditionset and new-style conditionset
elements.
* test_rules: replace rule.conditions with conditionSets
* Tests: update test.designspace to use conditionset; replace 'with' with 'byname' in sub element
I don't like too much that now 'byname' precedes alphabetically 'name'.
We need to see if ElementTree allows to sort attribute arbitrarily
* Change versionnumber to 4.0 - would that be enough, or should there be seperate major / minor fields?
If we bump the version up to numeral 4, I'd like the check for the with / byname attributes. We can read the old `byname` and only write the new `with`.
Remove support for `initial` in axis attributes.
* WIP - formatversion, with attribute,
* WIP
anything that is not version 4.0 is version 3.0
added some local paths to the test so I can see what it's generating. I can take this out later.
* WIP
read the conditionsets properly. This makes the tests fail no longer.
* WIP
disambiguate axis tags from axis names. Test axes are now called "axisName_x", tags are called "TAGX"
* WIP forgot to push
* WIP
Raise `DesignSpaceDocumentError` when no maximum or minimum are given in a condition.
Add test for such an incomplete rule.
Remove path cruft.
* WIP improved test of raised error.
* WIP because no bot.
* WIP more spaces around percents.
* WIP - don't skip empty subs, just load whatever is there.
* WIP do not permit empty axes in a location when evaluating a rule. Fix some tests.
* WIP missed a str(tempdir), some rule tests.
* WIP proposal for changes to the designspace spec to the `rule` and `sub` elements.
* WIP edits.
* WIP. Typo.
Add `layerName` attribute to the sourcedescriptor object
Read and write layerName.
Add a source layer test.
XXX this also disables the test_check() test for the moment because it generates odd results.
When an offset refers to a table, we keep the size of the offset to
the referred-to table. When sharing tables, we were ignoring this,
which could result in a long offset being written out as a short, or
vice versa. Fix it by not sharing such tables. This is not optimal
but fixes the bug.
Bug has been there forever.
Takes a template containing predefined strings {dirname}, {basename},
{stem}, {ext} and {fullname}, to customize the location of the binary
master TTFs in relation to the designspace source filenames.
and rename getPermutations to iterAllCombinations.
It's not really permutations we are after here, but more combinations
of indexes sorted by decreasing length, from more specific to less