blob: 6061d786544518acf053fa3e07c3200ec0e97559 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/*
* Copyright (c) 2011 Vlad Voicu
* Licensed under the Simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
#include <boost/filesystem/operations.hpp>
#include <SwifTools/SpellChecker.h>
#include <SwifTools/HunspellChecker.h>
#include <SwifTools/SpellCheckerFactory.h>
#ifdef HAVE_HUNSPELL
#include <hunspell/hunspell.hxx>
#endif
namespace Swift {
SpellCheckerFactory::SpellCheckerFactory() {
}
SpellChecker* SpellCheckerFactory::createSpellChecker(const std::string& dictFile) {
#ifdef HAVE_HUNSPELL
std::string affixFile(dictFile);
boost::replace_all(affixFile, ".dic", ".aff");
if ((boost::filesystem::exists(dictFile)) && (boost::filesystem::exists(affixFile))) {
return new HunspellChecker(affixFile.c_str(), dictFile.c_str());
}
// If dictionaries don't exist disable the checker
#endif
return NULL;
}
}
|