gid=0 means "not mapped". Many of the cmap formats use this to
optimize byte encoding. When reading these tables, we don't
want to map charcodes to gid0 in the resulting struct.
Tests pass on both Python 2 and 3 now. Yay!
MockFont is handy for mtiLib.__init__:main(). Not sure how useful it is
otherwise, and what to replace it with.
I'll first make Python 2 and 3 both generate same output for tests with
MockFont, then will probably hardcode glyphorder and remove MockFont
completely and remove hacks I added to make tests work with MockFont.
This makes sure we upload the same files to Github Releases and PyPI.
Currently we were building them twice, with the risk of different files
being uploaded to the two repositories.
We no longer run tests on python3.4 on Windows; 2.7 and 3.5 are enough for Windows I believe.
We do test python3.4 on Linux (not for long, I hope).
We shall add 3.6 when Appveyor provides that by default.
This should speed it up a bit, as brew will download a pre-compiled "bottle", whereas pyenv compiles python from source.
The current 'python3' formula on homebrew is 3.6.0, so let's use that.
Previously we were using a separate Travis build that only run coverage with a single Python version (3.5).
Now, we run coverage with all python versions, and upload a combined coverage data to Codecov.io.
We no longer use coverage.py through the pytest-cov plugin, as it does not
support --parallel-mode (or at least I wasn't able to figure it out).
We run pytest through `coverage run -m pytest` instead, which does the same
as `pytest --cov`.
Running `tox` locally by default will now run pytest and coverage on 2.7, 3.5 and 3.6; it will then
combine coverage data from all three, and finally generate a coverage report in htmlcov/index.html
We need tp temporarily install coverage.py from the mercurial repo instead of the latest release
because we require a patch that is not available yet with coverage 4.2:
https://bitbucket.org/ned/coveragepy/pull-requests/118/check-source-isdir-not-just-exists-there/diff
Finally, I replaced Coveralls with Codecov, as the latter is better designed and also supports Appveyor.