3969 Commits

Author SHA1 Message Date
Cosimo Lupo
54b6640b29 Merge pull request #919 from fonttools/decomposing-pen
[pens] add DecomposingPen and DecomposingRecordingPen
2017-04-13 14:41:46 +01:00
Cosimo Lupo
3e70daa206
[basePen_test] add test for missing component skipped 2017-04-13 14:22:40 +01:00
Cosimo Lupo
78212239aa
[recordingPen_test] test recording component references as well as decomposed paths 2017-04-13 14:22:40 +01:00
Cosimo Lupo
94c88f56cb
[recordingPen] add DecomposingRecordingPen
Uses the DecomposingPen as mixin, and raise KeyError on missing glyphs

See https://github.com/fonttools/fonttools/pull/880#issuecomment-288558012
2017-04-13 14:22:39 +01:00
Cosimo Lupo
b438dbeee5
[basePen] add LoggingPen and DecomposingPen, subclass BasePen from DecomposingPen
This is so we can reuse addComponent with the recording pen, without having to
inherit from the BasePen (which also splits curveTo and qCurveTo commands).

Log warning message on missing glyphs by default, optionally raise KeyError
if skipMissingComponents = False
2017-04-13 14:22:29 +01:00
Cosimo Lupo
301cb69a3a
Update changelog 2017-04-13 14:19:14 +01:00
Miguel Sousa
6241ff77ec [varLib_test] no need for this test since axisMap parameter is no longer supported
test_varlib_build3_ttf() already covers the case of a .designspace without <axes> element
2017-04-13 00:58:23 -07:00
Behdad Esfahbod
932b938d7d [varLib] Minor 2017-04-12 21:56:49 -07:00
Behdad Esfahbod
968c25dd7f [varLib] Generate avar table
Fixes https://github.com/fonttools/fonttools/issues/916
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
191cea5965 [varLib] Fixup for 91f4fd90d4fdee293052d9d226a31baa2e7edda8
Oops!  Too many Axis classes.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
0fa41c14b9 [varLib] Check all master and instance locations are valid
Ie. they don't specify any unknown axes, and location is within
axis minimum/maximum.  We also allow master / instance locations
to not specify some axes, and we fill in the axis default for those.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
9034f4f3f1 [varLib] Rewrite axis configuration code
We do not accept nonstandard axes if <axes> element is not present.
Breaks one test.  Needs updated expectations.

Soon we'll be generating avar as well and all will be better, much better.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
e73cc7ae34 [varLib] Move code around 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
51fd216c62 [varLib] Towards encoding all name languages 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
80c020d260 [varLib] Remove "custom" axis
This was added before when glyphsLib was always exporting the (unused)
custom axis.  It doesn't now, so remove.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
242faa798a [varLib] Remove unused build(..., axisMap) argument
Axis map should be specified in designspace file now.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
c922962056 [varLib] Minor 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
5a21b60ed9 [varLib.designspace] Add main functionality
Loads designspace file from commandline and pretty-prints it.
2017-04-12 21:54:43 -07:00
Miguel Sousa
e69960cce0 [subset] Remove outdated comment from instructions
https://github.com/fonttools/fonttools/issues/144#issuecomment-290982065
2017-04-12 18:26:38 -07:00
Cosimo Lupo
a55f5c2395 Merge pull request #918 from fonttools/filter-pen
[pens] add filterPen module
2017-04-12 16:23:52 +01:00
Cosimo Lupo
980ac7d415
[transformPen] use FilterPen as the base class instead of AbstractPen 2017-04-12 14:17:15 +01:00
Cosimo Lupo
107bf48ffe
[filterPen] add FilterPen base class
Can be useful for others, e.g.:
https://github.com/googlei18n/ufo2ft/issues/120#issuecomment-288503784
2017-04-12 14:17:15 +01:00
Cosimo Lupo
2be38d0d81
Update changelog 2017-04-12 12:29:21 +01:00
Cosimo Lupo
3f7e095748
[varLib_test] add MVAR table to expected BuildMain.ttx 2017-04-12 12:27:32 +01:00
Cosimo Lupo
f380bedd92
Update changelog 2017-04-12 11:40:47 +01:00
Cosimo Lupo
6862262301 Merge pull request #915 from anthrotype/logmixin
[loggingTools] added LogMixin class
2017-04-12 11:34:17 +01:00
Cosimo Lupo
1e31e55682
[loggingTools] add docstring to exemplify usage of LogMixin 2017-04-12 11:20:42 +01:00
Behdad Esfahbod
8c62165008 [varLib] Build MVAR table
Does not implement gasp table variations, but the rest should work.
2017-04-11 11:10:54 -07:00
Cosimo Lupo
cca1d20b0e
[loggingTools] added LogMixin class
This is useful to quickly add logging functionality to classes, and
to reduce boilerplate.

