395 Commits

Author SHA1 Message Date
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
Adrien Tétar
81e6c235af glifLib: fixup contour validation code 2016-05-31 09:59:02 -07:00
Denis Moyogo Jacquerye
04d96d7fe0 test: split tests in test_GLIF1 and test_GLIF2 2016-05-31 09:46:57 -07:00
Denis Moyogo Jacquerye
b8f4145d76 glifLib: raise error when text is in <glyph> and in <outline> 2016-05-31 14:33:58 +01:00
Denis Moyogo Jacquerye
49c9640f73 test: split GLIF1 and GLIF2 tests 2016-05-31 11:25:12 +01:00
Denis Moyogo Jacquerye
16e2c0f308 use unicode_literals 2016-05-31 11:23:05 +01:00
Adrien Tétar
8044d2fb88 Use ElementTree in glifLib and drop embedded XML parsing infrastructure 2016-05-20 11:11:15 -07:00
Tal Leming
4d26482e9a Add an optimized implementation of the kerning value lookup algorithm from the spec.
The optimization is that the caller can provide glyph to group mappings.
2016-05-16 10:22:38 -04:00
Tal Leming
185c04220d The UFO spec has changed with regard to kerning conflicts. Reflect this in ufoLib. 2016-04-22 13:30:28 -04: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
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
ace2a4a6bc [glifLib] use use repr() to stringify floats for py23 compat
Closes #19
2016-03-17 16:06:03 +00:00
Cosimo Lupo
6dbca7fa38 [testSupport] use repr() to stringify floats for py23 compat
Part of fixing #19
2016-03-17 16:04:11 +00:00
Adrien Tétar
fab99c30e5 plistlib: reimplement as shim 2016-03-01 12:43:04 +01:00
Adrien Tétar
ded0d09cd1 plistlib API dispatch 2016-02-27 17:04:58 +01:00
Adrien Tétar
cb104104b0 glifLib: remove legacy workaround 2016-02-27 14:53:04 +01:00
Adrien Tétar
9e5dbff662 gliflib: use stdlib plistlib 2016-02-27 14:52:35 +01:00
Adrien Tétar
46879af112 validators: export pngSignature
To remove duplicate in defcon.
2016-02-21 12:11:41 +01:00
Adrien Tétar
5d89437108 pointPen: add missing GuessSmoothPointPen 2016-01-17 10:46:39 +01:00
Adrien Tétar
c6132fdd35 pointPen: add pt count in assertions 2015-12-25 23:51:26 +01:00
Adrien Tétar
67414f21ff pointPen: add adapter pens
and annihilate remaining robofab dependency
2015-12-13 20:48:01 +01:00
Denis Jacquerye
d05df7eb7e Python 2/3: replace str by basestring 2015-11-18 13:22:14 +00:00
Adrien Tétar
0d3cdb1ee4 glifLib: open files as binary to avoid line-endings normalization 2015-11-08 15:41:43 +01:00
Adrien Tétar
0b60503f4f test: fix a test on Windows 2015-11-08 11:49:06 +01:00
Adrien Tétar
ae7ad468c0 stop importing robofab in the test suite 2015-11-08 11:33:29 +01:00
Adrien Tétar
e345fec96f meta: remove robofab files 2015-11-08 11:11:11 +01:00
Denis Jacquerye
5b43ab5b42 ufoLib.test.test_glifLib: undo some 2to3 2015-11-06 15:11:04 +00:00
Denis Jacquerye
3be6afbf72 ufoLib.test.test_glifLib: remove test for robofab’s glyphNameToShortFileName 2015-11-06 15:06:52 +00:00
Denis Jacquerye
929ed4454c ufoLib: drop READ_MODE and WRITE_MODE 2015-11-06 15:06:52 +00:00
Denis Jacquerye
92bf29bd70 ufoLib.glifLib: add anchors to list of attributes in description of readGlyph() and writeGlyph() 2015-11-06 15:06:51 +00:00
Denis Jacquerye
31d358af40 test_UFOConversion, test_UFO{1,2,3}: use plistlib load and dump 2015-11-06 15:06:51 +00:00
Denis Jacquerye
3df210b68f ufoLib.test.test_glifLib: testRoundTrip() anchors don't come in the same order anymore 2015-11-06 15:06:51 +00:00
Denis Jacquerye
c643b67f08 ufoLib.glifLib: glyph.drawPoints(None) should set attr anchors 2015-11-06 15:06:51 +00:00
Denis Jacquerye
e1dd985741 ufoLib.glifLib: undo some 2to3 2015-11-06 15:06:51 +00:00
Denis Jacquerye
7deef57dd0 ufoLib.__init__: add basestring in Python3 and undo 2to3 2015-11-06 15:06:51 +00:00