From: Jürgen Spitzmüller Date: Mon, 28 May 2007 07:56:38 +0000 (+0000) Subject: * src/Thesaurus.{cpp, h}: revert accidental commit in rev18538. X-Git-Tag: 1.6.10~9598 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=c9e009f4dd802ae62e71b2bf40f3eaed7be41559;p=features.git * src/Thesaurus.{cpp, h}: revert accidental commit in rev18538. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18539 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/Thesaurus.cpp b/src/Thesaurus.cpp index c9e9e8f3b1..14c82f61d3 100644 --- a/src/Thesaurus.cpp +++ b/src/Thesaurus.cpp @@ -4,7 +4,6 @@ * Licence details can be found in the file COPYING. * * \author John Levon - * \author Jürgen Spitzmüller * * Full author contact details are available in file CREDITS. */ @@ -13,30 +12,27 @@ #include "Thesaurus.h" -#include "debug.h" #include "support/lstrings.h" -#include "support/unicode.h" #include namespace lyx { +#ifdef HAVE_LIBAIKSAURUS + using std::sort; using std::string; -using std::endl; -#ifndef HAVE_LIBMYTHES -#ifdef HAVE_LIBAIKSAURUS Thesaurus::Thesaurus() - : thes_(new Aiksaurus) + : aik_(new Aiksaurus) {} Thesaurus::~Thesaurus() { - delete thes_; + delete aik_; } @@ -53,7 +49,7 @@ Thesaurus::Meanings Thesaurus::lookup(docstring const & t) return meanings; string const text = to_ascii(t); - if (!thes_->find(text.c_str())) + if (!aik_->find(text.c_str())) return meanings; // weird api, but ... @@ -63,19 +59,19 @@ Thesaurus::Meanings Thesaurus::lookup(docstring const & t) docstring meaning; // correct, returns "" at the end - string ret = thes_->next(cur_meaning); + string ret = aik_->next(cur_meaning); while (!ret.empty()) { if (cur_meaning != prev_meaning) { meaning = from_ascii(ret); - ret = thes_->next(cur_meaning); + ret = aik_->next(cur_meaning); prev_meaning = cur_meaning; } else { if (ret != text) meanings[meaning].push_back(from_ascii(ret)); } - ret = thes_->next(cur_meaning); + ret = aik_->next(cur_meaning); } for (Meanings::iterator it = meanings.begin(); @@ -85,88 +81,6 @@ Thesaurus::Meanings Thesaurus::lookup(docstring const & t) return meanings; } -#endif // HAVE_LIBAIKSAURUS -#endif // !HAVE_LIBMYTHES - - -#ifdef HAVE_LIBMYTHES - -namespace { - -string const to_iconv_encoding(docstring const & s, string const & encoding) -{ - std::vector const encoded = - ucs4_to_eightbit(s.data(), s.length(), encoding); - return string(encoded.begin(), encoded.end()); -} - - -docstring const from_iconv_encoding(string const & s, string const & encoding) -{ - std::vector const ucs4 = - eightbit_to_ucs4(s.data(), s.length(), encoding); - return docstring(ucs4.begin(), ucs4.end()); -} - -} // namespace anon - - -Thesaurus::Thesaurus() -{ - string const idx("/home/juergen/updates/MyThes-1.0/th_de_DE_v2.idx"); - string const data("/home/juergen/updates/MyThes-1.0/th_de_DE_v2.dat"); - char const * af = idx.c_str(); - char const * df = data.c_str(); - thes_ = new MyThes(af, df); -} - - -Thesaurus::~Thesaurus() -{ - if (thes_) - delete thes_; -} - - -Thesaurus::Meanings Thesaurus::lookup(docstring const & t) -{ - Meanings meanings; - - string const encoding = thes_->get_th_encoding(); - - mentry * pmean; - string const text = to_iconv_encoding(support::lowercase(t), encoding); - int len = strlen(text.c_str()); - int count = thes_->Lookup(text.c_str(), len, &pmean); - if (!count) - return meanings; - - // don't change value of pmean or count - // they are needed for the CleanUpAfterLookup routine - mentry * pm = pmean; - docstring meaning; - docstring ret; - for (int i = 0; i < count; i++) { - meaning = from_iconv_encoding(string(pm->defn), encoding); - // remove silly item - if (support::prefixIs(meaning, '-')) - meaning = support::ltrim(meaning, "- "); - for (int j = 0; j < pm->count; j++) { - ret = from_iconv_encoding(string(pm->psyns[j]), encoding); - } - meanings[meaning].push_back(ret); - pm++; - } - // now clean up all allocated memory - thes_->CleanUpAfterLookup(&pmean, count); - - for (Meanings::iterator it = meanings.begin(); - it != meanings.end(); ++it) - sort(it->second.begin(), it->second.end()); - - return meanings; -} - #else Thesaurus::Thesaurus() @@ -184,7 +98,7 @@ Thesaurus::Meanings Thesaurus::lookup(docstring const &) return Meanings(); } -#endif // HAVE_LIBMYTHES +#endif // HAVE_LIBAIKSAURUS // Global instance Thesaurus thesaurus; diff --git a/src/Thesaurus.h b/src/Thesaurus.h index f051d102ee..e63f293523 100644 --- a/src/Thesaurus.h +++ b/src/Thesaurus.h @@ -17,13 +17,9 @@ #include #include -#ifdef HAVE_LIBMYTHES -#include MYTHES_H_LOCATION -#else #ifdef HAVE_LIBAIKSAURUS #include AIKSAURUS_H_LOCATION -#endif // HAVE_LIBAIKSAURUS -#endif // !HAVE_LIBMYTHES +#endif namespace lyx { @@ -46,13 +42,9 @@ public: Meanings lookup(docstring const & text); private: -#ifdef HAVE_LIBMYTHES - MyThes * thes_; -#else #ifdef HAVE_LIBAIKSAURUS - Aiksaurus * thes_; -#endif // HAVE_LIBAIKSAURUS -#endif // !HAVE_LIBMYTHES + Aiksaurus * aik_; +#endif }; extern Thesaurus thesaurus;