2877 Commits

Author SHA1 Message Date
Cosimo Lupo
d17578f7ea MANIFEST.in: exclude 'Doc/ttx.1', as it was removed 2016-08-19 12:32:39 +01:00
Cosimo Lupo
fe90e12601 Remove old 'Doc/ttx.1' man page as outdated, not working on Mac/Windows
The file contains outdated information and nobody is maintaining it any longer.
Plus it only works on Linux, and only if pip installing as sudo (which is bad!).

We need proper Sphinx+ReadTheDocs kind of documentation.
2016-08-19 12:27:09 +01:00
Cosimo Lupo
aef600e914 setup.cfg: use --formats=zip for sdist packages as it's more portable
Windows can't natively decompress the default *.tar.gz archives.
2016-08-19 12:06:07 +01:00
Cosimo Lupo
0a7c6c22ac README.md: add 'Testing' section 2016-08-19 12:04:08 +01:00
Cosimo Lupo
ac7fca7141 remove 'run-tests.sh' as unnecessary; just run tox or py.test
To run tox on specific versions of python, you can use the -e option:
$ tox -e py27
$ tox -e py35

To only run tests which match the given substring expression, use
py.test -k option. Do `py.test -h` for more info.
2016-08-19 11:38:58 +01:00
Cosimo Lupo
6d02c79557 tox.ini: add {posargs} to pass additional command line arguments to py.test
When invoking the tox command, the arguments after the -- will be passed on to the py.test command:

For example:
$ tox -- -x -s -k 'test_something or test_other'

http://tox.readthedocs.io/en/1.0/example/general.html#interactively-passing-positional-arguments
2016-08-19 11:36:39 +01:00
Cosimo Lupo
c289580089 tox.ini: only include py27 and py35 in default 'envlist''
When running `tox` command without specifying any `-e` option, or when no $TOXENV environment variable is specified, the 'envlist' in tox.ini file determines the list of environment tox will operate on.

http://tox.readthedocs.io/en/latest/config.html#confval-envlist=CSV

I chose Python 2.7 and 3.5 because I assume they are the versions that other fonttols developers run their tests on locally, before pushing and let the CI run the tests on the rest of the pythons.
2016-08-19 11:31:07 +01:00
Cosimo Lupo
a368849243 remove Makefile, as it's pretty useless 2016-08-19 11:17:59 +01:00
Cosimo Lupo
c1f4fff307 remove 'MetaTools/buildChangeLog.py'; hasn't been used in long time, and requires some obscure PHP script 'git2cl' 2016-08-19 11:12:02 +01:00
Cosimo Lupo
1908363d56 Remove 'Tools' folder containing shell scripts; we now use setuptools generated console scripts that work on all platforms, not just Unix 2016-08-19 11:08:37 +01:00
Cosimo Lupo
74ce51c881 MANIFEST.in: don't include missing 'Doc/ChangeLog' file 2016-08-19 11:06:50 +01:00
Cosimo Lupo
374624c356 MANIFEST.in: remove no longer existing files from sdist to avoid displaying warnings when creating sdist 2016-08-19 10:55:57 +01:00
Cosimo Lupo
e6a7e3c53c setup.py: use setuptools.find_packages instead of specifying list of sub-packages 2016-08-19 10:16:18 +01:00
Cosimo Lupo
94b7cac969 setup.py: drop support for distutils-only setup; require setuptools
It's 2016.
2016-08-19 10:14:01 +01:00
Cosimo Lupo
3d8044ab92 travis: install latest python versions 3.4.5, 3.5.2 and pypy-5.3.1
remove unused py33 case
2016-08-19 10:04:39 +01:00
Cosimo Lupo
855c3b17c9 [woff2_test] adjust 'test_incorrect_compressed_size' to make it work with brotlipy
In the upstream google/brotli, if the `decompress` function receives an empty byte
string, it returns a brotli.error; whereas in 'brotlipy' it does not raise but
returns an empty string b"":
https://github.com/python-hyper/brotlipy/issues/43#issuecomment-240378257

This test case asserts that when 'totalCompressedSize' in the WOFF2 header is
incorrectly set, the woff2 reader fails -- either because the brotli decoder
raises an exception, or it returns a string whose length is not the one expected.
2016-08-17 12:07:02 +01:00
Cosimo Lupo
3ddc1f2fee .appveyor.yml: update job labels to match Appveyor installed python versions 2016-08-15 13:10:23 +01:00
Cosimo Lupo
793827e7c6 Appveyor: don't configure environment for C++ compiler as we now use pre-compiled Brotli wheels 2016-08-15 13:10:13 +01:00
Behdad Esfahbod
8701fedcfe More solveCubic() hardening
It really should be quite solid this time. :-)
2016-08-13 16:29:49 -07:00
Behdad Esfahbod
5bea5f4fd6 Remove unused line 2016-08-13 16:25:09 -07:00
Behdad Esfahbod
ca7f8d8808 Harden solveCubic() some more
Fixes https://github.com/behdad/fonttools/issues/617#issuecomment-239146815
2016-08-12 22:43:20 -07:00
Cosimo Lupo
1b2af584ff requirements.txt: use the latest Brotli 0.5.2 2016-08-12 11:14:42 +01:00
Behdad Esfahbod
9b3660df9f pointInsidePen: Disallow endPath()
https://github.com/behdad/fonttools/issues/621#issuecomment-234764830
2016-08-10 17:31:29 -07:00
Behdad Esfahbod
f3ff2f8881 pointInsidePen: add getWinding()
Resolves https://github.com/behdad/fonttools/issues/621#issuecomment-234764830

