Correct path direction for all masters often makes glyphs MM incompatible


#1

Just tried the Correct path direction for all masters in Comfortaa, https://github.com/googlefonts/comfortaa.

It ended up making the following glyphs incompatible.

50

Glyphs v2.5.1 (1141)


#2

Hi Mark,
Check the start points and master compatibility. There are the problems.
et


#3

The issue is that the start points and master compatibility is correct before applying “correct path direction”


#4

Hi, Dave
Yes, all glyphs are compatible until correct directions for all masters in all glyphs is applied.
I opened the source file and check it.
The issue can be solved manually.
et


#5

I’d suspect that some of that may result from masters in which the bottom-most point is different. E.g. on the ß, maybe for one master the bottom left corner of the stem is lower than the bottom node of the bowl, while on another it isn’t. Glyphs assigns lowest (and then leftest) node as the starting node when correcting paths.


#6

Thank you all for your replies.

Imo, correcting a path’s direction should happen without altering the starting points.


#7

The command does three things; it:

  • corrects path direction
  • reorders paths
  • resets start points

Each of these applies heuristics, and each of these can break compatibility.

At the moment, you could do your own algorithm iterating through all GSLayer.paths and setting GSPath.direction (-1 for counterclockwise or 1 for clockwise) attributes.


#8

Thank you Mekkablue!

I’ll spin my own.


#9

@Marc_Foley did you spin your own?