X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FRowPainter.cpp;h=c8b9157f3c52dcb17389e98e10b861e4d39a78bd;hb=0762b52334d8a455a8c2ed08f5cc6ce6d67a35d9;hp=6e4cf31ac10eed23dd7016d30067091ec4fd27b1;hpb=7b9dc7bc9e26b26d15ca4c3e5b2d0383ea97733f;p=lyx.git diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp index 6e4cf31ac1..c8b9157f3c 100644 --- a/src/RowPainter.cpp +++ b/src/RowPainter.cpp @@ -458,8 +458,16 @@ void RowPainter::paintTopLevelLabel() const double x = x_; if (layout.labeltype == LABEL_CENTERED) { - x += (tm_.width() - row_.left_margin - row_.right_margin) / 2; - x -= fm.width(str) / 2; + /* Currently, x points at row_.left_margin (which contains the + * indent). First remove that, and then center the title with + * respect to the left and right margins. + */ + int const leftm = row_.isRTL() ? tm_.rightMargin(row_.pit()) + : tm_.leftMargin(row_.pit()); + int const rightm = row_.isRTL() ? tm_.leftMargin(row_.pit()) + : tm_.rightMargin(row_.pit()); + x += leftm - row_.left_margin + (tm_.width() - leftm -rightm) / 2 + - fm.width(str) / 2; } else if (row_.isRTL()) { x = xo_ + tm_.width() - row_.right_margin - fm.width(str); }