builder.py: only sort ClassDefBuilder input glyphs if they are unsorted

This fixes broken tests after 9e76d16, and should finally close https://github.com/fonttools/fonttools/issues/766
This commit is contained in:
Cosimo Lupo 2016-12-31 15:51:53 +01:00
parent 3ff25948ef
commit 3b3e74f90b
No known key found for this signature in database
GPG Key ID: B61AAAD0B53A6419

View File

@ -589,6 +589,9 @@ class ClassDefBuilder(object):
self.useClass0_ = useClass0
def canAdd(self, glyphs):
if isinstance(glyphs, (set, frozenset)):
glyphs = tuple(sorted(glyphs))
elif not isinstance(glyphs, tuple):
glyphs = tuple(glyphs)
if glyphs in self.classes_:
return True
@ -598,6 +601,9 @@ class ClassDefBuilder(object):
return True
def add(self, glyphs):
if isinstance(glyphs, (set, frozenset)):
glyphs = tuple(sorted(glyphs))
elif not isinstance(glyphs, tuple):
glyphs = tuple(glyphs)
if glyphs in self.classes_:
return