diff --git a/src/rowpainter.cpp b/src/rowpainter.cpp index a9f8352df0..c33bd79917 100644 --- a/src/rowpainter.cpp +++ b/src/rowpainter.cpp @@ -360,6 +360,14 @@ void RowPainter::paintChars(pos_type & vpos, FontInfo const & font, } +void RowPainter::paintSeparator(double orig_x, double width, + FontInfo const & font) +{ + pi_.pain.textDecoration(font, int(orig_x), yo_, int(width)); + x_ += width; +} + + void RowPainter::paintForeignMark(double orig_x, Language const * lang, int desc) { @@ -937,9 +945,10 @@ void RowPainter::paintText() if (par_.isSeparator(pos)) { Font const orig_font = text_metrics_.displayFont(pit_, pos); double const orig_x = x_; - x_ += width_pos; + double separator_width = width_pos; if (pos >= body_pos) - x_ += row_.separator; + separator_width += row_.separator; + paintSeparator(orig_x, separator_width, orig_font.fontInfo()); paintForeignMark(orig_x, orig_font.language()); ++vpos; diff --git a/src/rowpainter.h b/src/rowpainter.h index 7a43ef774f..480a2dd56c 100644 --- a/src/rowpainter.h +++ b/src/rowpainter.h @@ -58,6 +58,7 @@ public: void paintSelection(); private: + void paintSeparator(double orig_x, double width, FontInfo const & font); void paintForeignMark(double orig_x, Language const * lang, int desc = 0); void paintMisspelledMark(double orig_x, bool changed); void paintHebrewComposeChar(pos_type & vpos, FontInfo const & font);