2675 Commits

Author SHA1 Message Date
Behdad Esfahbod
cc2fb5a400 [varLib] Rename MutatorModel to VariationModel 2016-04-13 23:46:12 -07:00
Behdad Esfahbod
0ee799fb03 [glyf] Add math operators to GlyphCoordinates 2016-04-13 22:54:39 -07:00
Behdad Esfahbod
0d0509a312 [varLib] Rename offsets to deltaWeights
Also negate the weights and add the current master's weight
as well (+1).
2016-04-13 16:44:59 -07:00
Behdad Esfahbod
cbda46c530 [varLib] Generate master offsets
TO be documented / renamed.  This is the contribution of other
masters, at each masters' location.
2016-04-13 16:37:16 -07:00
Behdad Esfahbod
ef4aa7e7f0 [varLib] Shuffle 2016-04-13 16:35:41 -07:00
Behdad Esfahbod
c16086afaa [varLib] Add MutatorModel
Computes the master supports pyramids already.
2016-04-13 16:35:41 -07:00
Behdad Esfahbod
9a604599a4 [varLib] Return axisPoints with sort key func 2016-04-13 16:35:41 -07:00
Behdad Esfahbod
458ebbf9d5 Start varLib, for gvar-style font variations
Right now, just reinventing some concepts form MutatorMath.objects
in a more compact (and more correct?) way.
2016-04-13 16:35:41 -07:00
Behdad Esfahbod
c4fe9c7c57 Before splitting subtables when overflow happens, try disabling table sharing
More bandaid for https://github.com/behdad/fonttools/issues/537
2016-04-13 16:34:14 -07:00
Behdad Esfahbod
4268e6345d Fix splitPairPos for TTFont loaded from XML
When loading from XML count variables are missing...

Fixes https://github.com/behdad/fonttools/issues/537#issuecomment-207849194
2016-04-13 16:17:05 -07:00
Behdad Esfahbod
68500cbfe8 [gitignore] Ignore jython bytecode 2016-04-13 13:20:09 -07:00
Sascha Brawer
7cc829d91d Merge pull request #573 from miguelsousa/svg-colorPalettes-fix
[SVG] Better handling of empty <colorPalettes> element
2016-04-13 13:21:40 +02:00
Miguel Sousa
b9fc0b84ed [SVG] Don't make <colorPalettes> element a requirement 2016-04-13 03:32:07 -07:00
Miguel Sousa
30c89b8a2f [SVG] Don't write <colorPalettes> element if it's empty 2016-04-13 03:31:01 -07:00
Miguel Sousa
ff06131e47 [SVG] Better handling of empty <colorPalettes> element 2016-04-13 02:28:20 -07:00
Sascha Brawer
967cf8bb15 Sort feature records by feature tag
Resolves https://github.com/behdad/fonttools/issues/568
2016-04-12 13:53:25 +02:00
justvanrossum
af5bd42479 ignore OSX Finder private data 2016-04-12 07:22:15 +02:00
Cosimo Lupo
dc2f95d3ef .gitignore: ignore cache files and add some comments
@brawer maybe the emacs backup files could go to your .git/info/exclude list?
This is what I do with my '.DS_Store' friends on my mac.
2016-04-11 11:32:25 +01:00
Behdad Esfahbod
24820064ff Merge pull request #571 from anthrotype/coverage
run coverage.py on Travis and upload report to coveralls
2016-04-10 18:48:50 -07:00
Cosimo Lupo
893d5d795a travis/run.sh: simplify 2016-04-11 02:20:19 +01:00
Cosimo Lupo
573cf4c266 travis/install.sh: don't use brew to install pyenv on OS X as it's too slow; just clone from git like in Linux 2016-04-11 02:19:44 +01:00
Behdad Esfahbod
d82401bb8d Fix SVG version-1 decompile
Untested.  We should add tests for these.
2016-04-10 17:20:10 -07:00
Cosimo Lupo
215ab5bec3 travis.yml: add 'coveralls' tox environment to the matrix (use py35 on Linux) 2016-04-11 01:11:01 +01:00
Cosimo Lupo
624fe3f625 tox.ini: configure coveralls 2016-04-11 01:11:01 +01:00
Cosimo Lupo
a37dc9f186 tox.ini: use {envpython} substituion for path to the virtual Python interpreter 2016-04-11 01:11:01 +01:00
Cosimo Lupo
d187a7ea44 .coveragerc: add configuration file for coverage.py 2016-04-11 00:15:07 +01:00
Cosimo Lupo
75ec34f8ab SVG: decompileEntryList method takes only one argument
I haven't tested if this works (but for sure it wasn't working before either)
2016-04-10 23:23:25 +01:00
Cosimo Lupo
afd3f6618c OS/2: 'global' is not needed
as no assignment is done, only append.
2016-04-10 23:13:59 +01:00
Cosimo Lupo
2526d85ad9 macUtils: fix undefined variable 'TTLibError' 2016-04-10 23:10:37 +01:00
Cosimo Lupo
54e6ab9478 mtiLib: add missing logging format string 2016-04-10 23:08:39 +01:00
Cosimo Lupo
2ac24ec27e feaLib.ast: fix 'TypeError: not enough arguments for format string' 2016-04-10 23:06:35 +01:00
Cosimo Lupo
d2b58c4a86 textTools: add import sys
just to make my linter happy
2016-04-10 22:59:52 +01:00
Cosimo Lupo
e8c8bb75b1 xmlReader: must import sys
used at line 22 to read from stdin
2016-04-10 22:59:02 +01:00
Cosimo Lupo
6c9f00273b Merge pull request #570 from anthrotype/fix-appveyor-py34-x64
fix Appveyor Python 3.4 64-bit build
2016-04-10 21:31:52 +01:00
Cosimo Lupo
5f8d0f8ecc tox.ini: I forgot that we still support python 3.3 (sorry)
I hope not for long, though.
2016-04-10 21:06:55 +01:00
Cosimo Lupo
7223267328 tox.ini: specify 'basepython' (with TOXPYTHON override); print python version and arch; call python -m pip to work around Appveyor-installed pip 2016-04-10 19:17:36 +01:00
Cosimo Lupo
fe740dbb68 dev-requirements.txt: add virtualenv>=15.0 as Appveyor ships with an old one
virtualenv is required by tox. Appveyor ships with virtualenv 13.x or something.
tox works fine with that.

