inter icon indicating copy to clipboard operation
inter copied to clipboard

"After a series of "@", "(", or ")" and a capital letter, the tail shifts up"

Open davelab6 opened this issue 1 year ago • 1 comments

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

davelab6 avatar Aug 28 '24 19:08 davelab6

Although not great, this is the expected behavior and technically not a bug.

Screen Shot 2024-11-15 at 14 45 20

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

rsms avatar Nov 15 '24 22:11 rsms