RE: Auto-Correction talker
Ah, but your fix doesn't work if the 'i' is not surrounded by two spaces (e.g. starting with "i", ending with "i", "i'd", "i'm" etc.)
May I suggest using regular expression instead? Something along the lines of (and this is my c# knowledge of regular expression):
(?1[^ ])i(?2[^ ]) = {$1}I{$2}
|