Merge pull request #793 from anthrotype/fix-classdef-builder

[otlLib] only sort ClassDefBuilder input glyphs if they are unsorted
This commit is contained in:
Cosimo Lupo 2017-01-02 14:46:20 +01:00 committed by GitHub
commit e44c4b90dd

View File

@ -589,7 +589,10 @@ class ClassDefBuilder(object):
self.useClass0_ = useClass0
def canAdd(self, glyphs):
glyphs = tuple(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
for glyph in glyphs:
@ -598,7 +601,10 @@ class ClassDefBuilder(object):
return True
def add(self, glyphs):
glyphs = tuple(glyphs)
if isinstance(glyphs, (set, frozenset)):
glyphs = tuple(sorted(glyphs))
elif not isinstance(glyphs, tuple):
glyphs = tuple(glyphs)
if glyphs in self.classes_:
return
self.classes_.add(glyphs)