457 Commits

Author SHA1 Message Date
Tal Leming
6043db4f11 Switch to rb mode. 2016-06-08 12:06:35 -04:00
Tal Leming
cea3ba9b43 Fix some minor issues to resolve some failing tests. 2016-06-08 11:09:37 -04:00
Tal Leming
21f36611f0 Found something hardwired to the package structure. 2016-06-08 10:31:39 -04:00
Tal Leming
76480ec37f fs.path not self._fs.path. 2016-06-08 10:31:21 -04:00
Tal Leming
82958e2711 Name the argument. 2016-06-08 10:31:07 -04:00
Tal Leming
1eebdaf84a These are no longer around. 2016-06-08 10:30:52 -04:00
Tal Leming
1ed9fb14f5 Remove some unneeded functions. 2016-06-08 09:36:57 -04:00
Tal Leming
3fa83a1924 Remove a deprecated function. 2016-06-08 09:05:43 -04:00
Tal Leming
5014279665 Don't subclass FileSystem. 2016-06-08 09:04:29 -04:00
Tal Leming
fff92b9dfd Merge branch 'master' into ufo4
# Conflicts:
#	Lib/ufoLib/glifLib.py
2016-06-07 13:27:05 -04:00
Tal Leming
c9ced7f718 Use fs.path instead of os.path. 2016-06-07 13:24:30 -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
Tal Leming
f5a8299e59 Don't restrict what can be removed at the filesystem level. 2016-05-28 12:02:54 -04:00
Ben Kiel
317214dfb1 If structure is zip, make sure saved file is ufos 2016-05-24 11:21:00 -05:00
Ben Kiel
26863a2b79 Update __init__.py
Add in ufoz for testing.
2016-05-24 11:07:53 -05: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
29db50cd01 Remove plistlib shim. 2016-05-16 15:02:19 -04:00
Tal Leming
ca217854ba Remove local testing code. 2016-05-16 14:58:32 -04:00
Tal Leming
173669b265 Add a fallback for OSFS when fs isn't installed. 2016-05-16 14:57:46 -04:00
Tal Leming
db9467ff1e Merge branch 'master' into ufo4 2016-05-16 10:24:09 -04: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
Masaya Nakamura
a8c7788d66 Fix _getGlyphSetFormatVersion3() 2016-05-11 17:50:14 +09:00
Tal Leming
08f8f114cb Implement writing to package or ZIP.
This has only been lightly tested. It slightly breaks defcon, but I'll
deal with that later.
2016-05-04 10:53:43 -04:00
Tal Leming
59d723b9f8 GlyphSet tweaks. 2016-05-03 10:17:48 -04:00
Tal Leming
622b7c9352 ZIPs will contain a single root directory that packages will not. Abstract this. 2016-05-03 09:59:26 -04:00
Tal Leming
45910b6131 Initial work on reading single file UFO.
This is a work in progress update of UFOReader and UFOWriter that
supports UFO in its package and zipped forms. Reading works. Writing is
not yet implemented.

I'm building a base file system (that lives on top of fs for now and
maybe in the long term) that the reader and writer then subclass. This
base class implements the file system interaction so that the reader
and writer can be blissfully ignorant about file systems.

Additionally, I ran into a problem with the local plistlib.py creating
an import error, so I've temporarily renamed it plistlibShim.py so that
I can continue working.

Did I mention that this is a work in progress? It's a work in progress.
2016-05-02 23:06:25 -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