#include "LyXRC.h"
#include "output_latex.h"
#include "OutputParams.h"
+#include "texstream.h"
#include "support/lassert.h"
#include "support/convert.h"
tmp += "{";
os << from_ascii(tmp);
count += tmp.length();
+ pushPolyglossiaLang(language()->polyglossia(), true);
} else if (language()->encoding()->package() != Encoding::CJK) {
os << '{';
count += 1;
// the numbers are written Left-to-Right. ArabTeX package
// reorders the number automatically but the packages used
// for Hebrew and Farsi (Arabi) do not.
- if (bits_.number() == FONT_ON && prev.fontInfo().number() != FONT_ON
- && (language()->lang() == "hebrew"
- || language()->lang() == "farsi"
- || language()->lang() == "arabic_arabi")) {
+ if (!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.underbar() == FONT_ON) {
os << "\\uline{";
count += 10;
- runparams.inulemcmd = true;
+ ++runparams.inulemcmd;
}
if (f.strikeout() == FONT_ON) {
os << "\\sout{";
count += 9;
- runparams.inulemcmd = true;
+ ++runparams.inulemcmd;
}
if (f.uuline() == FONT_ON) {
os << "\\uuline{";
count += 11;
- runparams.inulemcmd = true;
+ ++runparams.inulemcmd;
}
if (f.uwave() == FONT_ON) {
os << "\\uwave{";
count += 10;
- runparams.inulemcmd = true;
+ ++runparams.inulemcmd;
}
return count;
}
if (f.underbar() == FONT_ON) {
os << '}';
++count;
- runparams.inulemcmd = false;
+ --runparams.inulemcmd;
}
if (f.strikeout() == FONT_ON) {
os << '}';
++count;
- runparams.inulemcmd = false;
+ --runparams.inulemcmd;
}
if (f.uuline() == FONT_ON) {
os << '}';
++count;
- runparams.inulemcmd = false;
+ --runparams.inulemcmd;
}
if (f.uwave() == FONT_ON) {
os << '}';
++count;
- runparams.inulemcmd = false;
+ --runparams.inulemcmd;
}
// If the current language is Hebrew, Arabic, or Farsi
// the numbers are written Left-to-Right. ArabTeX package
// reorders the number automatically but the packages used
// for Hebrew and Farsi (Arabi) do not.
- if (bits_.number() == FONT_ON && next.fontInfo().number() != FONT_ON
- && (language()->lang() == "hebrew"
- || language()->lang() == "farsi"
- || language()->lang() == "arabic_arabi")) {
+ if (!runparams.pass_thru && bits_.number() == FONT_ON
+ && next.fontInfo().number() != FONT_ON
+ && (language()->lang() == "hebrew"
+ || language()->lang() == "farsi"
+ || language()->lang() == "arabic_arabi")) {
os << "\\endL}";
count += 6;
}
&& language()->encoding()->package() != Encoding::CJK) {
os << '}';
++count;
+ if (runparams.use_polyglossia)
+ popPolyglossiaLang();
}
return count;
case Color_latex:
case Color_notelabel:
break;
+ case Color_brown:
+ case Color_darkgray:
+ case Color_gray:
+ case Color_lightgray:
+ case Color_lime:
+ case Color_olive:
+ case Color_orange:
+ case Color_pink:
+ case Color_purple:
+ case Color_teal:
+ case Color_violet:
+ features.require("xcolor");
+ break;
default:
features.require("color");
LYXERR(Debug::LATEX, "Color enabled. Font: " << to_utf8(stateText(0)));