らんだむな記憶

blogというものを体験してみようか!的なー

輪郭を複製して新しいレイヤーに突っ込んでremove overlapとかするサンプル

何がしたいんだってばさ!?ってなサンプル:

def copy_path(path):
    new_path = GSPath()
    for pt in path.points:
        pt2 = GSNode(type=pt.type, x=pt.x, y=pt.y)
        new_path.points.append(pt2)
    new_path.setClosePath_(True)
    return new_path

def createRemoveOverlapFilter():
    font = Glyphs.font
    thisFilter = NSClassFromString("GlyphsFilterRemoveOverlap").alloc().init()
    thisFilter.setController_(font.currentTab)
    return thisFilter

removeOverlapFilter = createRemoveOverlapFilter()

path = Glyphs.font.selectedLayers[0].paths[0]
new_path = copy_path(path)

layer = GSLayer()
layer.paths.append(new_path)
removeOverlapFilter.runFilterWithLayer_error_(layer, None)
print layer.paths

createRemoveOverlapFilterなんてメソッドは要らなかった。layer.removeOverlap()で良い。どうせ中でやってることは同じだ。Glyphs SDKを見る限りでは...。