X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBidi.cpp;h=d00b8eb72dada03a17df1f93f148deb2d4ba2bd6;hb=a01ff241e2b9e9894fe2d8942b3b00fa380f939b;hp=9287bc09b5af680cf240b4dbdcb875b55d09d28d;hpb=f7b1c86393d890d5d473279d88e26bb78f8c1275;p=lyx.git diff --git a/src/Bidi.cpp b/src/Bidi.cpp index 9287bc09b5..d00b8eb72d 100644 --- a/src/Bidi.cpp +++ b/src/Bidi.cpp @@ -13,6 +13,7 @@ #include "Bidi.h" #include "Buffer.h" #include "BufferView.h" +#include "Cursor.h" #include "Font.h" #include "Row.h" #include "LyXRC.h" @@ -110,9 +111,9 @@ void Bidi::computeTables(Paragraph const & par, ? lpos + 1 : lpos; Font font = par.getFontSettings(bufparams, pos); if (pos != lpos && 0 < lpos && rtl0 && font.isRightToLeft() && - font.number() == Font::ON && - par.getFontSettings(bufparams, lpos - 1).number() - == Font::ON) { + font.fontInfo().number() == FONT_ON && + par.getFontSettings(bufparams, lpos - 1).fontInfo().number() + == FONT_ON) { font = par.getFontSettings(bufparams, lpos); is_space = false; } @@ -127,10 +128,11 @@ void Bidi::computeTables(Paragraph const & par, new_level = rtl_par ? 1 : 0; new_rtl0 = rtl_par; new_rtl = rtl_par; - } else if (new_rtl0) + } else if (new_rtl0) { new_level = new_rtl ? 1 : 2; - else + } else { new_level = rtl_par ? 2 : 0; + } if (is_space && new_level >= lev) { new_level = lev; @@ -147,8 +149,9 @@ void Bidi::computeTables(Paragraph const & par, log2vis_list_[lpos - start_] = rtl ? -1 : 1; if (new_level > 0 && !rtl_par) same_direction_ = false; - } else + } else { log2vis_list_[lpos - start_] = new_rtl ? -1 : 1; + } rtl = new_rtl; rtl0 = new_rtl0; levels_[lpos - start_] = new_level;