]> git.lyx.org Git - lyx.git/blobdiff - src/chset.C
Make string conversion work with non-ucs2-characters if using qt 4.2
[lyx.git] / src / chset.C
index e97330e2ff656542af8955fa7b42a7e54dca04d1..ed8ee462b502203144b737d0757b80bbdab36333 100644 (file)
 
 #include "debug.h"
 
+#include "support/convert.h"
 #include "support/filetools.h"
-#include "support/lyxlib.h"
 
 #include <boost/regex.hpp>
 
 #include <fstream>
 
-using lyx::support::atoi;
-using lyx::support::LibFileSearch;
+
+namespace lyx {
+
+using support::libFileSearch;
 
 using boost::regex;
 using boost::smatch;
@@ -49,8 +51,8 @@ bool CharacterSet::loadFile(string const & fname)
        // open definition file
        lyxerr[Debug::KBMAP]
                << "Reading character set file " << fname << ".cdef" << endl;
-       string const filename = LibFileSearch("kbd", fname, "cdef");
-       ifstream ifs(filename.c_str());
+       support::FileName const filename = libFileSearch("kbd", fname, "cdef");
+       ifstream ifs(filename.toFilesystemEncoding().c_str());
        if (!ifs) {
                lyxerr << "Unable to open character set file" << endl;
                return true;            // no definition, use 7-bit ascii
@@ -66,7 +68,7 @@ bool CharacterSet::loadFile(string const & fname)
        while (getline(ifs, line)) {
                smatch sub;
                if (regex_match(line, sub, reg)) {
-                       int const n = atoi(sub.str(1));
+                       int const n = convert<int>(sub.str(1));
                        string const str = sub.str(2);
                        if (lyxerr.debugging(Debug::KBMAP))
                                lyxerr << "Chardef: " << n
@@ -100,3 +102,6 @@ string const & CharacterSet::getName() const
 {
        return name_;
 }
+
+
+} // namespace lyx