7859 Commits

Author SHA1 Message Date
Behdad Esfahbod
d258333007 [iup] Fix comment 2018-09-27 17:41:09 -04:00
Cosimo Lupo
bc288169a2
typo 2018-09-26 21:27:55 +01:00
Cosimo Lupo
67d1a1d884
README.rst: add installation instructions for cython module 2018-09-26 21:25:49 +01:00
Cosimo Lupo
8baa24fee4
tox: only build sdist for upload on PyPI 2018-09-26 21:25:46 +01:00
Cosimo Lupo
4ee6f7c15a
Merge pull request #153 from googlei18n/cython-setup
set up optional cython extension module
2018-09-26 20:22:12 +01:00
Cosimo Lupo
06a981383b
travis: update pypi password, use twine (via tox) to upload to PyPI 2018-09-26 20:19:20 +01:00
Cosimo Lupo
b2410d9fe0
tox: add envs to build sdist, pure/native wheels, and upload to pypi 2018-09-26 20:18:21 +01:00
Rob McKaughan
7d59b729ab Include nameIDs referenced by STAT table 2018-09-26 14:50:22 -04:00
Cosimo Lupo
c0a9b3689c
travis: run tests both with and without cython 2018-09-26 19:10:18 +01:00
Cosimo Lupo
040c8536e2
tox: run tests with and without cython 2018-09-26 19:06:21 +01:00
Cosimo Lupo
d23308884b
.coveragerc: exclude vendored cython.py 2018-09-26 19:06:21 +01:00
Cosimo Lupo
31ad0eb841
setup.py: make building of extension module optional
One can now use either the $CU2QU_WITH_CYTHON environment variable
or the --with/without-cython command line options to setup.py.

The --without-cython is for when one wants to get a pure, universal
wheel despite having both cython and a C compiler installed.

