commit 114ebf00c4f12c8acf39b52e057f9a63a98dd58b
Author: Juergen Spitzmueller <[email protected]>
Date:   Sat Jul 21 15:50:35 2018 +0200

    Fix nesting problem with numbers in RTL text
    
    \textcolor must precede any \beginL
    
    Fixes: #6283
---
 src/Font.cpp |   29 ++++++++++++++---------------
 1 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/Font.cpp b/src/Font.cpp
index b8a6a29..549f4b8 100644
--- a/src/Font.cpp
+++ b/src/Font.cpp
@@ -349,21 +349,6 @@ int Font::latexWriteStartChanges(odocstream & os, 
BufferParams const & bparams,
                }
        }
 
-       // If the current language is Hebrew, Arabic, or Farsi
-       // the numbers are written Left-to-Right. ArabTeX package
-       // and bidi (polyglossia) reorder the number automatically
-       // but the packages used for Hebrew and Farsi (Arabi) do not.
-       if (!runparams.use_polyglossia
-           && !runparams.pass_thru
-           && bits_.number() == FONT_ON
-           && prev.fontInfo().number() != FONT_ON
-           && (language()->lang() == "hebrew"
-               || language()->lang() == "farsi"
-               || language()->lang() == "arabic_arabi")) {
-               os << "{\\beginL ";
-               count += 9;
-       }
-
        FontInfo f = bits_;
        f.reduce(base.bits_);
        FontInfo p = bits_;
@@ -413,6 +398,20 @@ int Font::latexWriteStartChanges(odocstream & os, 
BufferParams const & bparams,
                env = true; //We have opened a new environment
        }
        */
+       // If the current language is Hebrew, Arabic, or Farsi
+       // the numbers are written Left-to-Right. ArabTeX package
+       // and bidi (polyglossia) reorder the number automatically
+       // but the packages used for Hebrew and Farsi (Arabi) do not.
+       if (!runparams.use_polyglossia
+           && !runparams.pass_thru
+           && bits_.number() == FONT_ON
+           && prev.fontInfo().number() != FONT_ON
+           && (language()->lang() == "hebrew"
+               || language()->lang() == "farsi"
+               || language()->lang() == "arabic_arabi")) {
+               os << "{\\beginL ";
+               count += 9;
+       }
        if (f.emph() == FONT_ON) {
                os << "\\emph{";
                count += 6;

Reply via email to