]> git.lyx.org Git - lyx.git/commitdiff
inputenc only expects one option
authorJuergen Spitzmueller <spitz@lyx.org>
Sat, 17 Dec 2022 14:04:54 +0000 (15:04 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Sat, 17 Dec 2022 14:14:47 +0000 (15:14 +0100)
File switches with documents are done via \inputencoding.
Other than with fontenc, these do not need to be laoded via options
beforehand.

Also, out current code loaded the additional languages' encoding last,
which might result in wrong encoding settings.

src/BufferParams.cpp

index f1425b83354277384b7e38e39554b3a97df7d461..71390d747960d026484d4e81b55010f6463cdf83 100644 (file)
@@ -3394,35 +3394,15 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
                Encoding::Package const package =
                        language->encoding()->package();
 
-               // Create list of inputenc options:
-               set<string> encoding_set;
-               // luainputenc fails with more than one encoding
-               if (features.runparams().flavor != Flavor::LuaTeX
-                       && features.runparams().flavor != Flavor::DviLuaTeX)
-                       // list all input encodings used in the document
-                       encoding_set = features.getEncodingSet(doc_encoding);
-
                // The "japanese" babel-language requires  the pLaTeX engine
                // which conflicts with "inputenc".
                // See http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129680.html
-               if ((!encoding_set.empty() || package == Encoding::inputenc)
+               if (package == Encoding::inputenc
                    && !features.isRequired("japanese")
                    && !features.isProvided("inputenc")) {
-                       os << "\\usepackage[";
-                       set<string>::const_iterator it = encoding_set.begin();
-                       set<string>::const_iterator const end = encoding_set.end();
-                       if (it != end) {
-                               os << from_ascii(*it);
-                               ++it;
-                       }
-                       for (; it != end; ++it)
-                               os << ',' << from_ascii(*it);
-                       if (package == Encoding::inputenc) {
-                               if (!encoding_set.empty())
-                                       os << ',';
-                               os << from_ascii(doc_encoding);
-                       }
-                       if (features.runparams().flavor == Flavor::LuaTeX
+                       os << "\\usepackage["
+                          << from_ascii(doc_encoding);
+                       if (features.runparams().flavor == Flavor::LuaTeX
                            || features.runparams().flavor == Flavor::DviLuaTeX)
                                os << "]{luainputenc}\n";
                        else