Force LTR for numeric citations

Fixes: #3005
(cherry picked from commit cce9adc185)
This commit is contained in:
Juergen Spitzmueller 2019-08-11 08:15:57 +02:00
parent 7c35081d0c
commit 1030c70b48
3 changed files with 19 additions and 0 deletions

View File

@ -19,6 +19,7 @@
#include "BufferParams.h" #include "BufferParams.h"
#include "BufferView.h" #include "BufferView.h"
#include "DispatchResult.h" #include "DispatchResult.h"
#include "Font.h"
#include "FuncCode.h" #include "FuncCode.h"
#include "FuncRequest.h" #include "FuncRequest.h"
#include "FuncStatus.h" #include "FuncStatus.h"
@ -443,6 +444,20 @@ docstring InsetCitation::basicLabel(bool for_xhtml) const
return '[' + label + ']'; 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 docstring InsetCitation::screenLabel() const
{ {
return cache.screen_label; return cache.screen_label;

View File

@ -70,6 +70,8 @@ public:
UpdateType utype, TocBackend & backend) const; UpdateType utype, TocBackend & backend) const;
/// ///
std::string contextMenuName() const; std::string contextMenuName() const;
///
bool forceLTR(OutputParams const &) const;
//@} //@}
/// \name Static public methods obligated for InsetCommand derived classes /// \name Static public methods obligated for InsetCommand derived classes

View File

@ -90,6 +90,8 @@ What's new
- Fix direction of roman numbers with RTL documents and LuaTeX. - 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 direction of references with XeTeX/bidi (bug 11626).
- Fix interplay of the memoir class and custom page size/geometry (bug 10970). - Fix interplay of the memoir class and custom page size/geometry (bug 10970).