@@ -0,0 +1,902 @@
+from fontTools.misc.transform import Transform, Identity%0A%0Aimport ufo2ft.util%0Afrom ufo2ft.filters import BaseFilter%0A%0A%0Aclass DecomposeTransformedComponentsFilter(BaseFilter):%0A    def filter(self, glyph):%0A        if not glyph.components:%0A            return False%0A        transformedComponents = %5B%5D%0A        for component in glyph.components:%0A            if component.transformation%5B:4%5D != Identity%5B:4%5D:%0A                transformedComponents.append(component)%0A        if not transformedComponents:%0A            return False%0A        specificComponents = %5Bc.baseGlyph for c in transformedComponents%5D%0A        ufo2ft.util.deepCopyContours(%0A            self.context.glyphSet,%0A            glyph,%0A            glyph,%0A            Transform(),%0A            specificComponents=specificComponents,%0A        )%0A        for component in transformedComponents:%0A            glyph.removeComponent(component)%0A        return True%0A

Add decomposeTransformedComponents