diff --git a/Lib/fontTools/colorLib/unbuilder.py b/Lib/fontTools/colorLib/unbuilder.py index 0d10cff402..fa229b099b 100644 --- a/Lib/fontTools/colorLib/unbuilder.py +++ b/Lib/fontTools/colorLib/unbuilder.py @@ -2,11 +2,14 @@ from .table_builder import TableUnbuilder -def unbuildColrV1(layerV1List, baseGlyphV1List): - unbuilder = LayerListUnbuilder(layerV1List.Paint) +def unbuildColrV1(layerList, baseGlyphList): + layers = [] + if layerList: + layers = layerList.Paint + unbuilder = LayerListUnbuilder(layers) return { rec.BaseGlyph: unbuilder.unbuildPaint(rec.Paint) - for rec in baseGlyphV1List.BaseGlyphPaintRecord + for rec in baseGlyphList.BaseGlyphPaintRecord } diff --git a/Tests/colorLib/unbuilder_test.py b/Tests/colorLib/unbuilder_test.py index b5af732f7b..3548968056 100644 --- a/Tests/colorLib/unbuilder_test.py +++ b/Tests/colorLib/unbuilder_test.py @@ -221,11 +221,16 @@ "Glyph": "glyph00012", }, ], - }, + } } def test_unbuildColrV1(): - layersV1, baseGlyphsV1 = buildColrV1(TEST_COLOR_GLYPHS) - colorGlyphs = unbuildColrV1(layersV1, baseGlyphsV1) + layers, baseGlyphs = buildColrV1(TEST_COLOR_GLYPHS) + colorGlyphs = unbuildColrV1(layers, baseGlyphs) assert colorGlyphs == TEST_COLOR_GLYPHS + +def test_unbuildColrV1_noLayers(): + _, baseGlyphsV1 = buildColrV1(TEST_COLOR_GLYPHS) + # Just looking to see we don't crash + unbuildColrV1(None, baseGlyphsV1) \ No newline at end of file