292 Commits

Author SHA1 Message Date
Cosimo Lupo
06c4d5973b
cli: minor 2018-04-10 21:04:05 +01:00
Cosimo Lupo
1d1c4d1b71
setup.py: add defcon as extra requirement used by cli script 2018-04-10 19:04:21 +01:00
Cosimo Lupo
4a8b44356d
Add __main__.py to call cli.main() as 'python -m cu2qu' 2018-04-10 19:04:21 +01:00
Cosimo Lupo
ac8fdf7dc9
add cu2qu.cli module exporting a main() function for console script
requires defcon
2018-04-10 19:04:21 +01:00
Cosimo Lupo
0a2593b2c5
[cu2qu.ufo] remember the curve type in lib to skip converting twice 2018-04-10 18:22:32 +01:00
pyup-bot
f90be7a7dd Update fonttools from 3.21.2 to 3.22.0 2018-02-12 20:24:56 +01:00
pyup-bot
5ce7c2eb47 Update fonttools from 3.18.0 to 3.21.2 2018-01-22 18:46:50 +00:00
Cosimo Lupo
7064562174
Bump version: 1.4.0 → 1.4.1.dev0 2018-01-18 17:07:01 +00:00
Cosimo Lupo
dba25f6059
Release 1.4.0 2018-01-18 17:05:31 +00:00
Cosimo Lupo
ae64a8a512
setup.py: add -s/--sign option to 'release' command
requires bump2version >= 0.5.7
2018-01-18 16:58:58 +00:00
Cosimo Lupo
ed9080df79
Bump version: 1.3.1.dev0 → 1.4.0.dev0 2018-01-18 16:55:50 +00:00
Cosimo Lupo
e07d582755
minor: prettify indentation of incompatible segments message 2018-01-18 16:53:47 +00:00
Cosimo Lupo
0b41ba3521
_set_segments must now handle 'curveTo' segments as well
since we let them pass now, and we only stop at the end
2018-01-18 14:33:49 +00:00
Cosimo Lupo
af4d7abb63
Merge pull request #115 from anthrotype/error-handling
Error handling
2018-01-18 15:01:32 +01:00
Cosimo Lupo
b627a778bf
Don't stop at first incompatibilty, log errors, raise at the end
Based on Miguel Sousa's original PR and the following discussion:
https://github.com/googlei18n/cu2qu/pull/114

Instead of raising an error at the first incompatible glyph, we
let it continue (keeping the original contours unmodified when
that happens), and use logging to print error messages.

