"After a series of "@", "(", or ")" and a capital letter, the tail shifts up"
Did you get the font from Google Fonts? Then please head over to https://github.com/google/fonts/issues and file an issue with Google Fonts. If not, REMOVE THIS PARAGRAPH BEFORE FILING YOUR ISSUE.
Well, I am coming from Google Fonts with https://github.com/google/fonts/issues/7258 to say this is probably an upstream issue ;)
Describe the bug
"After a series of "@", "(", or ")" and a capital letter, the tail shifts up"
To Reproduce
Type **************?
Expected behavior Case feature works more as expected
Screenshots See GF issue
Although not great, this is the expected behavior and technically not a bug.
This happens because calt substitution can only cause an infinite forward cascade, but requires explicit substitution for back-propagation.
Inter has rules for up to 5 backwards substitutions:
https://github.com/rsms/inter/blob/4f3d79f9005df8d4e4251762ce2ef9d741b1c351/src/features/calt.fea#L267-L271
That's why ?***... works for any number of * but ...***? only works for up to 5 *.
There might be a way to "program" calt/OT substitution to propagate backwards that I'm not aware of and I'd be happy to update Inter to take advantage of such a technique if it exist.
If not, all we can do is to introduce more explicit backtracking rules or add substitution exceptions to suppress certain scenarios of "automatic case matching" behavior