]> git.lyx.org Git - features.git/commitdiff
Use LTR environment for forceLTR content with polyglossia
authorJuergen Spitzmueller <spitz@lyx.org>
Fri, 28 Sep 2018 06:36:44 +0000 (08:36 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Fri, 28 Sep 2018 06:36:44 +0000 (08:36 +0200)
Fixes: #10548
src/Paragraph.cpp

index 6410d570853afec660e81ff245edbe423ec354ee..fa3418229be66f6406fc92d1491de2c8b0bc5d5e 100644 (file)
@@ -1143,13 +1143,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;
@@ -1206,10 +1210,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) {