2812 Commits

Author SHA1 Message Date
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
Cosimo Lupo
4ac53ab8b8 add missing 'import sys'
A couple of modules were relying on the fact that the 'sys' module was being implicitly imported by 'from py23 import *'.
The 'py23.__all__' does not include 'sys'. I think it's better to always import 'sys' explicitly when needed.
2016-04-07 09:42:13 +01:00
Cosimo Lupo
69bee48a8f [classifyTools] semicolon 2016-04-07 09:33:02 +01:00
Cosimo Lupo
34d43aa797 [classifyTools] 'sorted' keyword argument should be boolean
or at least that's what the signature and the docstring imply.
2016-04-07 09:31:12 +01:00
Cosimo Lupo
da04ab2909 [py23] define __all__ variable
specifying the list of names that are imported when `from py23 import *` is used
2016-04-07 09:21:05 +01:00
Behdad Esfahbod
6bfe6989de [Snippets/symfont] Add glyph perimeter to GlyphStatistics 2016-04-06 18:15:43 -07:00
Behdad Esfahbod
f70d264ef0 Add __bool__ to fontTools.misc.transform.Transform 2016-04-06 18:15:43 -07:00
Behdad Esfahbod
552b5d97fc Add fontTools.misc.classifyTools, helpers to classify things into classes
To be extended with more features / API.  API might change.
2016-04-06 18:15:43 -07:00
Behdad Esfahbod
2a0359af4d Always import * from py23
Since py23 modifies some essential builtins, it's safe to import
everything all the time.  At least, that's how it was designed.
It's a bug if importing * breaks some code.
2016-04-06 18:15:43 -07:00
Cosimo Lupo
e3f3f4f976 [_m_a_x_p] rename 'allXMaxIsLsb' variable to 'allXMinIsLsb' for clarity's sake
The previous 'allXMaxIsLsb' name was misleading.
The 'allXMinIsLsb' boolean variable cooresponds to the head table's Bit 1.
This is set whenever all glyphs have the bbox.xMin equal to the respective
left sidebearing (and therefore "left sidebearing point at x=0").
2016-04-05 16:17:38 +01:00
Sascha Brawer
13e862da72 [meta] Remove comments about intentionally deviating from Apple's spec
Today, Apple has kindly fixed a bug in the [specification of the
meta table](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6meta.html).  The existing fonttools implementation matches the
revised specification.  Therefore, the comments about fonttools
intentionally deviating from Apple's spec can be removed.
2016-04-01 15:50:52 +02:00
Sascha Brawer
919e98c3bb Merge pull request #563 from behdad/subset-gvar
Support subsetting of variation fonts
2016-04-01 09:02:49 +02:00
Sascha Brawer
0fad6e66ec Support subsetting of variation fonts 2016-03-31 16:23:24 +02:00
Cosimo Lupo
3c187c590a [ttx] minor: don't suppress SystemExit on win32 platform 2016-03-30 14:56:40 +01:00