return_value = false;
}
- if (allowcust && d->endTeXParParams(bparams, os, texrow, runparams))
+ if (allowcust && d->endTeXParParams(bparams, os, texrow, runparams)
+ && runparams.encoding != prev_encoding) {
runparams.encoding = prev_encoding;
+ if (!bparams.useXetex)
+ os << setEncoding(prev_encoding->iconvName());
+ }
LYXERR(Debug::LATEX, "Paragraph::latex... done " << this);
return return_value;
os << "\\end{" << from_ascii(style.latexname()) << "}\n";
texrow.newline();
prev_env_language_ = par_language;
- runparams.encoding = prev_encoding;
+ if (runparams.encoding != prev_encoding) {
+ runparams.encoding = prev_encoding;
+ if (!bparams.useXetex)
+ os << setEncoding(prev_encoding->iconvName());
+ }
}
if (leftindent_open) {
os << "\\end{LyXParagraphLeftIndent}\n";
texrow.newline();
prev_env_language_ = par_language;
- runparams.encoding = prev_encoding;
+ if (runparams.encoding != prev_encoding) {
+ runparams.encoding = prev_encoding;
+ if (!bparams.useXetex)
+ os << setEncoding(prev_encoding->iconvName());
+ }
}
if (par != paragraphs.end())
os << "\\par}";
} else if (is_command) {
os << '}';
- runparams.encoding = prev_encoding;
+ if (runparams.encoding != prev_encoding) {
+ runparams.encoding = prev_encoding;
+ if (!bparams.useXetex)
+ os << setEncoding(prev_encoding->iconvName());
+ }
}
bool pending_newline = false;