#include "BufferParams.h"
#include "BufferView.h"
#include "DispatchResult.h"
+#include "Font.h"
#include "FuncCode.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
return '[' + label + ']';
}
+
+bool InsetCitation::forceLTR(OutputParams const & rp) const
+{
+ // We have to force LTR for numeric references
+ // [= plain BibTeX, numeric natbib and biblatex].
+ // Except for XeTeX/bidi . See #3005.
+ if (rp.local_font->isRightToLeft()
+ && rp.use_polyglossia
+ && rp.flavor == OutputParams::XETEX)
+ return false;
+ return (buffer().masterParams().citeEngine().list().front() == "basic"
+ || buffer().masterParams().citeEngineType() == ENGINE_TYPE_NUMERICAL);
+}
+
docstring InsetCitation::screenLabel() const
{
return cache.screen_label;
UpdateType utype, TocBackend & backend) const;
///
std::string contextMenuName() const;
+ ///
+ bool forceLTR(OutputParams const &) const;
//@}
/// \name Static public methods obligated for InsetCommand derived classes
- Fix direction of roman numbers with RTL documents and LuaTeX.
+- Fix direction of numbered citations outside XeTeX/bidi (bug 3005).
+
- Fix direction of references with XeTeX/bidi (bug 11626).
- Fix interplay of the memoir class and custom page size/geometry (bug 10970).