RMX Scaler deletes all non-master layers

I often use layers to store different versions of outlines, rather than put them all in the background layer of the current master. Now sometimes I want to use RMX Scaler to generate a new set of outlines from a named source glyph in light, regular and bold masters. So far so good, but when the operation is complete, all the other masters of the current glyph have disappeared without warning, so I cannot go back and see the other versions I had, or compare RMX Scaler’s output with what I had drawn manually in those layers.

When generating from source, the RMX Scaler completely re-sets the glyph because it assumes you want to update it from the source.

Ben, to make sure I understand you correctly:

  • You have a glyph with manually drawn shapes.
  • That glyph can, in principle, be RMX’ed from a different source glyph.
  • You want to compare your manual shape to the RMX’ed one out of curiosity, for inspiration or in order to possibly adopt it (or parts of it).

In that case, you should generate a RMX’ed version as a separate, temporary or non-exporting glyph. I sometimes do that for my old-style figures: I have a lining six, a six.osf and a non-exporting six.osf.synth, which is generated from the six using the Scaler (somewhat smaller and a tad lighter). If I modify the six I can then re-generate the six.osf.synth and then use Insert Glyph to Background to insert it into the six.osf. That way, I can compare and adopt the shape (possibly only in part) using Mask to Master (hey, those must be the two most powerful tools I have ever written!).

That said, I am considering changing the handling of generating from source to a strictly layer-based UI and a palette instead of a dialog. That way, you could generate individual layers from source without affecting the rest. Still not sure whether having a strictly synthesized separate glyph as described above might be the clearer workflow.

Yes, that’s exactly right.

To be honest, adding extra/temporary glyphs doesn’t appeal too much in a font with already more than 3000 glyphs to keep track of. I’d ideally prefer to use RMX Tuner for the operations I’m doing, as it can be applied to only one master at a time, but I currently have to use Scaler as it allows x- and y- positioning, which are essential for what I’m doing (figuring out the weight, scale and position of the nested component here for example):

1 Like

Not sure I understand. In how far is handling a temporary glyph made more difficult if the font has a large number of glyphs in total? You can even create a temporary glyph in the edit window (using Cmd+D), then synthesize it, and later delete it using Cmd+Backspace, without ever seeing your temporary glyph in the context of your other 3000 glyphs.

As another option, if you have a large number of glyphs to synthesize and compare it might be more elegant to simply create a temporary copy of the whole font, then remix the glyphs there, and then use Assign Background in your working font to compare the shapes.

As I said initially, the issue is that the Scaler operation wipes all the extra layers. Adding new glyphs doesn’t solve that issue, and it doesn’t feel right because layers within a glyph are expressly intended for different versions of a glyph. Devising other workarounds just puts the issue into the users’ workflow to figure out, which adds needless complexity to projects that can already be unwieldy (hence my comment about large projects). It also assumes the user knows in advance that their other layers will be lost — even after recognising this bug, I still used Scaler on other glyphs, forgetting that their other layers would be lost.

At least if it absolutely has to delete users’ work, please give warning. But I don’t see that it should have to delete anything.

1 Like

Independent of the non-master layers deletion, if “generate from” is checked, the RMX Scaler always completely deletes the content of all master layers, which may be user’s work. This is the whole point of the “generate from” functionality.

So, yes, it definitely has to delete something (in the master layers).

Would you also say a warning for the deletion of all master layers’ content is necessary? In that case, the Scaler would have to issue a warning on each use (if “generate from” is checked).

I’m talking about non-master layers, though.

I understand but warning messages should follow a certain consistency.

I see. I think deleting the master layer is to be expected, since we’re trying to generate a new outline. What I hadn’t expected was that all the other layers would disappear too. I think it’s useful to preserve them, so I like your initial suggestion of having a layer-based UI.

What would also be nice, for the future, would be to have the new outlines hotlinked to the source glyph, so any changes in B would update the outlines on B.smcp for example. That’s probably quite a lot more work, though.