Thanks for the quick response!
Here is the whole thing:
font = Glyphs.font
allGlyphs = font.glyphs
selectedLayer = font.selectedLayers[0] # get active layer
def findBracketLayer(targetLayerName):
#print "-- targetLayerName",targetLayerName
global targetLayer
targetLayer=None
for layer in selectedGlyph.layers:
if layer.name == targetLayerName:
targetLayer = layer
def clearLayer(myLayer):
print "- clearing:",myLayer
for p in myLayer.paths:
myLayer.paths = []
for c in myLayer.components:
myLayer.removeComponent_(c)
for a in myLayer.anchors:
del myLayer.anchors[a.name]
def copy2bracket(sourceLayer,targetLayer):
targetLayer.paths = sourceLayer.paths
targetLayer.width = sourceLayer.width
targetLayer.anchors = sourceLayer.anchors
targetLayer.components = sourceLayer.components
def removeReversed(myLayer):
pathIndex=0
for path in myLayer.paths:
isCounter=False
if path.direction == 1:
isCounter=True
if isCounter==True:
del(myLayer.paths[pathIndex])
if isCounter==False:
pathIndex+=1 # only when leaving the contour
def meltCounters(selectedGlyph):
for m in font.masters:
print selectedGlyph.layers[m.name]
sourceLayer = selectedGlyph.layers[m.name]
targetLayerName = sourceLayer.name+" [750]"
findBracketLayer(targetLayerName) # Find the bracketLayer that matches your master
print "- targetLayer:",targetLayer
if targetLayer==None:
print "No target layer!!"
else:
if len(sourceLayer.paths) > 0: # Only continues if your master is NOT empty
clearLayer(targetLayer) # Remove all paths in bracketLayer
copy2bracket(sourceLayer,targetLayer) # Copy from master to bracketLayer
if len(targetLayer.paths) > 0:
removeReversed(targetLayer)
for selectedGlyph in font.selection:
print "------", selectedGlyph
meltCounters(selectedGlyph)