diff options
Diffstat (limited to 'src/gui/text/qtextlayout.cpp')
-rw-r--r-- | src/gui/text/qtextlayout.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 00206ba624..e1bbca609e 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -1022,6 +1022,8 @@ QList<QGlyphRun> QTextLayout::glyphRuns(int from, int length) const flags |= QTextItem::Overline; if (glyphRun.strikeOut()) flags |= QTextItem::StrikeOut; + if (glyphRun.isRightToLeft()) + flags |= QTextItem::RightToLeft; QPair<QFontEngine *, int> key(fontEngine, int(flags)); // merge the glyph runs using the same font if (glyphRunHash.contains(key)) { @@ -2181,6 +2183,8 @@ static QGlyphRun glyphRunWithInfo(QFontEngine *fontEngine, const QGlyphLayout &g glyphRun.setOverline(flags.testFlag(QTextItem::Overline)); glyphRun.setUnderline(flags.testFlag(QTextItem::Underline)); glyphRun.setStrikeOut(flags.testFlag(QTextItem::StrikeOut)); + if (flags.testFlag(QTextItem::RightToLeft)) + glyphRun.setRightToLeft(true); glyphRun.setRawFont(font); glyphRun.setBoundingRect(QRectF(selectionX.toReal(), minY, selectionWidth.toReal(), height)); |