Get test working that shows duplicates are removed

This commit is contained in:
Tom Archer 2020-05-22 09:53:40 +01:00
parent 2b654a1d2a
commit b88f717885
3 changed files with 44 additions and 5 deletions

View File

@ -459,7 +459,12 @@ class UFOReader(_UFOBaseIO):
# groups.plist # groups.plist
def _readGroups(self): def _readGroups(self):
return self._getPlist(GROUPS_FILENAME, {}) groups = self._getPlist(GROUPS_FILENAME, {})
# remove any duplicate glyphs in a kerning group
for groupName, glyphList in groups.items():
if groupName.startswith('public.kern1.') or groupName.startswith('public.kern2.'):
groups[groupName] = list(OrderedDict.fromkeys(glyphList))
return groups
def readGroups(self, validate=None): def readGroups(self, validate=None):
""" """
@ -476,10 +481,6 @@ class UFOReader(_UFOBaseIO):
# normal # normal
else: else:
groups = self._readGroups() groups = self._readGroups()
# remove any duplicate glyphs in a kerning group
for groupName, glyphList in groups.items():
if groupName.startswith('public.kern1.') or groupName.startswith('public.kern2.'):
glyphList = list(OrderedDict.fromkeys(glyphList))
if validate: if validate:
valid, message = groupsValidator(groups) valid, message = groupsValidator(groups)
if not valid: if not valid:

View File

@ -4192,6 +4192,20 @@ class UFO3ReadDataTestCase(unittest.TestCase):
fileObject = reader.getReadFileForPath("data/org.unifiedfontobject.doesNotExist") fileObject = reader.getReadFileForPath("data/org.unifiedfontobject.doesNotExist")
self.assertEqual(fileObject, None) self.assertEqual(fileObject, None)
def testUFOReaderGroupDuplicatesRemoved(self):
# Non-kerning group duplicates are kept
# Kerning group duplicates are removed
expected_groups = {
"group1" : ["A"],
"group2" : ["B", "B"],
"public.kern1.A" : ["A"],
"public.kern2.B" : ["B"],
}
reader = UFOReader(self.getFontPath())
groups = reader.readGroups()
import pdb; pdb.set_trace()
self.assertEqual(expected_groups, groups)
class UFO3WriteDataTestCase(unittest.TestCase): class UFO3WriteDataTestCase(unittest.TestCase):

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>group1</key>
<array>
<string>A</string>
</array>
<key>group2</key>
<array>
<string>B</string>
<string>B</string>
</array>
<key>public.kern1.A</key>
<array>
<string>A</string>
</array>
<key>public.kern2.B</key>
<array>
<string>B</string>
<string>B</string>
</array>
</dict>
</plist>