#include "Buffer.h"
#include "BufferParams.h"
+#include "Color.h"
#include "debug.h"
#include "gettext.h"
#include "Language.h"
#include "Length.h"
-#include <boost/regex.hpp>
-
-#include <algorithm>
-#include <config.h>
-
-#include "Color.h"
-
#include "frontends/FileDialog.h"
#include "frontends/alert.h"
+
#include "support/filetools.h"
#include "support/lstrings.h"
#include "support/Package.h"
#include "support/Systemcall.h"
#include <boost/cregex.hpp>
+#include <boost/regex.hpp>
+
+#include <algorithm>
#include <fstream>
+#include <locale>
+
using std::string;
using std::vector;
using std::pair;
docstring const familyName(docstring const & name)
{
+ if (name.empty())
+ return docstring();
+
// Very simple parser
docstring fname = name;
if (idx != docstring::npos)
return ltrim(fname.substr(0, idx));
idx = fname.rfind('.');
- if (idx != docstring::npos)
+ if (idx != docstring::npos && idx + 1 < fname.size())
fname = ltrim(fname.substr(idx + 1));
// test if we have a LaTeX Space in front
if (fname[0] == '\\')
LanguagePair, bool>
{
public:
+ Sorter() : loc_("") {};
bool operator()(LanguagePair const & lhs,
LanguagePair const & rhs) const {
- return lhs.first < rhs.first;
+ return loc_(lhs.first, rhs.first);
}
+private:
+ std::locale loc_;
};
} // namespace anon