From 485f07088775a013d791970f38331edf91102119 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sat, 21 Jul 2018 15:50:35 +0200 Subject: [PATCH] Fix nesting problem with numbers in RTL text \textcolor must precede any \beginL Fixes: #6283 (cherry picked from commit 114ebf00c4f12c8acf39b52e057f9a63a98dd58b) --- src/Font.cpp | 29 ++++++++++++++--------------- status.23x | 2 ++ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/Font.cpp b/src/Font.cpp index b810e454d4..79f0e2ed2d 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -347,21 +347,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_; @@ -411,6 +396,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; diff --git a/status.23x b/status.23x index 54a9cfd0c0..c18c116f19 100644 --- a/status.23x +++ b/status.23x @@ -274,6 +274,8 @@ What's new - Fix insertion of quotation marks and brackets in RTL languages (bugs 11188 and 11187). +- Fix nesting problem with numbers in RTL text (bug 6283). + * INTERNALS -- 2.39.5