]> git.lyx.org Git - lyx.git/blobdiff - src/Bidi.cpp
adjust
[lyx.git] / src / Bidi.cpp
index 5c482776c86b3bbf5a93b7c743231945aee57012..9287bc09b5af680cf240b4dbdcb875b55d09d28d 100644 (file)
@@ -60,7 +60,7 @@ void Bidi::computeTables(Paragraph const & par,
                return;
        }
 
-       if (par.ownerCode() == Inset::ERT_CODE || par.ownerCode() == Inset::LISTINGS_CODE) {
+       if (par.ownerCode() == ERT_CODE || par.ownerCode() == LISTINGS_CODE) {
                start_ = -1;
                return;
        }
@@ -88,14 +88,21 @@ void Bidi::computeTables(Paragraph const & par,
 
        BufferParams const & bufparams = buf.params();
        pos_type stack[2];
-       bool const rtl_par = par.isRightToLeftPar(bufparams);
+       bool const rtl_par = par.isRTL(bufparams);
        int lev = 0;
        bool rtl = false;
        bool rtl0 = false;
        pos_type const body_pos = par.beginOfBody();
 
        for (pos_type lpos = start_; lpos <= end_; ++lpos) {
-               bool is_space = par.isLineSeparator(lpos);
+               bool is_space = false;
+               // We do not handle spaces around an RTL segment in a special way anymore.
+               // Neither do we do so when generating the LaTeX, so setting is_space
+               // to false makes the view in the GUI consistent with the output of LaTeX 
+               // later. The old setting was:
+               //bool is_space = par.isLineSeparator(lpos);
+               // FIXME: once we're sure that this is what we really want, we should just
+               // get rid of this variable...
                pos_type const pos =
                        (is_space && lpos + 1 <= end_ &&
                         !par.isLineSeparator(lpos + 1) &&
@@ -191,7 +198,7 @@ bool Bidi::isBoundary(Buffer const & buf, Paragraph const & par,
        bool const rtl = level(pos - 1) % 2;
        bool const rtl2 = inRange(pos)
                ? level(pos) % 2
-               : par.isRightToLeftPar(buf.params());
+               : par.isRTL(buf.params());
        return rtl != rtl2;
 }
 
@@ -205,7 +212,7 @@ bool Bidi::isBoundary(Buffer const & buf, Paragraph const & par,
        bool const rtl = font.isVisibleRightToLeft();
        bool const rtl2 = inRange(pos)
                ? level(pos) % 2
-               : par.isRightToLeftPar(buf.params());
+               : par.isRTL(buf.params());
        return rtl != rtl2;
 }
 
@@ -219,15 +226,13 @@ bool reverseDirectionNeeded(Cursor const & cur)
         * within a paragraph, and thus avoid situations in which the
         * cursor gets stuck.
         */
-       return cur.bottom().paragraph().isRightToLeftPar(
-                       cur.bv().buffer()->params());
+       return cur.bottom().paragraph().isRTL(cur.bv().buffer().params());
 }
 
 
 bool isWithinRtlParagraph(Cursor const & cur)
 {
-       return cur.innerParagraph().isRightToLeftPar(
-               cur.bv().buffer()->params());
+       return cur.innerParagraph().isRTL(cur.bv().buffer().params());
 }
 
 } // namespace lyx