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;

Reply via email to