338 Commits

Author SHA1 Message Date
Tal Leming
4c75212ee6 Relax the point data validation. 2018-06-11 21:44:50 -04:00
Ben Kiel
a7aa115fd8 Update glyphLib.
Update tests.
Fix errors.
Add documenation.
2018-06-11 15:03:54 -05:00
Ben Kiel
5f8b600221 Catch additonal calls to GlyphSet that need validation. Inital start of adding validation on/off to GlyphSet 2018-06-11 12:05:36 -05:00
Ben Kiel
42b94f53fa UFOWriter validation turned on by default. 2018-06-11 11:59:16 -05:00
Ben Kiel
b8d4b5562b UFOReader validation turned off by default. Starting on UFOWriter 2018-06-11 11:07:29 -05:00
Miguel Sousa
3e8ca172ab Small fixes 2018-04-03 17:36:41 -07:00
Andy Clymer
d53d12a7cc Fixed tests to match the changes to group names 2018-01-29 12:49:38 -05:00
Andy Clymer
76d0fa276e When converting kerning group names, remove the older '@MMK' prefixes 2018-01-29 12:30:12 -05:00
Frederik Berlaen
4182100744 updating tests 2018-01-26 23:27:31 +01:00
Frederik Berlaen
4549c6a2d4 an anchor is a move point with a name
check if the point has a name

if no name is given its a single move point in a contour
2018-01-26 23:18:25 +01:00
Cosimo Lupo
37c4777fab
Merge pull request #103 from adrientetar/optimize
Some optimizations
2017-11-17 12:39:14 +00:00
Adrien Tétar
8946a5f753 More 2017-11-17 13:18:44 +01:00
Masaya Nakamura
f73202b00c
Fix typo 2017-11-09 00:40:08 +09:00
Adrien Tétar
d8d366de7e More 2017-11-05 15:31:58 +01:00
Adrien Tétar
a2ffce8596 typo 2017-11-04 22:59:01 +01:00
Adrien Tétar
99c5c4fff5 Use dedicated Error 2017-11-04 22:56:12 +01:00
Adrien Tétar
f0d67574ab Some optimizations to glifLib 2017-11-04 22:18:20 +01:00
Cosimo Lupo
3d891631d9 Bump version: 2.1.1 → 2.1.2.dev0 2017-10-25 12:01:13 +01:00
Cosimo Lupo
55c2be52bd Release 2.1.1 2017-10-25 12:00:47 +01:00
Erik van Blokland
f726d88bcb Remove TTVendorCode. Not sure if "NONE" is a valid one, but here it is. 2017-10-25 11:36:23 +02:00
Erik van Blokland
5408815f09 This removes 4 glyphs borrowed from Adobe Sans. These glyphs are not used in any tests.
All licenses, copyright strings, notices, trademarks, removed and pointing to the license of the package.
2017-10-25 11:34:06 +02:00
Cosimo Lupo
9c72e09e18 [validators] fix fontLibValidator doctests; make errors more verbose 2017-10-19 18:29:05 +02:00
Cosimo Lupo
25c84dcb84 Test fontLibValidator with either bytes or unicode
This passes on my local machine with both 2.7 and 3.6.
I can't seem to reproduce this error:

https://github.com/unified-font-object/ufoLib/issues/98
2017-10-19 17:34:34 +02:00
Frederik Berlaen
627f997ddb remove raise errors when the formatVersion < 3
see https://github.com/unified-font-object/ufoLib/issues/91

