4 ms·
That's genius, thank you!! I will have to try that tomorrow but I have a feeling it might just work : - )
by california-og 2y ago
That's genius, thank you!! I will have to try that tomorrow but I have a feeling it might just work : - )
- penteract 2y agoHere's a tested version that, given text containing only lower case letters, backslash and double quote, capitalizes the letters between quotes and handles escaping reasonably. (works with NotoSans-Regular.ttf) @Char = [a-z quotedbl backslash]; @CharQuoted = [A-Z quotesingle slash]; @NonQuoteQuoted = [A-Z slash]; @Escaped = [asterisk dollar]; feature liga { lookup xa { sub quotedbl @Char' by @CharQuoted; sub slash backslash' by dollar; sub slash quotedbl' by asterisk; sub [@NonQuoteQuoted asterisk dollar] @Char' by @CharQuoted; } xa; } liga; feature liga { lookup xb { sub quotesingle' by quotedbl; sub slash' by backslash; sub dollar' by backslash; sub asterisk' by quotedbl; } xb; } liga;
- ajudson 2y agoDo you know if there is a programmatic way to convert multi character to multi character without intermediate glyphs? E.G. snake -> snāk
- penteract 2y agoFor that example, I think you could do s n a' k e -> ā s n ā k e' -> NULL although that would also change "snāke" to "snāk", which is not quite what you asked for. I don't think there's a way to do many-to-many substitution in general, although it would always be possible if you create intermediate glyphs. I believe Section 5 of http://adobe-type-tools.github.io/afdko/OpenTypeFeatureFileSpecification.html#2 http://adobe-type-tools.github.io/afdko/OpenTypeFeatureFileS... gives the full list of substitution types.