Trouble with the word "internet"
Brought to you by:
pwelter34
If I spell check the following text....
"This is a test of internet."
"internet" shows up as a misspelled word, however one
of its suggestions is "internet" as well as "Internet". If I
select "internet" it does not move forward and maintains
that "internet" is a misspelled word. If I
select "Internet" the spell checker will continue.
Any thoughts?
Thanks,
Peter
Logged In: NO
Yep, I got the same problem
Logged In: NO
that's because 'internet' doesn't exist in the dictionary.
You can hightlight and add it. after that it'd work
Logged In: YES
user_id=1164145
Why does it show up in the suggested words if it does not
exist in the dictionary? I would think only items in the
dictionary would show up as suggested replacement words.
Our average user would not understand why words that are
not in the dictionary are showing up as suggested
replacement words.
Logged In: YES
user_id=1281872
We're having this same issue with the word "hindi" as well.
We're not allowing users to create custom dictionaries...or
"add" words, so we need to iron out why these words are both
showing as misspelled AND as an option of correct words to
be selected from in the suggestion field.
Any suggestions on a solution to resolve this, or at least
where to begin looking to debug?
Logged In: YES
user_id=1392162
After fighting with NetSpell for a while with a similar
problem, it turns out there's a quirk in how it handles
words entered into the dictionary with capital letters.
If the word is in the dictionary with any capitals then
it will flag it as wrong if it is not written the exact
same way. In your example it's written "Internet" in the
dictionary. If you edit the *.dic file and make it just
"internet" it will work as expected.
The reason you are seeing "internet" as an option is
because
of an algorithm NetSpell uses to check for simple changes
to dictionary words.
Logged In: NO
same problem with the word "axe"
Logged In: YES
user_id=1191107
Originator: NO
The problem with "internet" vs. "Internet", and likely with other words capitalized in the dictionary, seems to be due to the BadChar procedure within the Spelling.cs file. I traced through it, and this procedure substitutes various alternative letters for each one in the misspelled word. When it replaces "i" with "I", it finds a match in the dictionary, as it should. Then (around line 340 in the file) it **converts the whole word to lower case** and stores the result in the suggestion list, even though picking that suggestion will fail and send you through the process again. Commenting out the ".ToLower()" method there corrected the problem, though I haven't experimented enough to see if that has any unwanted side effects. Also, similar issues may arise in related procedures like ReplaceChars, ExtraChar, ForgotChar, TwoWords, and SwapChar; haven't checked those out yet.
Logged In: YES
user_id=1191107
Originator: NO
To follow up on this: I decided to convert the words of the user text to all lower-case before they are checked against the dictionary, and to convert all the words in the base dictionary to lower-case as they are read into the hash table for comparison. It required modifications to Dictionary.Contains (where the words are compared) and Dictionary.Initialize (where the _baseWords table is loaded). To avoid duplicate-key errors where A and a are both in the dictionary, I test before loading a new word. To initialize the user dictionary the same way, the changes would go into Dictionary.LoadUserFile. Now, mis-capitalizing is not flagged as an error, but replacement/suggestion words retain the capitalization from the user text and are accepted. (E.g., "Becuase" becomes "Because" even though the compare was lower-case.)