Although, leaving contours left open is out of protocol behavior
IMO.
2016-08-10 17:30:33 -07:00
Behdad Esfahbod
5cd0a55635 Ignore up to 4 bytes excess in kern subtables
Fixes https://github.com/behdad/fonttools/issues/314

Previously the warning message was wrong (probably a regression)
as it was reporting the the length of all kern data as "excess".
Fixing that, I see 4 bytes excess in Calibri.  Up to 4 is alright,
since many compilers add padding and wrongly add 4 instead of 0
sometimes.
2016-08-08 13:02:34 -07:00
Cosimo Lupo
fae8e1b498 Merge pull request #631 from anthrotype/woff-metadata-snippets
Snippets: add 'merge_woff_metadata.py' and 'dump_woff_metatada.py' scripts
2016-08-07 19:28:21 +01:00
Cosimo Lupo
4d7cd66ebc tox.ini: drop py33 testenv 2016-08-06 19:46:22 +01:00
Cosimo Lupo
9e60c3faff Merge pull request #649 from behdad/no-py33
.travis.yml: drop Python 3.3 support
2016-08-06 19:43:50 +01:00
Cosimo Lupo
b6ab441a1a .travis.yml: drop Python 3.3 support 2016-08-06 19:29:35 +01:00
Cosimo Lupo
189fac4758 setup.py: pep8 whitespace; remove unused imports 2016-08-06 13:37:39 +01:00
Cosimo Lupo
8e3b30a078 Revert "setup.py: version 3.1"
This reverts commit cef46f09cf2ddac7e4cd34ed385a094877a8bc4e.

Let's change the package version string only when we are ready to tag the new release.
2016-08-06 13:30:15 +01:00
Cosimo Lupo
c4df73beb6 Merge pull request #647 from anthrotype/pypi
[Travis] auto deploy to PyPI on tags
2016-08-06 13:27:21 +01:00
Cosimo Lupo
900a250896 .travis.yml: enable automatic PyPI deployment from Travis upon tags 2016-08-06 13:10:52 +01:00
Cosimo Lupo
cef46f09cf setup.py: version 3.1 2016-08-06 11:59:00 +01:00
Cosimo Lupo
6b2ac939dd add setup.cfg specifying 'universal' py2-py3 wheel format 2016-08-06 11:40:53 +01:00
Cosimo Lupo
4dc937ff11 Merge pull request #646 from anthrotype/brotli-0.4
requirements.txt: download Brotli 0.4.0 pre-compiled wheel from Github Releases
2016-08-06 11:38:24 +01:00
Cosimo Lupo
64d055c742 requirements.txt: download Brotli 0.4.0 pre-compiled wheel (or sdist) from Github Releases
this should speed up the Travis and Appveyor builds, as we don't need to compile
Brotli from source, at least on OSX and Windows. Linux will still use the
.tag.gz source distribution.
2016-08-06 11:30:41 +01:00
Behdad Esfahbod
9080151cd5 [varLib] Fix variations for composite glyphs using anchor points 2016-07-29 14:44:02 -07:00
Behdad Esfahbod
fc05fe74ec [varLib] Remove unused code 2016-07-29 14:40:16 -07:00
Behdad Esfahbod
02b415c237 [bezierTools] Speed up a bit 2016-07-29 14:40:10 -07:00
Cosimo Lupo
0458410558 Merge pull request #643 from miguelsousa/more-ptinsidepen-coverage
Tests to increase PointInsidePen's coverage
2016-07-28 09:16:05 +01:00
Miguel Sousa
c181805e7e Tests to increase PointInsidePen's coverage 2016-07-28 00:03:04 -07:00
Sascha Brawer
fede51855a Merge pull request #642 from anthrotype/feaLib-ignore-semicolon
[feaLib] ignore stray semicolons
2016-07-28 00:19:43 +02:00
Cosimo Lupo
53232c02bd [feaLib.parser_test] test for stray semicolons 2016-07-27 09:55:11 +01:00
Cosimo Lupo
e9c3686b18 [feaLib.parser] ignore top-level empty statements made up of a single semicolon
makeotf doesn't complain about them either.

Fixes #641
2016-07-27 09:54:08 +01:00
Cosimo Lupo
efb8642366 Merge pull request #640 from adrientetar/qtpen-quads
qtPen: use native quads impl
2016-07-25 19:17:36 +01:00
Adrien Tétar
1126e6edda qtPen: use native quads impl 2016-07-25 11:14:13 -07:00
Cosimo Lupo
539a5010e5 subset: --recalc-average-width is disabled by default 2016-07-20 09:33:35 +01:00
Behdad Esfahbod
d96e246532 Make solveCubic() more robust
Fixes https://github.com/behdad/fonttools/issues/621#issuecomment-226671968
2016-07-19 22:50:09 -07:00
Miguel Sousa
2240bcbd22 Example that fails latest PointInsidePen (#638) 2016-07-19 22:39:57 -07:00