Feature request: Change glyphOrder by drag and drop (v2)

Not sure why Johannes closed that topic because the requested feature is still actual, so I use the same topic name.

I use glyphOrder and I like it in most cases. I use Filters. I also use GlyphData.xml for some composition stuff. That works very good. But right now I’m working with Emojis. I have a few hundreds of them at the moment, and I’m not okay with default Unicode sorting.

The reason of that is the constant Unicode expansion nuances. Every year new emoji’s are added to the new Unicode blocks. That mean, it’s not possible to add the same logical element to the same block because it’s already full. So the new element are going to the new block. As the result, a logical group elements are separated by different multiple places.

There is a lot of examples of logical group elements that are in the different blocks, such as: face smiles, transport, food, animals, weather, and many many more. Even three button mouse (1F5B1) and keyboard (2328) emojis are in very different blocks.

As I said, I’m okay with glyphOrder. But, in this case, I imagine how i will sort this hundreds of emojis as a text lines of glyph names :face_with_monocle:

What about not sorting it at all? When the customer will list the glyphs panel, he/she will expect to see the three button mouse somewhere close to keyboard. The same as horse and deer. Is it? I suppose it could be better to sort it manually right in the font before the production. And some visual drag and drop feature will be handy here.

So, back to topic. As Johannes proposed, some modifier key (option, fn, cmd) will be the answer for sorting glyphs in the font window.

As a temporary solution, I use JavaScript implementation with html interface for creating the new glyphs order by drag and drop. It give me a text lines as a result, which I can place to glyphOrder in Glyphs. But it would be more convinient to do it directly in Glyphs. I would greatly appreciate such an implementation of sorting if you (and other Glyphs users) see sense in it. Thanks.

Michael

Alternatively it could be default optimized sorting for Emojis in Glyphs. That is, not just alphanumerical but also by Emoji category and subcategory.

I selected some range of emoji glyphs and here is its default Glyphs order which is alphanumerical:

1F944
1F955
1F956
1F95A
1F95B
1F96A
1F98C
1F992
1F9C0
2601
2602
2603
2605
260E
2615
261A
261B
263C
263D
263E
2661
2665
2693
26A0
26A1
26C6
26D4

This is something I’ve wanted in Glyphs for a long time. I like to have the glyphs in a sensible order—an order I choose—for apps with glyph palettes, such as InDesign. FontLab has a way to do this visually in its “Index” view using drag and drop. Since switching to Glyphs (almost ten years ago), I’ve been using the glyphOrder custom parameter and hand-editing the list. This works, but is kind of tedious, especially if you do the editing in the custom parameter’s dialog.

I figured out a way to do it more visually in Glyphs and thought I’d share it here for those like me who want to do this.

  1. Select all the glyphs in the Font tab (except for non-exporting glyphs).
  2. Double-click to open them in an Edit tab.
  3. Use cut and paste to reorder the glyphs until they are in the order you would like.
  4. Select all the glyphs in the Edit view using the Text tool.
  5. Right-click and choose “Copy glyph names > One Per Line” from the pop-up menu.
  6. Go to the Font tab in the Font Info dialog (command-I).
  7. Add a new “glyphOrder” custom parameter in the lower portion of the window. (Or, if it already exists, go to the next step.)
  8. Double-click on the “glyphOrder” custom parameter and paste the list of glyphs you just copied into the window that pops up and close it. (If there’s already a list, do select all before pasting to replace it.)
  9. Done.

I don’t know why I never thought of this before, or if anyone else has discovered it (didn’t see anything here), but it’s much easier than editing the list of glyph names in the custom parameter. A drag and drop way to do it would be even better, but until such a feature exists (if ever), it’s a pretty good workaround.

4 Likes

@MarkSimonson thanks for sharing this approach.
Simple and elegant. And importantly, it saves time.