open_encoding_ = false;
}
- if (closeLanguage &&
- language() != base.language() && language() != next.language()) {
+ if (closeLanguage
+ && language() != base.language() && language() != next.language()
+ && language()->encoding()->package() != Encoding::CJK) {
os << '}';
++count;
}
// FIXME: Do something for background and soul package?
- if (lang_->babel() != doc_language->babel() &&
- lang_ != ignore_language &&
- lang_ != latex_language)
+ if (((features.usePolyglossia() && lang_->polyglossia() != doc_language->polyglossia())
+ || (features.useBabel(true) && lang_->babel() != doc_language->babel()))
+ && lang_ != ignore_language
+ && lang_ != latex_language)
{
features.useLanguage(lang_);
LYXERR(Debug::LATEX, "Found language " << lang_->lang());