It adds a 'log' property to the class inheriting from it, which uses
logging.getLogger to get a logging.Logger (sigleton) object named after
<module>.<class> of self.
2017-04-11 18:40:52 +01:00
Cosimo Lupo
d8a9ca6db4
Update changelog 2017-04-11 11:05:53 +01:00
Cosimo Lupo
7de51cff57 Merge pull request #913 from anthrotype/vtt-tsi-length
[TSI*] Fix computation of the textLength of VTT private tables entries
2017-04-11 10:20:36 +01:00
Cosimo Lupo
f1e9bf30e4
[TSI*] Added docstrings to explain the purpose of VTT private tables 2017-04-11 10:01:47 +01:00
Cosimo Lupo
fab26fd5c1
[loggingTools] rename 'match' to 'assertRegex'
https://github.com/fonttools/fonttools/pull/913#discussion_r110820088

https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRegex
2017-04-11 09:34:39 +01:00
Cosimo Lupo
18bd3c6afe
[TSI1] add tests for decompile method 2017-04-10 20:53:10 +01:00
Cosimo Lupo
b26eeb2eb2
[TSI0] add tests for decompile, compile and toXML methods 2017-04-10 20:53:10 +01:00
Cosimo Lupo
6567a8bc92
[TSI0] return empty byte string if no 'indices' attribute is set
previously it was returning a str on python3
2017-04-10 20:53:02 +01:00
Cosimo Lupo
be9784c916
[TSI0] use unsigned 'L' instead of signed 'l' as textOffset format
https://gitter.im/caryll/otfcc?at=58eb78288bb56c2d1192d56c
2017-04-10 19:47:48 +01:00
Cosimo Lupo
9528717f6e
[loggingTools] add 'match' method to CapturingLogHandler
Can be useful for writing tests:

>>> with CapturingLogHandler(log, "WARNING") as captor:
...     # do something with logging
>>> assert captor.match('some .* pattern')
2017-04-10 19:47:48 +01:00
Cosimo Lupo
a8442490dd
[py23] add backport for python 3's SimpleNamespace class
This can be useful sometimes. The code is taken from the docs:

https://docs.python.org/3/library/types.html#types.SimpleNamespace
2017-04-10 19:47:48 +01:00
Cosimo Lupo
0e56002348
[TSI1] Fix computation of the textLength of VTT private tables entries
https://gitter.im/caryll/otfcc?at=58e28b284cb8d091735567fe

Thanks Belleve Invis! ;)
2017-04-10 19:47:48 +01:00
Cosimo Lupo
e5e795ac9f
[tox] don't pass {posargs} to coverage in 'htmlcov' env
The {posargs} are global for the current tox process, and we already use them to pass additional arguments to the pytest command in the default testenv, so we can't at the same time also use them to pass options to coverage.py.

The 'htmlcov' tox environment produces the combined coverage.py report, and store it in htmlcov/index.html; this is listed in the tox.ini 'envlist', so it is run by default at every 'tox' invocation, when no explicit env list is passed via either -e option or $TOXENV variable.

The options to `coverage html` are not much interesting anyway; it's much more useful being able to, e.g., run tox for specific tests matching a string or expression:

$ tox -- -k "feaLib"
2017-04-10 12:23:12 +01:00
Cosimo Lupo
7fe876a803
[minor] remove semicolons 2017-04-10 11:57:13 +01:00
Cosimo Lupo
41d5db5bbc
[tox] only test on py27 and py36 when running 'tox' without arguments
When running tox locally during development, there's no need to also test python 3.5.
2.7 and 3.6 are enough, and the CI takes care of the others (3.4, 3.5, pypy, etc.).
2017-04-10 11:42:09 +01:00
Cosimo Lupo
40a61de570
[tox.in] doctests are now run as part of the same pytest command 2017-04-10 11:32:17 +01:00
Cosimo Lupo
232390ce5e
[setup.cfg] always use --pyargs option with pytest to re-enable doctests discovery
The --pyargs option makes pytest try interpreting arguments as importable python package names, or if that fails treat them as normal filesystem paths.

Now running `pytest` command will automatically run all the tests in "Tests" folder, as well as the embedded doctests in the installed "fontTools" package.

This is in reply to a comment by Behdad in
fdbf066a8c
2017-04-10 11:32:16 +01:00
Adrien Tétar
a4a3ae6d49 EBLC: fixes for py3 zip
Closes #909.
2017-04-10 01:10:45 +02:00
Cosimo Lupo
81452301e1
Bump version: 3.9.2 → 3.9.3.dev0 2017-04-08 15:55:36 +02:00
Cosimo Lupo
d011688978
Release 3.9.2 2017-04-08 15:55:35 +02:00
Cosimo Lupo
41b520f0e6
Update changelog 2017-04-08 15:55:15 +02:00
Cosimo Lupo
2810c88cb9 Merge pull request #910 from adrientetar/wx-pen
pens: add a wx pen
2017-04-08 15:39:25 +02:00