I'm sorry about not giving a solution (which would greatly surprise me), but just a kind of answer: in my recent answer (
How To Implemet Phonetic Search Algorithm..[
^]) I tried to explain why I would not hold my breath. :-)
Just one example: if you misspell "weather" as "whether", or even "
wether", in first case the word would be mistakenly considered as correctly spelled, and in second case there would no a reason to make preference between "weather" as "whether". Without semantic analysis, it's all impossible; and such analysis is much more then grammar, is a big unsolved problem. By the way, in English such cases are extremely frequent. In some other languages, grammar is much more complex and irregular, never formally described to depth.
—SA