]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.cpp
Win installer: updates and fixes
[lyx.git] / src / BufferParams.cpp
index 57c75762ede36a71d213fb316476b9a3b6306d22..011009693b5727375b960e1281a751ee5243af15 100644 (file)
@@ -1747,10 +1747,9 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
 
        // load CJK support package before font selection
        // (see autotests/export/latex/CJK/micro-sign_utf8-cjk-libertine.lyx)
-       if (!useNonTeXFonts && encoding().package() != Encoding::none
+       if (!useNonTeXFonts && encoding().package() != Encoding::none && inputenc != "utf8x"
                && (encoding().package() == Encoding::CJK || features.mustProvide("CJK"))) {
-               if (encoding().iconvName() == "UTF-8"
-                       && LaTeXFeatures::isAvailable("CJKutf8"))
+               if (inputenc == "utf8-cjk" || inputenc == "utf8")
                        os << "\\usepackage{CJKutf8}\n";
                else
                        os << "\\usepackage[encapsulated]{CJK}\n";
@@ -3256,6 +3255,10 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
                case Encoding::none:
                case Encoding::CJK:
                case Encoding::japanese:
+                       if (encoding().iconvName() != "UTF-8")
+                         // don't default to [utf8]{inputenc} with TeXLive >= 18
+                         os << "\\ifdefined\\UseRawInputEncoding\n"
+                                << "  \\UseRawInputEncoding\\fi\n";
                        break;
                case Encoding::inputenc:
                        // do not load inputenc if japanese is used
@@ -3272,6 +3275,11 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
                        break;
                }
        }
+       if (inputenc == "default" or features.isRequired("japanese")) {
+               // don't default to [utf8]{inputenc} with TeXLive >= 18
+               os << "\\ifdefined\\UseRawInputEncoding\n";
+               os << "  \\UseRawInputEncoding\\fi\n";
+       }
 }