#include "support/package.h"
#include "support/path.h"
#include "support/systemcall.h"
-#include "support/unicode.h"
#include <boost/bind.hpp>
#include <boost/filesystem/operations.hpp>
/// The main application class private implementation.
struct LyX::Singletons
{
- Singletons(): iconv(ucs4_codeset, "UTF-8")
+ Singletons()
{
// Set the default User Interface language as soon as possible.
// The language used will be derived from the environment
/// lyx session, containing lastfiles, lastfilepos, and lastopened
boost::scoped_ptr<Session> session_;
- ///
- IconvProcessor iconv;
-
/// Files to load at start.
vector<FileName> files_to_load_;
}
-IconvProcessor & LyX::iconvProcessor()
-{
- return pimpl_->iconv;
-}
-
-
kb_keymap const & LyX::topLevelKeymap() const
{
BOOST_ASSERT(pimpl_->toplevel_keymap_.get());
}
-IconvProcessor & utf8ToUcs4()
-{
- return LyX::ref().iconvProcessor();
-}
-
-
Messages & getMessages(std::string const & language)
{
return LyX::ref().getMessages(language);
}
+IconvProcessor & utf8ToUcs4()
+{
+ static IconvProcessor iconv(ucs4_codeset, "UTF-8");
+ return iconv;
+}
+
+
+
void utf8_to_ucs4(std::string const & utf8, docstring & ucs4)
{
size_t n = utf8.size();
boost::scoped_ptr<Private> pimpl_;
};
-/// This is implemented in lyx_main.C for the LyX program
-/// and in client.C for the LyX client program.
-extern IconvProcessor & utf8ToUcs4();
-
// A single codepoint conversion for utf8_to_ucs4 does not make
// sense, so that function is left out.
namespace fs = boost::filesystem;
-IconvProcessor & utf8ToUcs4()
-{
- static IconvProcessor iconv(ucs4_codeset, "UTF-8");
- return iconv;
-}
-
-
// Hacks to allow the thing to link in the lyxlayout stuff
LyXErr lyxerr(std::cerr.rdbuf());