def expand(self, sender):
     glyph = CurrentGlyph()
     
     defconGlyph = glyph.naked()
     
     glyph.prepareUndo("Outline")
     
     isQuad = curveConverter.isQuadratic(defconGlyph)
     
     if isQuad:
         curveConverter.quadratic2bezier(defconGlyph)
     
     outline = self.calculate(glyph)
     
     glyph.clear()
     outline.drawPoints(glyph.getPointPen())
     
     if isQuad:
         curveConverter.bezier2quadratic(defconGlyph)
     
     glyph.round()
     glyph.performUndo()
#FLM: AT (?) Mask substract
from robofab.world import CurrentFont, CurrentGlyph

g = CurrentGlyph()

n = g.naked()
mask = n.mask

base = f["O"]
cutter = f["a"]
dest = g

dest.appendGlyph(base)
dest.naked().Bsubtract(cutter.naked())

dest.update()