views:

125

answers:

4

I was looking for a multi-language (specifically English & Swedish) supporting spell-check solution that can plug into a commercial MFC/C++ application.

Top of my Google search was Wintertree, which appears to meet all criteria but is hardly cheap at $3500 for a site license. Now I know that using some open-source option could take several days' work to get working, which has a cost all of its own, but still I wondered if there any well-regarded options out there of a cheaper nature. Or free of course, but our product is closed source and many free options I saw are GPL.

Thanks for any suggestions, or personal experience.

+1  A: 

Have a look at Spell Checking Edit Control (Using HunSpell).

It uses Hunspell which is "the default spell checker of OpenOffice.org and Mozilla Firefox 3 & Thunderbird." and it is licensed "under GPL/LGPL/MPL tri-license.".

Cristian Adam
+3  A: 

Aspell. It supports Swedish and uses the GNU Lesser General Public License, which should be OK for your project.

Vijay Mathew
So Aspell is a pure spell-checking library, you have to write your own integration code to e.g highlight mis-spelled words in a text-control?
John
@John Yes. A common way people integrate Aspell is by spawning it as a separate process and do IPC with it. You might want to build it as part of your project instead.
Vijay Mathew
Hmm. Doing that and the required MFC stuff could cost $3500 in time (or not too far off it) to get anything polished.
John
@John Yes, the effort will be more than just embedding a pre-built library, probably a 1-2 hour effort.
Vijay Mathew
A: 

SpellEdit is a nice control (you might have to tweak it a little bit so it compiles with newer VS versions).

It uses MySpell which is BSD licensed and can be used in commercial products. The only thing that is usually GPL licensed are the dictionaries for different languages. But that's not a big problem: you can just tell your users to download/install those separately from your commercial app.

Stefan
A: 

I have written a DLL that uses the spell-checking-capabilities of Microsoft Word. There are some COM-calls like CheckSpelling or GetSpellingSuggestions you can use. The cumbersome part is the wrapping of this functions into something really useful, you know a lot of COleVariants flying around an so on.

The dialog for selecting a suggestions is about one hour of work altogether. The big bonus of this solution is the use of the dictionary of the user, so "his" words are already available.

dwo
That's quite interesting. However a proper UI would not be one hour... if you want it to seamlessly integrate with rich-text controls to underline mis-spelled words.
John
I used to highlight (select) the misspelled word and then open the dialog, that is much less work :-)
dwo