I am trying to write a spam filter that will pick up variations of spellings of words from text, so for example the standard typed version of the following should be fltered as much as this unicode variant:

My strategy is to use this site:
https://util.unicode.org/UnicodeJsps/confusables.jsp?a=a&r=None
to make a list of confusables of all the standard A-Z and a-z letters. I figure I can create a List of each confusable for each letter, ie.
public static List<string> aCharList = new() {
"a",
"A",
//small a:
"\u0061",
"\u0251",
"\u03B1",
"\u0430",
"\u237A",
"\u1D41A",
"\u1D44E",
"\u1D482",
"\u1D4B6",
"\u1D4EA",
"\u1D51E",
"\u1D552",
"\u1D586",
"\u1D5BA",
"\u1D5EE",
"\u1D622",
"\u1D656",
"\u1D68A",
"\u1D6C2",
"\u1D6FC",
"\u1D736",
"\u1D770",
"\u1D7AA",
"\uFF41",
};
I can use to iterate for finding “alternative character spellings” of the same words. But this isn’t working . As per C#: the \u must be followed by 4 digits only U+0000 to U+FFFF:
I see this in Visual Studio where the 5th digit of these unicode characters is not recognized. Any easy way to implement this strategy or any different ideas? I could alternatively just copy and paste the Unicode characters from that confusables display website into my code. But I feel like using the code for them is more secure against file format changes.
Is there some solution or existing approach?
