Hey, I've been working on the tilde correction over the last few days. During this time, I realized that knowing the bounding box of the tilde contour would help a lot. In fact, the logic for the other vertical separation adjustments assumes that it can get the bounding box by taking the minimum/maximum coordinates of all the points, but this doesn't work because of off-points, which I didn't consider at the time. How do you find this bounding box?
Also, thanks for clarifying what your intended solution is for the GSUB handling. I should note that, in your example, check #3 is too restrictive. The logic allows for the bottom shape that needs to be separated to be made up of any number of contours, which allows it to work for characters with more complex shapes.
I want to clarify: are you adding glyph names in the database as a requirement for the project?