Suggestion: Anchors names should have autocompletion


Screenshot 2022-11-22 at 6.54.02 AM
Screenshot 2022-11-22 at 6.54.06 AM
I added the left… But still…

No, it’s because the Bottom in _Bottomleft gets replaced by . To fix this, you would need to be able to reorder the abbreviations such that _Bottomleft is replaced first. This is still on the to-do list.

1 Like

I see. ok. I will look for an update then. Thank you @FlorianPircher

Maybe you sort the search keys by decreasing length. That way all keys are applied properly.

Already done :wink:

1 Like

I’ve implemented anchor name overlap avoidance: If multiple names overlap, they are stacked vertically. Shifted names are connected back to their anchor point with a faint line:

Anchors placed on layers are shown with a diamond ◆ shape while anchos inside of components are indicated with a downwards pointing triangle ⏷ shape.

On modern OS versions, you can make the anchor name font narrower for less collisions:

2 Likes

Very cool, @FlorianPircher It’s so helpful! It makes me wonder if there is a way to build a table with all my existing anchors with an option to edit their names. Something like you did here

You could add a command to import all existing anchors.

1 Like

Should be doable with a script. The table is just a TextAbbr. dictionary under the AnchorAnnotationsAbbreviations defaults key.

For example, the following script would read all anchor names and shorten them to their first two characters:

abbrs = dict(Glyphs.defaults["AnchorAnnotationsAbbreviations"])
for glyph in Font.glyphs:
	for layer in glyph.layers:
		if layer.isMasterLayer or layer.isSpecialLayer:
			for anchor in layer.anchors:
				if anchor.name not in abbrs:
					abbrs[anchor.name] = anchor.name[:2]
Glyphs.defaults["AnchorAnnotationsAbbreviations"] = abbrs
1 Like

mmm… I tried it and nothing happened… Should I expect to see all the anchors in the table?

Yes, all anchors from the currently open font should be imported into the Abbreviations table. Here is what it might look like:

1 Like

It’s cool, But it didn’t work for me… Nothing is happening… by the way, can you change the anchor’s name in this list if needed?

My mistake, try again with the updated code above.

1 Like

Yes, it works now. Perfect! Thanks you! Do you think you can manage the anchors from here? I know it’s too much to ask. But I feel like there should be a place to organize the anchors. A few of the functions should be:

  1. Edit the anchors names
  2. See what glyphs are using the anchors and how many glyphs
  3. organize groups of anchors in folders

It probably too complicated, But I think it will be a strong tool.

Thoughts?

This is beyond the scope of this plugin. Most of these things would be straightforward using a script. “Edit the anchors names” or “See what glyphs are using the anchors and how many glyphs” can happen in many different ways depending on the need of the project and your personal workflow, so there is no good way to offer a universal solution for everyone.

1 Like

Understood. This plug is SO useful like that and I thank you for doing it. Just thought, anchors need to have a Home :slight_smile:

there are several scripts in the mekkablue repo that help with anchor management.

1 Like