From: Juergen Spitzmueller Date: Fri, 24 Aug 2018 13:02:26 +0000 (+0200) Subject: Fix text direction problem with polyglossia X-Git-Tag: 2.3.2~78 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=87f58708f3f4da53704f0a18561f5953418146d0;p=features.git Fix text direction problem with polyglossia If an RTL language is set via environment in polyglossia, only a nested \\text command will reset the direction for LTR languages Fixes rest of # 10111. (cherry picked from commit 2d4ac90fd20eac5a32b2d71e7de1d2c92ee2429e) --- diff --git a/src/output_latex.cpp b/src/output_latex.cpp index 03b4b44e55..dbddb6c01b 100644 --- a/src/output_latex.cpp +++ b/src/output_latex.cpp @@ -831,9 +831,13 @@ void TeXOnePar(Buffer const & buf, os << '{'; } - // In some insets (such as Arguments), we cannot use \selectlanguage + // In some insets (such as Arguments), we cannot use \selectlanguage. + // Also, if an RTL language is set via environment in polyglossia, + // only a nested \\text command will reset the direction for LTR + // languages (see # 10111). bool const localswitch = text.inset().forceLocalFontSwitch() - || (using_begin_end && text.inset().forcePlainLayout()); + || (using_begin_end && text.inset().forcePlainLayout()) + || (use_polyglossia && outer_language->rightToLeft() && !par_language->rightToLeft()); if (localswitch) { lang_begin_command = use_polyglossia ? "\\text$$lang$$opts{" : lyxrc.language_command_local;