3954 Commits

Author SHA1 Message Date
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
Adrien Tétar
a03eb1137b pens: add a wx pen 2017-04-07 20:50:20 +02:00
Behdad Esfahbod
e5a9fd7faa [otTables] When splitting PairPos subtable, don't set class=0
Doesn't matter when compiling to binary, but makes Python objects cleaner.
2017-04-06 15:34:00 +02:00
Behdad Esfahbod
86549315fd [varLib.merger] Fix recombining of multiple PairPosFormat2 subtables
Gosh!  This is the kind of thinko that doesn't happen with less dynamic languages...

Good one hour of debugging at TYPO Labs. Glad this one is fixed finally!

Fixes https://github.com/fonttools/fonttools/issues/888
2017-04-06 15:29:13 +02:00
Behdad Esfahbod
4c07266971 [varLib] Minor 2017-04-06 15:29:09 +02:00
Behdad Esfahbod
6881121827 Fix tests for recent changes 2017-04-05 15:50:24 +02:00
Behdad Esfahbod
43060a0d08 [varLib] Do not encode gvar deltas if all values smaller than tolerance
Tolerance is set to .5 by default.  Most designspaces never hit this since
for most, all deltas are integers anyway.  Moreover, all such detas will
round to zero anyway.
2017-04-05 15:43:14 +02:00
Behdad Esfahbod
b572ae6c5b [varLib] Do not encode gvar deltas that are all zeroes 2017-04-05 15:43:14 +02:00
Behdad Esfahbod
33d57dc2c3 [glyf] Add getter to fetch raw array 2017-04-05 15:43:14 +02:00
Behdad Esfahbod
fdbf066a8c [glyf] Add __bool__ / __nonzero__ to GlyphCoordintes
I'm really unhappy that doctests do NOT work anymore :(.
2017-04-05 15:43:14 +02:00
justvanrossum
8327d73dee Edge case: Fix logic in choosing CFF vs glyf so we get the correct error if the font has neither. 2017-04-01 14:30:17 +02:00
Cosimo Lupo
2ac4734d71 Merge pull request #903 from fonttools/davelab6-snippets-readme
Snippets/README.md new link
2017-04-01 10:46:45 +01:00
justvanrossum
5ccc1ec59c removed unneeded slice/copy, leftover when upgrading from .sort() to sorted() 2017-03-31 00:07:03 +02:00
Dave Crossland
b7b3653b18 Snippets/README.md new link 2017-03-29 21:03:09 -04:00
Miguel Sousa
a60113dff6 [ttx] Remove FFIL test
It’s not worth the effort 1c2a531de2 (commitcomment-21516461)
2017-03-28 03:43:01 -07:00
Miguel Sousa
ddf9f2334b [ttx] unnecessary lower()
Valid XML files always start with a lowercase declaration
187b886fde (commitcomment-21508520)
2017-03-28 03:43:01 -07:00