However, virtualenv install its own embedded version of pip in the newly created environments. When we install the requirements.txt, pip complains that pip is not up-to-date. Updating virtualenv makes pip stop complaining.

Woosh.
2016-04-10 19:17:36 +01:00
Cosimo Lupo
8bf3fd18c0 appveyor: add script to set SDK vars for 64-bit py34 before running tox
Update appveyor.yml to follow the most recent recommendation from PyPA Packaging User Guide:
http://python-packaging-user-guide.readthedocs.org/en/latest/appveyor/

- set DISTUTILS_USE_SDK=1 only for Python34-x64. It seems like we no longer need to do that for Python2.7-x64;
  For more info check this: https://github.com/ogrisel/python-appveyor-demo/issues/39

- run tox using 'with-compiler.cmd' batch script so that Brotli extension can be built from git source with the correct MSVC and Windows SDK versions (btw, I wish brotli was on PyPI already so we could just `pip install brotli` and done!);

- define TOXPYTHON variable to make sure tox uses the correct python interpreter. Previously, in fact, the 'py34' toxenv was always picking up the 32-bit interpreter, even when we were testing the 64-bit Python 3.4 :(...

- add PowerShell command to enable 'rollout builds' feature, as done on 'python-appveyor-demo':
f54ec3593b/appveyor.yml (L81-L89)

- call pip via `python -m pip` to make sure we are running the just updated pip version, instead of Appveyor's pre-installed pip

- Remove unused stuff
2016-04-10 19:17:36 +01:00
Behdad Esfahbod
c6facc99df When splitting a large class-kerning table, mark the old subtable as DontShare
Fixes https://github.com/behdad/fonttools/issues/537#issuecomment-196047070
2016-04-09 13:06:16 -07:00
Cosimo Lupo
17bb7891ad [Snippets/apply-feature-file.py] add -v option to increase logging verbosity 2016-04-09 18:13:42 +01:00
Cosimo Lupo
a210716a85 Merge pull request #566 from khaledhosny/fealib-hhea
[feaLib] Support hhea table
2016-04-09 17:41:22 +01:00
Khaled Hosny
5ceaa43d27 [feaLib] Support hhea table 2016-04-09 18:02:40 +02:00
Behdad Esfahbod
a61b31a917 [subset] Mark avar and fvar tables as no-need-subsetting 2016-04-08 18:41:31 -07:00
Cosimo Lupo
09d2983fbb [classifyTools] rename 'sorted' -> 'sort' to avoid confusions with the built-in name 2016-04-08 22:08:21 +01:00
Cosimo Lupo
0be1d722dc test on more recent pypy-5.0.0 (the latest one is 5.0.1 but is not yet available to install via pyenv) 2016-04-08 22:04:28 +01:00
Cosimo Lupo
020acf168b [classifyTools] fixup tests after reverting commit 34d43aa 2016-04-08 21:59:05 +01:00
Cosimo Lupo
20320494de Revert "[classifyTools] 'sorted' keyword argument should be boolean"
This reverts commit 34d43aa797c8b9e4ff42782bfdd7abde7711835d.

See 34d43aa797 (commitcomment-17012817)
2016-04-08 21:54:56 +01:00
Cosimo Lupo
1aa92de366 [classifyTools] must sub-class from 'object' to use new-style classes on py2 2016-04-07 12:09:28 +01:00
Cosimo Lupo
c9db89a851 [classifyTools] fix doctest failing on pypy
It seems like sets are hashed differently in CPython and PyPy.
Because of this, the returned list of class sets may have a different sort
order (within each class size) between the two implementations.

For now, I make the test pass on both CPython and PyPy by casting the returned
list of sets into a set of (frozen) sets, and asserting that its *content* is
correct, without considering the *order* of the sets in the list.
2016-04-07 11:54:53 +01:00
Cosimo Lupo
d2aab877bb [classifyTools] fix CI doctest failures on python 3
set objects have different __repr__ on python 2 and 3

Python 3:
    >>> {1, 2, 3}
    {1, 2, 3}

Python 2
    >>> {1, 2, 3}
    set([1, 2, 3])

(one among the several reasons I don't particularly like doctest...)
2016-04-07 10:00:49 +01:00