return start_ == -1 || (start_ <= pos && pos <= end_);
}
+
bool Bidi::same_direction() const
{
return same_direction_;
Buffer const & buf, Row const & row)
{
same_direction_ = true;
- if (!lyxrc.rtl_support) {
- start_ = -1;
- return;
- }
- if (par.ownerCode() == ERT_CODE || par.ownerCode() == LISTINGS_CODE) {
+ if (par.inInset().forceLTR()) {
start_ = -1;
return;
}
pos_type const pos =
(is_space && lpos + 1 <= end_ &&
!par.isLineSeparator(lpos + 1) &&
+ !par.isEnvSeparator(lpos + 1) &&
!par.isNewline(lpos + 1))
? lpos + 1 : lpos;
bool Bidi::isBoundary(Buffer const & buf, Paragraph const & par,
pos_type pos) const
{
- if (!lyxrc.rtl_support || pos == 0)
+ if (pos == 0)
return false;
if (!inRange(pos - 1)) {
bool Bidi::isBoundary(Buffer const & buf, Paragraph const & par,
pos_type pos, Font const & font) const
{
- if (!lyxrc.rtl_support)
- return false; // This is just for speedup
-
bool const rtl = font.isVisibleRightToLeft();
bool const rtl2 = inRange(pos)
? level(pos) % 2