]> git.lyx.org Git - features.git/commitdiff
CJKutf8 is only to be used with the dedicated utf8-cjk encoding
authorJuergen Spitzmueller <spitz@lyx.org>
Sat, 12 Jan 2019 16:40:19 +0000 (17:40 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Sat, 12 Jan 2019 16:40:19 +0000 (17:40 +0100)
cherry-picked from 9982651fd684577e977d85d0bc54bea65d8c3ff1

lib/examples/ko/splash.lyx
src/BufferParams.cpp
src/output_latex.cpp

index 831f6bb4a0acc8652ba15218d37dc62f8c47c183..ca01186ef00d5048821036ad02f3a0922c405316 100644 (file)
@@ -9,7 +9,7 @@
 \maintain_unincluded_children false
 \language korean
 \language_package default
-\inputencoding utf8
+\inputencoding utf8-cjk
 \fontencoding OT1
 \font_roman "default" "NanumMyeongjo"
 \font_sans "default" "NanumGothic"
index acf95207d1676905ae572bf817aa06d623666cf0..199c9370e87b2576d9a0b91e4cd57417988fc4c7 100644 (file)
@@ -3283,7 +3283,7 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
                // Load the CJK package if needed by a secondary language.
                // If the main encoding is some variant of UTF8, use CJKutf8.
                if (encoding().package() != Encoding::CJK && features.mustProvide("CJK")) {
-                       if (encoding().iconvName() == "UTF-8"
+                       if (language->encoding()->name() == "utf8-cjk"
                            && LaTeXFeatures::isAvailable("CJKutf8"))
                                os << "\\usepackage{CJKutf8}\n";
                        else
index fce573e1abe60776a83336da72f7a83889340965..22748ec79f068cde4c36395140cf921488746da5 100644 (file)
@@ -299,7 +299,7 @@ static TeXEnvironmentData prepareEnvironment(Buffer const & buf,
        if (data.par_language->encoding()->package() == Encoding::CJK &&
            state->open_encoding_ != CJK && pit->isMultiLingual(bparams)) {
                if (prev_par_language->encoding()->package() == Encoding::CJK) {
-                       docstring const cjkenc = (bparams.encoding().iconvName() == "UTF-8"
+                       docstring const cjkenc = (bparams.encoding().name() == "utf8-cjk"
                                                  && LaTeXFeatures::isAvailable("CJKutf8")) ?
                                                        from_ascii("UTF8")
                                                      : from_ascii(data.par_language->encoding()->latexName());
@@ -977,7 +977,7 @@ void TeXOnePar(Buffer const & buf,
                        // context (nesting issue).
                        if (par_language->encoding()->package() == Encoding::CJK
                                && state->open_encoding_ != CJK && state->cjk_inherited_ == 0) {
-                               docstring const cjkenc = (bparams.encoding().iconvName() == "UTF-8"
+                               docstring const cjkenc = (bparams.encoding().name() == "utf8-cjk"
                                                          && LaTeXFeatures::isAvailable("CJKutf8")) ?
                                                                from_ascii("UTF8")
                                                              : from_ascii(par_language->encoding()->latexName());
@@ -1384,8 +1384,10 @@ void latexParagraphs(Buffer const & buf,
        // (but not in child documents)
        OutputState * state = getOutputState();
        if (maintext && !is_child && !bparams.useNonTeXFonts
-           && bparams.language->encoding()->package() == Encoding::CJK) {
-               docstring const cjkenc = (bparams.encoding().iconvName() == "UTF-8"
+           && bparams.language->encoding()->package() == Encoding::CJK
+           && (bparams.encoding().name() == "utf8-cjk"
+               || bparams.encoding().iconvName() != "UTF-8")) {
+               docstring const cjkenc = (bparams.encoding().name() == "utf8-cjk"
                                          && LaTeXFeatures::isAvailable("CJKutf8")) ?
                                                from_ascii("UTF8")
                                              : from_ascii(bparams.encoding().latexName());
@@ -1583,7 +1585,7 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
        bool const from_to_cjk =
                ((oldEnc.package() == Encoding::CJK && newEnc.package() != Encoding::CJK)
                || (oldEnc.package() != Encoding::CJK && newEnc.package() == Encoding::CJK))
-               && (bparams.inputenc != "utf8" && LaTeXFeatures::isAvailable("CJKutf8"));
+               && (bparams.encoding().name() != "utf8-cjk" || !LaTeXFeatures::isAvailable("CJKutf8"));
        if (!force && !from_to_cjk
            && ((bparams.inputenc != "auto" && bparams.inputenc != "default") || moving_arg))
                return make_pair(false, 0);
@@ -1655,7 +1657,7 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
                                os << "\\egroup";
                                count += 7;
                        }
-                       docstring const cjkenc = (bparams.encoding().iconvName() == "UTF-8"
+                       docstring const cjkenc = (bparams.encoding().name() == "utf8-cjk"
                                                  && LaTeXFeatures::isAvailable("CJKutf8")) ?
                                                        from_ascii("UTF8")
                                                      : from_ascii(bparams.encoding().latexName());