Smart filter matching a set of characters + alternate stylistic sets

I have created a list filter that matches the following characters in this set: https://foundrysupport.monotype.com/hc/en-us/articles/360029280752-Recommended-Character-Set

However if I want to include any stylistic variations on characters, I need to enter them manually into the list. Is there a smart filter I can create that matches these characters, plus any stylistic sets on top?

I’ve tried writing a regex that matches the character set, but it’s too long to be pasted into the “Glyphs name + matches” text field:

[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789¹²³ªº%$€¥£¢&*@#|áâàäåãæçéêèëíîìïıñóôòöõøœšßúûùüýÿžÂÀÄÅÃÆÇÉÊÈËÍÎÌÏÑÓÔÒÖÕØŒŠÛÙÜÝŸ,:;-\–—•.…“‘’‘‚“”„‹›«»?!¿¡()[]{}©®§+×=_°]

If I can get the regex to work, then I can add another rule on top to match the stylistic sets. Thanks for any assistance!

I don’t have a good solution for this. Maybe a script that generates a list filter?

You can use the following as a Smart Filter with “Glyph name → matches”

^(?:A(?:circumflex|dieresis|grave|ring|tilde|E)|Ccedilla|E(?:acute|circumflex|dieresis|grave)|I(?:acute|circumflex|dieresis|grave)|Ntilde|O(?:acute|circumflex|dieresis|grave|slash|tilde|E)|Scaron|U(?:circumflex|dieresis|grave)|Y(?:acute|dieresis)|a(?:acute|circumflex|dieresis|grave|mpersand|ring|sterisk|tilde|[et])|b(?:a(?:ckslash|r)|rac(?:e(?:lef|righ)|ket(?:lef|righ))t|ullet)|c(?:cedilla|ent|o(?:lon|mma|pyright))|d(?:egree|ollar)|e(?:acute|circumflex|dieresis|grave|ight|llipsis|mdash|ndash|qual|uro|xclam(?:down)?)|f(?:ive|our)|g(?:ermandbls|uil(?:lemet(?:lef|righ)|singl(?:lef|righ))t)|hyphen|i(?:acute|circumflex|d(?:ieresi|otles)s|grave)|multiply|n(?:ine|tilde|umbersign)|o(?:acute|circumflex|dieresis|grave|ne(?:superior)?|rd(?:femin|mascul)ine|slash|tilde|e)|p(?:aren(?:lef|righ)t|er(?:cent|iod)|lus)|qu(?:estion(?:down)?|ote(?:dbl(?:base|left|right)|left|right|singlbase))|registered|s(?:caron|e(?:ctio|micolo|ve)n|ix|lash|terling)|t(?:hree(?:superior)?|wo(?:superior)?)|u(?:acute|circumflex|dieresis|grave|nderscore)|y(?:acute|dieresis|en)|z(?:caron|ero)|[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz])(\..)?

It matches any glyph name from your list and any other glyph name that starts with an entry from the list and then continues with dot-something (.###).


You can build a pattern like the one above yourself, too. All you need is a whitespace-separated list of glyph names to start with. A list filter will work, or you can select glyphs in Font View and then choose Copy Glyph NamesSpace Separated from the context menu.

Then, go to https://www.myregextester.com and choose Word List from the tools:

Paste the glyph names into the Word List text field:

Click Generate Pattern below the list. You can now copy the resulting pattern. All you need to change is replace the dollar sign ($) at the end with (\..)? Now you have a pattern that matches “anything from the word list or anything from the word list followed by dot and something else”.

1 Like

Thank you both & to @FlorianPircher for that amazing regex - it worked great! I also grabbed the other rule you wrote a while back for stylistic sets & applied that too, and it’s all working well.