// With CJK, only add switch if we have CJK content at the beginning
// of the paragraph
if (encoding->package() != Encoding::CJK || i == 0) {
- OutputParams tmp_rp = runparams;
- runparams.moving_arg = false;
pair<bool, int> enc_switch = switchEncoding(os, bparams, runparams,
*encoding);
- runparams = tmp_rp;
// the following is necessary after a CJK environment in a multilingual
// context (nesting issue).
if (par_language->encoding()->package() == Encoding::CJK &&
break;
}
- // fall through possible
+ // fall through possible
default:
// we don't need it for the last paragraph!!!
if (nextpit != paragraphs.end())
// If this is the last paragraph, and a local_font was set upon entering
// the inset, and we're using "auto" or "default" encoding, the encoding
// should be set back to that local_font's encoding.
+ // However, do not change the encoding when XeTeX is used.
if (nextpit == paragraphs.end() && runparams_in.local_font != 0
&& runparams_in.encoding != runparams_in.local_font->language()->encoding()
- && (bparams.inputenc == "auto" || bparams.inputenc == "default")) {
+ && (bparams.inputenc == "auto" || bparams.inputenc == "default")
+ && (!bparams.useXetex)) {
runparams_in.encoding = runparams_in.local_font->language()->encoding();
os << setEncoding(runparams_in.encoding->iconvName());
}
// FIXME This check should not be needed. We should
// perhaps issue an error if it is.
Layout const & layout = par->forcePlainLayout() ?
- tclass.plainLayout() :
- par->layout();
+ tclass.plainLayout() : par->layout();
if (layout.intitle) {
if (already_title) {