By default (when no env var nor command line options are used),
building from source will attempt to compile the extension module
using the pre-generated *.c source files that are always included
in the sdist package that we (will) upload to PyPI.
If the compilation fails (e.g. the user doesn't have a C compiler),
then an error message will be printed but installation will proceed
without the optional native extension.
When cloning a fresh repo, the *.c sources will not be present, so
to build the extension from local checkout one always needs Cython
installed.

When $CU2QU_WITH_CYTHON is true (1, or yes), then cython is required
and installation will abort if any error occurs during building.
2018-09-26 19:06:20 +01:00
Cosimo Lupo
0f80ff7b2c
cu2qu: add a COMPILED flag to check if cu2qu is running in compiled/interpreted mode 2018-09-26 19:02:02 +01:00
Cosimo Lupo
73d3ce4bc1
cu2qu: add language_level=3 and define_macros to enable coverage 2018-09-26 19:02:02 +01:00
Cosimo Lupo
c13ce2faee
cu2qu: return float('NaN') instead of None so return val matches signature
Otherwise I get 'TypeError: must be real number, not NoneType' when running tests with
the compiled cu2qu extension module
2018-09-26 19:02:02 +01:00
Cosimo Lupo
6719b3e1a5
update .gitignore 2018-09-26 19:00:59 +01:00
Cosimo Lupo
337c302488
cli: add missing __future__ import absolute_import 2018-09-26 19:00:59 +01:00
Cosimo Lupo
672b446c89
move cu2qu/__init__py to cu2qu/cu2qu.py so we can make an optional Extension module 2018-09-26 19:00:59 +01:00
Cosimo Lupo
d37bbef646
use setuptools_scm for getting package version from git tags 2018-09-26 18:59:03 +01:00
Cosimo Lupo
ddeece03c7
add script to download updated Cython/Shadow.py module 2018-09-26 18:59:03 +01:00
Cosimo Lupo
1d2b159911
Add copy of Cython.Shadow as cu2qu.cython 2018-09-26 18:59:03 +01:00
Behdad Esfahbod
f85240f005 [cython] Remove a couple intermediates 2018-09-26 11:08:25 -04:00
Cosimo Lupo
add13842f9
Merge pull request #152 from googlei18n/cython
Cython
2018-09-26 12:41:55 +01:00
Cosimo Lupo
db3b73713c
Merge pull request #151 from googlei18n/pyup-scheduled-update-2018-09-24
Scheduled weekly dependency update for week 38
2018-09-26 12:16:47 +01:00
Cosimo Lupo
a807ab2b93
tests: use math.isclose to compare float coordinates
using the default tolerance which is 1e-9, i.e. assures that two floats are the same
within about 9 decimal digits

https://docs.python.org/3/library/math.html#math.isclose
2018-09-26 12:13:39 +01:00
Behdad Esfahbod
36d1b69d7e [cython] More 2018-09-25 18:04:27 -04:00
Behdad Esfahbod
0c361f5cc4 [cython] Some more 2018-09-25 18:01:48 -04:00
Behdad Esfahbod
3efd0839a1 [cython] Add a few @cython.cfunc 2018-09-25 17:52:16 -04:00
Behdad Esfahbod
1f9c4a9e6b [cython] Some more annotations 2018-09-25 17:29:08 -04:00
Behdad Esfahbod
ffdeb86420 Add cython shim 2018-09-25 17:21:54 -04:00
Mickaël Schoentgen
bfde7268c3 Fix ResourceWarning: unclosed file in MetaTools 2018-09-25 23:18:21 +02:00
Behdad Esfahbod
f07bf0c266 [cython] Add some cython annotations
Compare:

Python:
behdad:cu2qu 0$ python __init__.py
curve_to_quadratic:	 62.7us
curves_to_quadratic:	163.2us

Cython:
behdad:cu2qu 0$ cython --embed -a __init__.py && gcc __init__.c `python-config --cflags --libs` -O3 && ./a.out
curve_to_quadratic:	 30.4us
curves_to_quadratic:	 77.8us

Cython without this commit:
behdad:cu2qu 0$ cython --embed -a __init__.py && gcc __init__.c `python-config --cflags --libs` -O3 && ./a.out
curve_to_quadratic:	 43.9us
curves_to_quadratic:	113.3us

So, 2x speedup compared to Python. 1.5x speedup compared to Cython without annotations.

More to be done.
2018-09-25 17:18:15 -04:00
Mickaël Schoentgen
698aa676e8 Fix ResourceWarning: unclosed file in mtiLib 2018-09-25 23:17:34 +02:00
Mickaël Schoentgen
ee244406ee Fix several ResourceWarning: unclosed file in subset 2018-09-25 23:04:26 +02:00
Behdad Esfahbod
ed9da8db80 Add benchmarking to __init__
I haven't removed tools/benchmark.py.  Probably should.
Also, improved the timeit parameters over benchmark.py.
2018-09-25 16:05:40 -04:00
pyup-bot
eae6de9c7e Update fonttools from 3.29.1 to 3.30.0 2018-09-24 19:44:09 +01:00
Sascha Brawer
2011ccf6ec [morx] Clean up compilation of AAT action tables; add more tests 2018-09-24 20:15:54 +02:00
Sascha Brawer
4a1871ff62 [morx] Support AAT action type to insert glyphs 2018-09-24 18:14:01 +02:00
pyup-bot
c618f2a9e7 Update defcon from 0.5.2 to 0.5.3 2018-09-24 16:10:10 +01:00
pyup-bot
58291879eb Update fonttools from 3.29.0 to 3.30.0 2018-09-24 16:10:08 +01:00
Michiharu Ariza
90176ef842 --no-hinting to drop LanguageGroup etc 2018-09-19 22:33:39 +02:00
Cosimo Lupo
57dda7a5be
NEWS.rst: minor: use two backticks for code [skip ci] 2018-09-18 16:27:16 +01:00
Cosimo Lupo
ac933ac2d3
Bump version: 3.30.0 → 3.30.1.dev0 2018-09-18 16:22:57 +01:00
Cosimo Lupo
1699384cef
Release 3.30.0 2018-09-18 16:22:57 +01:00
Cosimo Lupo
4243cd9e0d
Update changelog 2018-09-18 16:21:58 +01:00
Cosimo Lupo
6deeb70acb
Revert "Merge pull request #1289 from BlackFoundry/master"
This reverts commit 492c8cef106dbcc0b8154bcc969b77777906b009, reversing
changes made to 4bf522abe3b2c65f54699b748336f31a9ce8a3ea.
2018-09-18 14:24:44 +01:00
Cosimo Lupo
492c8cef10
Merge pull request #1289 from BlackFoundry/master
[merge] CFF tables
2018-09-16 22:09:25 +02:00
Cosimo Lupo
4bf522abe3
Merge pull request #1318 from khaledhosny/skip-pairpos-nocov
[feaLib] Skip noop class PairPos subtables
2018-09-16 12:41:45 +02:00
Khaled Hosny
baf4f560bb [feaLib] Skip noop class PairPos subtables
If Coverage is None then the subtable is a noop that does nothing and
there is no point in building it. As a bonus, it makes OTS happy since
it will reject subtables where coverageOffset is NULL (0) and the spec
does not say whether this is allowed or not.
2018-09-16 12:23:34 +02:00
Cosimo Lupo
0dd03bd1ad
Merge pull request #1317 from nedbat/master
Minor README tweaks
2018-09-15 16:03:05 +02:00