Cosimo Lupo
01ed5a43e7
data/lookupflag.{fea,ttx}: add tests for duplicate glyphs in MarkAttachClass and MarkGlyphSets
2017-02-26 10:48:54 +08:00
Cosimo Lupo
2c9eea33ee
[feaLib.builder] rename 'id' -> 'id_' to avoid shadowing id() built-in function
2017-02-26 10:48:54 +08:00
Cosimo Lupo
1958334158
[feaLib.builder] sort markFilterSets_ items by id to make output deterministic
...
The items() of self.markFilterSets_ dictionary are not guaranteed to be always
ordered the same (may vary across python implementations or on subsequent runs).
To ensure deterministic order of Coverage subtables in MarkGlyphSetsDef tables,
we sort the mark sets by the order in which 'UseMarkFilteringSet' statements appear
in the feature file.
2017-02-26 10:48:54 +08:00
Cosimo Lupo
a9e0165b93
[feaLib.builder] ignore duplicates in classes used as MarkFilteringSet and MarkAttachmentType
...
Glyph classes from feaLib parser are tuples of strings, with an order and possibly containing duplicates.
However when building MarkGlyphSetsDef or MarkAttachClassDef we are only interested in the *set* of glyphs they contain, i.e. the unordered collection of unique glyph names.
Also, note how in the tests for otlLib.builder.buildMarkGlyphSetsDef, the input is given as set literals, not tuples:
https://github.com/fonttools/fonttools/blob/78ad48e/Tests/otlLib/builder_test.py#L633
2017-02-26 10:48:54 +08:00
Behdad Esfahbod
76e73f0ee4
[varLib] Remove TODO item
2017-02-25 10:59:31 -08:00
Behdad Esfahbod
a02a429573
[StatisticsPen] Some more (probably over-) optimization
2017-02-24 15:20:38 -08:00
Behdad Esfahbod
8335af0d1d
[statisticsPen] Micro-optimize
2017-02-24 14:06:58 -08:00
Cosimo Lupo
7a3f8f707d
Merge pull request #857 from readroberts/master
...
varLib. Use designspace <axes> element to define the axisMap and order.
2017-02-24 19:11:07 +00:00
Denis Moyogo Jacquerye
891405fd68
TupleVariation: round deltas before encoding ( #861 )
...
* TupleVariationTest.test_compileDeltaValues(): also test floats
* TupleVariation: round deltas before encoding
Python 3 was raising 'struct.error: required argument is not an integer' and Python 2 was truncating when deltas are floats
2017-02-24 08:58:41 -08:00
ReadRoberts
69ae7f0da5
Python2 .5-> Python3/2.7: "axes.has_key(iden)" -> "iden in axes"
2017-02-24 08:58:39 -08:00
ReadRoberts
33177bf65b
If the design space file uses an <axes> element, use this to define the axis map, and preserve the axis order.
2017-02-22 21:22:34 -08:00
Behdad Esfahbod
55a5ace5d8
[varLib] Update invocation command
2017-02-22 14:46:23 -06:00
Behdad Esfahbod
7d36bf42ef
[interpolatable] Don't pass glyphset to subpen in PerContourPen
...
It doesn't need it. We just record the component.
2017-02-22 14:45:05 -06:00
Sascha Brawer
c436365cef
[varLib] Add missing import
...
After this change, the command line mentioned in the comment at the
beginning of the file works again.
2017-02-22 20:18:05 +01:00
Behdad Esfahbod
8879318c0b
Move RecordingPen to fontTools.pens.recordingPen
2017-02-21 12:11:36 -06:00
Behdad Esfahbod
5a06247ef8
[interpolatable] Derive RecordingPen from AbstractPen, not BasePen
2017-02-21 12:08:07 -06:00
Behdad Esfahbod
f0584a8507
[interpolatable] Change RecordingPen.draw to replay
2017-02-21 12:02:04 -06:00
Behdad Esfahbod
55e529f7a3
Add fontTools.pens.teePen
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
6face10ca3
[basePen] Default glyphset to None
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
f3bfea12c6
Add __all__ to pens that didn't have it
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
69f38605d1
[transformPen] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
69c11928a2
[interpolatable] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
19e695775f
[symfont] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
63c283a3c8
[interpolatable] Remove use of perimeter again
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
c935118072
[interpolatable] Add TeePen
...
Used to combine StatisticsPen and PerimeterPen into one pen for example.
Though, that example to be removed again.
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
d4d12d255c
[interpolatable] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
d748db59cc
[interpolatable] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
14b46cf7a6
[symfont] Move symfont to fontTools.misc.symfont
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
724e6dab4e
[symfont] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
08755ea1a4
[symfont] Move code around
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
ba4d63ea1c
[symfont] Fixup for 1fe8d9f0d149d571626dd3f9121953fd71ebcc2c
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
621759b3a8
[symfont] Add endPath()
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
d8e8a657fa
[areaPen] Remove unnecessary docstrings
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
a690907243
[symfont] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
821ea7385f
Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
0a2c5ef7ae
[symfont] Write generator code as main function in printPen() output
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
628b1c99aa
[symfont] Remove stale docstring
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
7bd0081368
[symfont] Remove printCache()
...
It wasn't updated, and not working, for ages.
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
087d865831
[symfont] Use dict.__missing__ trick for memoize
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
f13fbdae63
[symfont] Shuffle
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
03e8f2e461
[interpolatable] Minor
2017-02-21 12:01:10 -06:00
Behdad Esfahbod
65e5c257ed
[interpolatable] Remove stale commit and uncomment code
2017-02-21 12:01:10 -06:00
Cosimo Lupo
c2263c2e8f
[woff2_test] use bytes instead of unicode literals in struct format strings
...
This is for compatiblity with Python older than 2.7.7.
See https://bugs.python.org/issue19099
> Issue #19099 : The struct module now supports Unicode format strings.
https://hg.python.org/cpython/raw-file/f89216059edf/Misc/NEWS
2017-02-21 14:31:57 +00:00
Cosimo Lupo
fa51dff321
Merge pull request #854 from fonttools/require-head
...
explicitly require 'head' table in TTFont.save()
2017-02-21 13:52:10 +00:00
Cosimo Lupo
b39f3b613c
explicitly require 'head' table in TTFont.save()
...
it's implicitly required anyway, e.g. by ttx's ttCompile, maxp's recalc, OS/2 compile, etc.
2017-02-21 12:57:34 +00:00
justvanrossum
9de3d1a5ae
tweak comment
2017-02-21 13:47:30 +01:00
justvanrossum
c5aa43238f
Make sure to load the 'head' table when recalculating the time stamp. Fixes #847 .
2017-02-21 13:45:50 +01:00
Behdad Esfahbod
f3224d7d34
Move StatisticsPen into fontTools.pens.statisticsPen
2017-02-20 13:19:35 -06:00
Behdad Esfahbod
5cbfaa2792
[symfont] Change GlyphStatistics object into StatisticsPen
...
It's a simple pen now. To be moved to fontTools.pens next.
2017-02-20 13:02:52 -06:00
Behdad Esfahbod
c14aad81f4
[symfont] Rename
2017-02-20 12:46:55 -06:00