]> git.lyx.org Git - features.git/commitdiff
CJKutf8 is only to be used with the dedicated utf8-cjk encoding
authorJuergen Spitzmueller <spitz@lyx.org>
Wed, 9 Jan 2019 07:29:41 +0000 (08:29 +0100)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 18 Jun 2020 12:39:55 +0000 (14:39 +0200)
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 8de7bc5a7522cab889252b5d298ee71ff28f8b26..7b2c0886a14e589f670fd7a1ccce62e93333663e 100644 (file)
@@ -3276,7 +3276,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 55e6c67d1d73374705d17df701a67dc4a574ba5a..af7d5c971c762262b938edf477aab15831e58e02 100644 (file)
@@ -307,7 +307,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());
@@ -999,7 +999,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());
@@ -1406,8 +1406,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());
@@ -1605,7 +1607,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);
@@ -1677,7 +1679,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());