commit 87f58708f3f4da53704f0a18561f5953418146d0 Author: Juergen Spitzmueller <sp...@lyx.org> Date: Fri Aug 24 15:02:26 2018 +0200
Fix text direction problem with polyglossia If an RTL language is set via environment in polyglossia, only a nested \\text<lang> command will reset the direction for LTR languages Fixes rest of # 10111. (cherry picked from commit 2d4ac90fd20eac5a32b2d71e7de1d2c92ee2429e) --- src/output_latex.cpp | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/output_latex.cpp b/src/output_latex.cpp index 03b4b44..dbddb6c 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<lang> 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;