]> git.lyx.org Git - lyx.git/blobdiff - src/output_latex.cpp
Update bindfiles to latest fileformat
[lyx.git] / src / output_latex.cpp
index 0b45b5ae1c48605ba67443fb717630203e719a55..31211d1c8554cc01c6897cfe9bc2aaadc1a30e72 100644 (file)
@@ -523,7 +523,8 @@ void TeXOnePar(Buffer const & buf,
               string const & everypar,
               int start_pos, int end_pos)
 {
-       BufferParams const & bparams = buf.params();
+       BufferParams const & bparams = runparams_in.is_child
+               ? buf.masterParams() : buf.params();
        ParagraphList const & paragraphs = text.paragraphs();
        Paragraph const & par = paragraphs.at(pit);
        // FIXME This check should not really be needed.
@@ -1196,8 +1197,12 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
 {
        Encoding const & oldEnc = *runparams.encoding;
        bool moving_arg = runparams.moving_arg;
-       if (!force && ((bparams.inputenc != "auto" && bparams.inputenc != "default")
-               || moving_arg))
+       // If we switch from/to CJK, we need to switch anyway, despite custom inputenc
+       bool const from_to_cjk = 
+               (oldEnc.package() == Encoding::CJK && newEnc.package() != Encoding::CJK)
+               || (oldEnc.package() != Encoding::CJK && newEnc.package() == Encoding::CJK);
+       if (!force && !from_to_cjk
+           && ((bparams.inputenc != "auto" && bparams.inputenc != "default") || moving_arg))
                return make_pair(false, 0);
 
        // Do nothing if the encoding is unchanged.