9483 Commits

Author SHA1 Message Date
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
James Godfrey-Kittle
bdfc3fa7c9 Merge pull request #22 from googlei18n/py3ufo3
Python 3, ufo3 compatibility
2016-04-05 11:40:02 -07:00
James Godfrey-Kittle
7fe4fd0fe2 [ufo] Don't touch components or UFO2-style anchors 2016-04-05 10:41:48 -07:00
James Godfrey-Kittle
802bb813f5 [ufo] Changes for python 3 compatibility 2016-04-05 10:37:07 -07:00
James Godfrey-Kittle
b1087a138f Remove old robofab reference in readme 2016-04-05 10:34:51 -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
James Godfrey-Kittle
f6853d0e48 Merge pull request #21 from googlei18n/defcon
Defcon compatibility
2016-04-04 17:49:03 -07:00
James Godfrey-Kittle
983307d9cd [ufo] Allow input fonts with quadratic curves 2016-04-04 17:30:33 -07:00
James Godfrey-Kittle
0ec7495516 [ufo] Handle endPath 2016-04-04 16:08:15 -07:00
James Godfrey-Kittle
b8fa142bef [ufo] Clear existing contours when adding new ones 2016-04-04 15:30:39 -07:00
James Godfrey-Kittle
17e25e8ec9 Rename rf module to ufo 2016-04-04 15:18:27 -07:00
James Godfrey-Kittle
7b816131f8 Make UFO code non-robofab specific 2016-04-04 15:15:05 -07: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
Cosimo Lupo
d8004de04c [ttx] remove redundant continue in parseOptions loop
`git blame` says that was my fault:
e5b6be00a0 (diff-fce6b83de86f2e83411202adc745ffb2R316)

Ouch.
2016-03-28 18:07:59 +02:00
Cosimo Lupo
87a1d1bd8f Merge pull request #561 from mashabow/readme
Minor fixes in README.md
2016-03-28 15:28:33 +02:00
Tal Leming
e193b72ff3 Work through the pairs in a reliable order. 2016-03-28 07:19:21 -04:00
Tal Leming
44474ee8e5 Slight tweak to the reporting of problematic pairs. 2016-03-27 23:14:25 -04:00
Masaya Nakamura
68ea04eced Minor fixes in README.md 2016-03-28 10:40:49 +09:00
Adrien Tétar
338d97c076 Merge pull request #21 from behdad/allow-duplicate-non-conflicting-kerning
Allow duplicate non-conflicting kerning pairs
2016-03-27 23:24:03 +02:00
Behdad Esfahbod
f5ddac0e5d Allow duplicate non-conflicting kerning pairs
Fixes https://github.com/unified-font-object/ufoLib/pull/15#issuecomment-193552682
2016-03-27 13:47:15 -07:00
Cosimo Lupo
219efbc6f0 [test.utils] typo 2016-03-25 20:09:14 +01:00
Cosimo Lupo
b13eceb0f9 [setup.py] add 'test_suite' to enable python setup.py test
also, add test *.glif files to package_data, so users can run test modules against the installed cu2qu by doing e.g.:

```
python -m cu2qu.test.pens_test
```
2016-03-25 19:55:39 +01:00
Cosimo Lupo
a21c388355 [test.pens_test] add test module for Cu2Qu pens 2016-03-25 19:55:39 +01:00
Cosimo Lupo
5f8bb98107 [test.utils] add dummy pen and glyph classes to use with unit tests 2016-03-25 19:55:38 +01:00
Cosimo Lupo
2a6feb01be [test] add __init__.py to turn 'test' into a sub-package 2016-03-25 19:55:38 +01:00
Cosimo Lupo
072a60da97 create test folder; add test .glif files 2016-03-25 19:55:38 +01:00
Cosimo Lupo
a246bcfdbd [pens] add "super bezier" support to Cu2QuPointPen 2016-03-25 19:55:38 +01:00
Cosimo Lupo
8e3c6ce5a2 [pens] minor comments and assertion error message 2016-03-25 19:55:08 +01:00
Cosimo Lupo
c5bd215e2f [pens] add assertions esuring that Cu2QuPen methods are called in the right order 2016-03-25 14:26:33 +01:00