*/
// 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
+ // and bidi (polyglossia with XeTeX) reorder the number automatically
// but the packages used for Hebrew and Farsi (Arabi) do not.
- if (!runparams.use_polyglossia
+ if (!runparams.useBidiPackage()
&& !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 (runparams.use_polyglossia) {
+ // LuaTeX/luabidi
+ os << "\\LR{";
+ count += 5;
+ } else {
+ os << "{\\beginL ";
+ count += 9;
+ }
}
if (f.emph() == FONT_ON) {
os << "\\emph{";
count += 6;
env = true; //We have opened a new environment
}
- if (f.size() != FONT_SIZE_INHERIT) {
+ if (f.size() != INHERIT_SIZE) {
// If we didn't open an environment above, we open one here
if (!env) {
os << '{';
++count;
env = true; // Size change need not bother about closing env.
}
- if (f.size() != FONT_SIZE_INHERIT) {
+ if (f.size() != INHERIT_SIZE) {
// We only have to close if only size changed
if (!env) {
if (needPar && !closeLanguage) {
// 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
+ // and bidi (polyglossia with XeTeX) reorder the number automatically
// but the packages used for Hebrew and Farsi (Arabi) do not.
- if (!runparams.use_polyglossia
+ if (!runparams.useBidiPackage()
&& !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;
+ if (runparams.use_polyglossia) {
+ // LuaTeX/luabidi
+ os << "}";
+ count += 1;
+ } else {
+ os << "\\endL}";
+ count += 6;
+ }
}
if (open_encoding_) {
if (closeLanguage
&& language() != base.language() && language() != next.language()
- && (language()->encoding()->package() != Encoding::CJK
- || bparams.useNonTeXFonts)) {
+ && (language()->encoding()->package() != Encoding::CJK)) {
os << '}';
++count;
bool const using_begin_end =