Fix nesting problem with numbers in RTL text

\textcolor must precede any \beginL

Fixes: #6283
This commit is contained in:
Juergen Spitzmueller 2018-07-21 15:50:35 +02:00
parent 8e9e050670
commit 114ebf00c4

View File

@ -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;