This seems to fix my problem, thanks so much! One more thing, what would be the name of the observer for if a glyph is modified?—so that I can update the preview as you make changes. Is there a list somewhere of all the built in observers?
can you elaborate what you want to achieve with the special rotation behavior?
you can build a custom tool and draw the selected points your self
s = 5 ## / scale # in a tool you can get the scale value
for x, y in CurrentGlyph().selection:
oval(x-s, y-s, s*2, s*2)
It true that scaling would result in floating coordinates. But I would rather see advantages in keeping the coordinates with floating numbers. If one has a set of transformations the result would be much better if floating numbers are used instead round the coordinates after each step.
Output will always round all coordinates.
With swap you move the current layer to an other layer. Flipping would also move the layer glyph to the source layer.
The action menu in the layer inspector pane will be gone in the next version.
but you can still use:
g = CurrentGlyph()
This will also not work in robofab
You can check if a glyphName is in the font:
f = CurrentFont()
gname = "test"
if gname in f:
else: # f[gname] not in f
print "%s not in %s" % (gname, f)
mm, you can make a subclass of the EditTool and overwrite the modifyDraggingPoint(point, delta) method to ignore 45° and only look for 0° and 90° angles.
But not pref settings (yet, will think about it)