A new `IncompatibleFontsError` exception is raised at the end of
`fonts_to_quadratic` if any glyph has incompatible number or types
of segments. The exception instance has a `glyph_errors` attribute
(dict) which collects all the individual IncompatibleGlyphsError
keyed by glyph name.
2018-01-18 13:21:08 +00:00
Cosimo Lupo
fbb41aeb1b Bump version: 1.3.0 → 1.3.1.dev0 2017-10-31 19:57:57 +00:00
Cosimo Lupo
932d030d6f Release 1.3.0 2017-10-31 19:57:00 +00:00
Cosimo Lupo
824a9d22bc Bump version: 1.2.1.dev0 → 1.3.0.dev0 2017-10-31 19:43:56 +00:00
Cosimo Lupo
8740ce1aa3 MANIFEST.in: add test-requirements.txt to sdist 2017-10-31 19:37:31 +00:00
Cosimo Lupo
84ae0e7ca2
Merge pull request #102 from anthrotype/ufo-test
add tests for cu2qu.ufo
2017-10-31 19:34:58 +00:00
Cosimo Lupo
0d00796e01 ufo_test: add tests for ufo.py module
100 % coverage.. yay! :)
2017-10-31 19:20:24 +00:00
Cosimo Lupo
718228cb32 ufo: minor
No need to be verbose here. Message is never read anyway.
2017-10-31 19:10:35 +00:00
Cosimo Lupo
1cadd9c47f Add defcon to test-requirements.txt
I need some font objects to exercise the fonts_to_quadratic function.
Defcon is still not an install requirement though, as cu2qu should
work with any defcon-like objects (e.g. fontParts?, robofab not so much)
2017-10-31 18:39:17 +00:00
Cosimo Lupo
e648ef3f89 ufo: must scale max_err_em list by UPEM
When the 'max_err_em' argument is a float, we multiply it
by the font.info.unitsPerEm. However we were not doing it when
the argument is a list of floats...
2017-10-31 18:23:21 +00:00
Cosimo Lupo
fabada54b1 ufo: minor
_segments_to_quadratic is private, and always gets not-None 'stats' argument.
This if-branch is always true. Removed.
2017-10-31 18:22:56 +00:00
Cosimo Lupo
09c5856428 ufo: don't drop single points in GetSegmentsPen
We dropped robofab support. There is no reason to arbitrarily
drop any contour points. Anchors are handled as anchors in
latest ufoLib+defcon, also for UFO2. No more need to special-case.
2017-10-31 18:21:20 +00:00
Cosimo Lupo
3125f071c7 pens_test: capture deprecation warning 2017-10-31 18:18:59 +00:00
Cosimo Lupo
6c22995a5f pens: deprecate 'ignore_single_points' argument
This was needed for when we were supporting the old robofab.ufoLib
where anchors were represented as single-point-with-a-name contours.
With latest ufoLib, even when glif format is 1, anchors are
stored separately and are not drawn with pens (only proper contours
and components are passed on in the draw method).
So there is no longer need to special-case single points.
It's not the job of the cu2qu pens to filter those out.
2017-10-31 17:57:53 +00:00
Cosimo Lupo
4bc88340b9 setup.cfg: set 3.0 as pytest 'minversion' 2017-10-31 17:39:23 +00:00
Cosimo Lupo
a414079f1a tests/data: add RobotoSubset-Bold.ufo
Will be used for testing fonts_to_quadratic
2017-10-31 14:11:49 +00:00
Cosimo Lupo
8e3df9a952 Remove unsupported robofab benchmark
It won't work with our UFO3, sorry...
2017-10-31 14:10:40 +00:00
Cosimo Lupo
82084874c5 Upgrade RobotoSubset-Regular.ufo to UFO 3 2017-10-31 14:10:40 +00:00
Cosimo Lupo
192c6fc0f3 MANIFEST.in: add tests/ folder to sdist 2017-10-31 13:02:15 +00:00
Cosimo Lupo
9be3901795 move Lib/cu2qu/test to tests/ folder
There is no need to install the test suite with the package.
Let's put it outside like it's recommended by pytest.
2017-10-31 12:58:09 +00:00
Cosimo Lupo
af0a06081a remove robofab imports
fonts_to_quadratic may still work with Robofab fonts, it's just
that the point pens will be imported from standalone ufoLib
2017-10-31 12:35:26 +00:00
Cosimo Lupo
4d07b533fc Move benchmark.py and ufo_benchmark.py to tools/
These modules are only useful for development, should not be installed
with the library
2017-10-31 12:35:26 +00:00
Cosimo Lupo
c754d1eea4 Add .codecov.yml to mute notifications 2017-10-31 11:23:45 +00:00
Cosimo Lupo
1f834774de README.rst: add codecov.io badge 2017-10-30 19:21:14 +00:00
Cosimo Lupo
4e7a9989d4 Combine py{2,3} coverage; upload report to codecov.io
https://codecov.io/gh/googlei18n/cu2qu

Also, run tests on python3.6 instead of 3.5.
2017-10-30 19:16:58 +00:00
Cosimo Lupo
e1d072582a
Merge pull request #101 from anthrotype/reverse-pen
use ReverseContourPen from fonttools
2017-10-30 19:02:04 +00:00
Cosimo Lupo
df10cdea05 Use fonttools' ReverseContourPen
Fixes #51
2017-10-30 18:56:02 +00:00
Cosimo Lupo
7c0ed18c6a Bump minimum required fonttools to 3.18.0
we need that for the bugfix in ReverseContourPen
https://github.com/googlei18n/cu2qu/issues/51

also bump ufoLib to >= 2.1.1, just because.
2017-10-30 18:54:00 +00:00
Cosimo Lupo
fef29c4f97
Merge pull request #100 from googlei18n/pyup-scheduled-update-10-30-2017
Scheduled weekly dependency update for week 44
2017-10-30 18:45:05 +00:00
pyup-bot
e2acefa4be Update ufolib from 2.1.0 to 2.1.1 2017-10-30 13:47:09 +00:00
pyup-bot
f297ebb3d9 Update fonttools from 3.13.1 to 3.17.0 2017-10-30 13:47:07 +00:00
Cosimo Lupo
e7a3c9282d Merge pull request #99 from anthrotype/fix-pens-stats
[pens] fix number of segments reported in stats
2017-10-25 19:07:34 +01:00
Cosimo Lupo
c21ee24eec [pens_test] fix test_stats test
This test would have failed with the incorrect count.
2017-10-25 19:05:40 +01:00
Cosimo Lupo
13abea3ca5 [pens] fix number of segments reported in stats
It appears we were reporting the 'stats' differently in the pens and
in the main ufo module.

https://github.com/googlei18n/cu2qu/blob/7a2f638/Lib/cu2qu/ufo.py#L148

You can git blame me, sorry.
Funny how it's been broken for almost two years :)
2017-10-25 18:49:19 +01:00
Behdad Esfahbod
7a2f6383e4 Simplify log message 2017-07-28 16:41:52 +01:00
Cosimo Lupo
83e844e4cd Merge pull request #87 from googlei18n/pyup-scheduled-update-07-10-2017
Scheduled weekly dependency update for week 28
2017-07-10 14:25:23 +01:00