Issue with selecting anchor connections from nested components

Having an issue with how nested components are connecting to anchors and being able to select them.

I’ll try my best to explain.

The top line is how I imagine it working but it doesn’t.
The bottom line how it is working but it isn’t a flexible solution.

In the top line, all the anchors are located in a component that contains the outline. In this case the component contains three sets of corresponding anchors and also an #entry anchor.
connect.1 _connect.1
connect.2 _connect.2
connect.3 _connect.3

This is then placed as an isolated component (it is a Smart Component so it can be adjusted at this stage) then it is placed in the final glyph where all the pieces come together. The first square aligns correctly with the corresponding #exit anchor…however, when I place the second square it gives the connection options (#exit, connect.1, connect.2, connect.3) but it doesn’t actually apply it.


In the bottom line, if all the anchors are placed on the glyph that is a component of the outline square then the connections options are available and work in the final glyph…the issue for me though is that it doesn’t make sense to have anchors on a component (smart or static component) because then any adjustment to the component would require manually moving the anchors.


Edit:

Tried a third way of using a single Connect (capital C) to be able select from Connect_1, Connect_2, Connect_3…the also works like the second example but with the same issue of the anchors being on the component glyph.


With Connect naming and anchors + outline…it again shows that the anchor selection options are available but it doesn’t actually change what it is attaching to.

An you send me that test file.

Sent…although, I think some of these issues were just figuring out naming conventions and also with updating to a newer version.

So did you figure it out?

Yes, I think so.

Testing in 3.4.1 (3436) and running into some weird things that I am not sure exactly how they happen. Seems like it has to do with the memory of an anchor name or somehow it renames it. You can see in the first line it added an _1 to the Connect.left and similarly for the other anchors. I can’t figure out why it did that or how to reset it.

When I remake it from scratch using the same naming (in the second line) then it works fine.

Sent the file in message.



One more thing that I want to check if it is intended behavior…if there is a Connect then it can have selection option only if there are more than one anchor in the receiving glyph such as Connect.1/Connect.2 or Connect.left/Connect.right…but it breaks if there is only one anchor because I guess it doesn’t recognize Connect.1 and _Connect as being related?

Works:
_Connect
Connect

Works:
_Connect
Connect.1
Connect.2

Doesn’t work:
_Connect
Connect.1

Please test in 3.5. I did work on this. And I can’t reproduce this (but it might be that I didn’t rest it correctly).

Probably not related but: Please unly use underscores (except at the beginning) in anchor names in ligatures. There might be side effects otherwise. Use dot suffixes with CamelCase.

1 Like