commit a754912e88f75ff726e3e9f3fb98c058b43b5879
Author: Juergen Spitzmueller <[email protected]>
Date:   Fri Sep 28 08:36:44 2018 +0200

    Use LTR environment for forceLTR content with polyglossia
    
    Fixes: #10548
    (cherry picked from commit 10c06f67c936d8a259b03f00084fd4969f17582b)
---
 src/Paragraph.cpp |   18 +++++++++++-------
 status.23x        |    3 +++
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index ba31b21..53121a2 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -1090,13 +1090,17 @@ void Paragraph::Private::latexInset(BufferParams const 
& bparams,
        odocstream::pos_type const len = os.os().tellp();
 
        if (inset->forceLTR()
-           && !runparams.use_polyglossia
            && running_font.isRightToLeft()
            // ERT is an exception, it should be output with no
            // decorations at all
            && inset->lyxCode() != ERT_CODE) {
-               if (running_font.language()->lang() == "farsi")
-                       os << "\\beginL" << termcmd;
+               if (runparams.use_polyglossia) {
+                       if (style.isCommand())
+                               os << "\\LR{";
+                       os << "\\begin{LTR}";
+               } else if (running_font.language()->lang() == "farsi"
+                          || running_font.language()->lang() == "arabic_arabi")
+                       os << "\\textLR{" << termcmd;
                else
                        os << "\\L{";
                close = true;
@@ -1153,10 +1157,10 @@ void Paragraph::Private::latexInset(BufferParams const 
& bparams,
        }
 
        if (close) {
-               if (running_font.language()->lang() == "farsi")
-                               os << "\\endL" << termcmd;
-                       else
-                               os << '}';
+               if (runparams.use_polyglossia && !style.isCommand())
+                       os << "\\end{LTR}";
+               else
+                       os << '}';
        }
 
        if (os.texrow().rows() > previous_row_count) {
diff --git a/status.23x b/status.23x
index 7b3d5af..b116ea9 100644
--- a/status.23x
+++ b/status.23x
@@ -101,6 +101,9 @@ What's new
 - Fix text direction problem with polyglossia with nested languages
   (part of bug 10111).
 
+- Use LTR environment for forceLTR content in RTL context with
+  polyglossia (bug 10548).
+
 - Fix output of key symbols with info inset on the Mac (bug 10641).
 
 - Fix output of table cells with multiple languages (bug 11128).

Reply via email to