示例#1
0
        private void ParseWordFromDictionary(Word.Selection selection)
        {
            ExtendSelectionLeft(selection, Word.WdUnits.wdCharacter);
            ExtendSelectionLeft(selection, Word.WdUnits.wdWord);


            var text = selection.Text;

            if (text.Length == 0)
            {
                CollaseSelection(selection);
                return;
            }
            var lastCharacter = text.Last().ToString();

            text = text.Remove(text.Length - 1);

            var result = _spellChecker.CheckSpell(text.Trim());

            if (!string.IsNullOrWhiteSpace(result))
            {
                selection.Text = result + lastCharacter;
            }
            CollaseSelection(selection);
        }
示例#2
0
 private void CorrectWords(Words words)
 {
     foreach (Range range in words)
     {
         var value           = range.Text.ToString();
         var spacesFromStart = value.TakeWhile(Char.IsWhiteSpace).Count();
         var spacesFromEnd   = value.Reverse().TakeWhile(c => Char.IsWhiteSpace(c) || c == '.').Count();
         range.Start += spacesFromStart;
         range.End   -= spacesFromEnd;
         if (string.IsNullOrEmpty(range.Text))
         {
             continue;
         }
         var replacementText = _spellChecker.CheckSpell(range.Text);
         if (!string.IsNullOrEmpty(replacementText))
         {
             range.Text = replacementText;
         }
     }
 }