SOLVED Access clipboard content in BaseEventTool on paste
-
Hi,
I want to make sure when I paste some anchors while my tool is active, their names don't already exist in the glyph. Is it possible to access clipboard content in
BaseEventTool
on thepaste
method?Thanks,
Bahman
-
this is pretty cool:
import AppKit import defcon from fontTools.ufoLib.glifLib import writeGlyphToString, readGlyphFromString # get the paste board pasteboard = AppKit.NSPasteboard.generalPasteboard() # get the data possibleGlifXML = pasteboard.stringForType_(AppKit.NSPasteboardTypeString) # maybe its glif xml, could also just be normal text print(possibleGlifXML) # get a dummy glyph dummyGlyph = RGlyph() succes = False try: # try to read the xml readGlyphFromString(possibleGlifXML, dummyGlyph, dummyGlyph.getPointPen()) succes = True except Exception as e: # if not valid fail print(f"Not valid glif xml!\nerror: {e}\ndata: \"{possibleGlifXML}\"") if succes: # do something with the glyph dummyGlyph.moveBy((50, 50)) # get the glif xml glifXML = writeGlyphToString(dummyGlyph.name, dummyGlyph, dummyGlyph.drawPoints) print(glifXML) # clear the past board pasteboard.clearContents() # write it back in to the paste board pasteboard.setString_forType_(glifXML, AppKit.NSPasteboardTypeString)