public static char Sanitize(char c)
{
switch ((ushort)c)
{
case 0x008C: return (char)0x9C;
case 0x009F: return (char)0xFF;
case 0x00D0:
case 0x00DF:
case 0x00F0:
case 0x00F7: return c;
}
if ((c >= 'A' && c <= 'Z') || (c >= 'À' && c <= 'Þ'))
return char.ToLowerInvariant(c);
return c;
}