]> git.lyx.org Git - lyx.git/blobdiff - src/Layout.cpp
tex2lyx: add strike-outs etc. to the TeX testfile
[lyx.git] / src / Layout.cpp
index e11b3a47c004ab5377320f8b8d7caeb2896f4c97..80393cb982fa447838f25c630ad46122f6a51555 100644 (file)
@@ -861,7 +861,7 @@ void Layout::readSpacing(Lexer & lex)
 
 namespace {
 
-docstring const i18npreamble(Language const * lang, Language const * buflang,
+docstring const i18npreamble(Language const * lang, Encoding const & enc,
                             docstring const & templ, bool const polyglossia)
 {
        if (templ.empty())
@@ -874,13 +874,14 @@ docstring const i18npreamble(Language const * lang, Language const * buflang,
 #ifdef TEX2LYX
        // tex2lyx does not have getMessages()
        LASSERT(false, /**/);
+       (void)enc;
 #else
-       string const enc = lang->encoding()->iconvName();
+       string const langenc = lang->encoding()->iconvName();
        string const texenc = lang->encoding()->latexName();
-       string const bufenc = buflang->encoding()->iconvName();
+       string const bufenc = enc.iconvName();
        // First and second character of plane 15 (Private Use Area)
-       char const s1[5] = {0xf3, 0xb0, 0x80, 0x80, 0x00}; // U+F0000
-       char const s2[5] = {0xf3, 0xb0, 0x80, 0x81, 0x00}; // U+F0001
+       string const s1 = "\xf3\xb0\x80\x80"; // U+F0000
+       string const s2 = "\xf3\xb0\x80\x81"; // U+F0001
        // FIXME UNICODE
        // lyx::regex is not unicode-safe.
        // Should use QRegExp or (boost::u32regex, but that requires ICU)
@@ -889,10 +890,10 @@ docstring const i18npreamble(Language const * lang, Language const * buflang,
        while (regex_search(preamble, sub, reg)) {
                string const key = sub.str(1);
                string translated = to_utf8(lang->translateLayout(key));
-               if (enc != bufenc)
+               if (langenc != bufenc)
                        translated = "\\inputencoding{" + texenc + "}"
-                               + string(s1) + enc + string(s2) + translated
-                               + string(s1) + bufenc + string(s2);
+                               + s1 + langenc + s2 + translated
+                               + s1 + bufenc + s2;
                preamble = subst(preamble, sub.str(), translated);
        }
 #endif
@@ -902,16 +903,17 @@ docstring const i18npreamble(Language const * lang, Language const * buflang,
 }
 
 
-docstring const Layout::langpreamble(Language const * lang, bool const polyglossia) const
+docstring const Layout::langpreamble(Language const * lang,
+                       Encoding const & enc, bool const polyglossia) const
 {
-       return i18npreamble(lang, lang, langpreamble_, polyglossia);
+       return i18npreamble(lang, enc, langpreamble_, polyglossia);
 }
 
 
 docstring const Layout::babelpreamble(Language const * lang,
-                       Language const * buflang, bool const polyglossia) const
+                       Encoding const & enc, bool const polyglossia) const
 {
-       return i18npreamble(lang, buflang, babelpreamble_, polyglossia);
+       return i18npreamble(lang, enc, babelpreamble_, polyglossia);
 }