// the numbers are written Left-to-Right. ArabTeX package
// and bidi (polyglossia with XeTeX) reorder the number automatically
// but the packages used for Hebrew and Farsi (Arabi) do not.
- if (!(runparams.use_polyglossia && runparams.flavor == OutputParams::XETEX)
+ if (!runparams.useBidiPackage()
&& !runparams.pass_thru
&& bits_.number() == FONT_ON
&& prev.fontInfo().number() != FONT_ON
// the numbers are written Left-to-Right. ArabTeX package
// and bidi (polyglossia with XeTeX) reorder the number automatically
// but the packages used for Hebrew and Farsi (Arabi) do not.
- if (!(runparams.use_polyglossia && runparams.flavor == OutputParams::XETEX)
+ if (!runparams.useBidiPackage()
&& !runparams.pass_thru
&& bits_.number() == FONT_ON
&& next.fontInfo().number() != FONT_ON
bool OutputParams::isFullUnicode() const
{
- return flavor == LUATEX|| flavor == DVILUATEX || flavor == XETEX;
+ return flavor == LUATEX || flavor == DVILUATEX || flavor == XETEX;
+}
+
+
+bool OutputParams::useBidiPackage() const
+{
+ return use_polyglossia && flavor == XETEX;
}
} // namespace lyx
bool isLaTeX() const;
/// does this flavour support full unicode?
bool isFullUnicode() const;
+ /// Do we use the bidi package (which does some reordering and stuff)?
+ bool useBidiPackage() const;
/// Same, but for math output, which only matter is XHTML output.
MathFlavor math_flavor;
// Return unchanged character in LTR languages
// or if we use poylglossia/bidi (XeTeX).
- if ((rp.use_polyglossia && rp.flavor == OutputParams::XETEX)
+ if (rp.useBidiPackage()
|| !getFontSettings(bparams, pos).isRightToLeft())
return c;
// RTL in classic (PDF)LaTeX (without the Bidi package)
// Luabibdi (used by LuaTeX) behaves like classic
bool const rtl_classic = owner_->getParLanguage(bparams)->rightToLeft()
- && (!runparams.use_polyglossia || runparams.flavor != OutputParams::XETEX);
+ && !runparams.useBidiPackage();
switch (curAlign) {
case LYX_ALIGN_NONE:
// RTL in classic (PDF)LaTeX (without the Bidi package)
// Luabibdi (used by LuaTeX) behaves like classic
bool const rtl_classic = owner_->getParLanguage(bparams)->rightToLeft()
- && (!runparams.use_polyglossia || runparams.flavor != OutputParams::XETEX);
+ && !runparams.useBidiPackage();
switch (curAlign) {
case LYX_ALIGN_NONE:
// Luabibdi (used by LuaTeX) behaves like classic
bool const bidi_rtl =
runparams.local_font->isRightToLeft()
- && runparams.use_polyglossia && runparams.flavor == OutputParams::XETEX;
+ && runparams.useBidiPackage();
idx_type lastcell =
bidi_rtl ? getFirstCellInRow(row) : getLastCellInRow(row);
// order for RTL (#9686). Thus we use this list.
bool const bidi_rtl =
runparams.local_font->isRightToLeft()
- && runparams.use_polyglossia && runparams.flavor == OutputParams::XETEX;
+ && runparams.useBidiPackage();
list<col_type> columns;
for (col_type cl = 0; cl < ncols(); ++cl) {
if (bidi_rtl)