Im going to ahead on this as no one replied...
2017-09-26 21:58:26 +02:00
Cosimo Lupo
fb1eef601f minor 2017-08-07 18:40:36 +01:00
Chris Simpkins
659299a318 detect incorrect metainfo.plist formatVersion type before version testing (#83) 2017-07-27 22:18:42 -04:00
Cosimo Lupo
ab9985ee3a
Bump version: 2.1.0 → 2.1.1.dev0 2017-05-24 18:39:50 +01:00
Cosimo Lupo
1c5f70c873
Release 2.1.0 2017-05-24 18:38:10 +01:00
Cosimo Lupo
16abd8130c
Add bump_version and release commands to setup.py 2017-05-24 18:37:52 +01:00
Cosimo Lupo
e883885c3a
[pointPen] add ReverseContourPointPen from defcon
https://github.com/typesupply/defcon/issues/106
2017-04-25 10:50:21 +01:00
Cosimo Lupo
d952f9a74f
[pointPen] make PointToSegmentPen.addComponent accept/ignore **kwargs
The beginPath and addPoint methods of PointToSegmentPen already take
extra **kwargs (via BasePointToSegmentPen); only the addComponent method
does not.
This makes it raise TypeError when an unknown keyword argument is passed
(e.g. 'identifier' for UFO3 objects).
For the PointToSegmentPen, which translates between the PointPen and
the SegmentPen API, it is ok if we only use the arguments that have
an equivalent in the SegmentPen API, and silently discard the **kwargs.
2017-04-25 10:23:38 +01:00
Denis Moyogo Jacquerye
6ca25ce193 Merge pull request #64 from benkiel/master
Remove duplicate variable assignment
2017-03-06 13:39:29 +00:00
Ben Kiel
0bc4ab9497 Remove duplicate variable assignment 2017-02-27 10:18:02 -06:00
Cosimo Lupo
869a8f6a45
[pointPen] add **kwargs to AbstractPointPen's beginPath and addCompoment too 2017-02-27 16:04:47 +00:00
Cosimo Lupo
6739bc8b9d
[pointPen] add identifier=None argument in AbstractPointPen.beginPath, addPoint and addComponent methods 2017-02-27 12:46:06 +00:00
Cosimo Lupo
3b9ced71e0 move all test data inside the inlined ufoLib/test modules, and install them
Since the test suite is inlined, it makes sense to also have the test data installed alongside the test modules.
So all the content of the two top-level folders Data and TestData is now placed inside Lib/ufoLib/test/testadata.
The MANIFEST.in has been adjusted accordingly.
The `install_package_data` in setup.py ensures the package data specified in the manifest is installed with the package.

This way anyone who installs ufoLib (even the wheel from PyPI) can run the test suite with `pytest --pyargs ufoLib`.
2016-10-17 19:41:13 +01:00
Denis Moyogo Jacquerye
e6a1a658f0 glifLib: try importing from fontTools.misc.xmlWriter first
fixes #41
2016-10-13 21:42:51 +01:00
Cosimo Lupo
f320554077 ufoLib.__init__: use os.path instead of slash to fix doctest failing on Windows 2016-09-11 17:44:12 +01:00
Cosimo Lupo
8747da76a4 filenames.py: fix doctests for py2.py3; import unicode_literals 2016-09-11 17:00:13 +01:00
Cosimo Lupo
ee38446982 glifLib.py: use +IGNORE_EXCEPTION_DETAIL to make doctest work on both Python2 and 3
http://python3porting.com/problems.html#handling-expected-exceptions
2016-09-11 17:00:13 +01:00
Cosimo Lupo
5fb9a13957 converters.py: fix up kerningValidator doctest 2016-09-11 17:00:13 +01:00
Denis Moyogo Jacquerye
4f83f4bbe1 tests: copy doctest as unittest in test_filenames 2016-07-11 13:49:59 +01:00
Denis Moyogo Jacquerye
bb21cb7c3a userNameToFileName expects userName to be unicode strings, let it raise
if not
2016-07-11 13:49:59 +01:00
Adrien Tétar
ec0fe57545 filenames: only allow unicode in py2
i.e. restore the old behavior
2016-07-08 21:19:16 -07:00
Cosimo Lupo
f92dcf36c1 don't write layerinfo.plist if 'lib' element is empty 2016-06-28 13:52:23 +01:00
Cosimo Lupo
f6689faf5b glifLib: don't raise AttributeError if element.text attribute is None
When an element tree is built from code, or it is parsed from a string that was not pretty-printed (i.e. without indentation), the 'text' attribute of an Element instance can be None. So we must ensure it's not None before calling `strip()` method.
2016-06-25 19:04:24 +01:00
Tal Leming
321ea7f766 Merge pull request #33 from anthrotype/isinstance-mapping
validators: check isinstance of collections.Mapping rather than dict
2016-06-24 09:47:59 -04:00
Cosimo Lupo
971a92bfe8 glifLib: use len() to check if ElementTree.Element is empty or contains children 2016-06-05 19:07:45 +01:00
Cosimo Lupo
fed7cef3cf validators: check isinstance of collections.Mapping rather than dict
The `collections` module provides a set of abstract base classes that can be used to
test whether a class provides a particular interface (e.g. whether it is a mapping).

It's better if ufoLib uses that with `isinstance` rather than requiring instances of
`dict`, or subclasses of `dict`.
2016-06-05 16:16:02 +01:00
Cosimo Lupo
fc4f810f61 plistFromETree: use len(element) to check if there are subelements to avoid FutureWarning 2016-06-05 16:03:24 +01:00