diff options
Diffstat (limited to 'src/gui/text/qtextengine.cpp')
| -rw-r--r-- | src/gui/text/qtextengine.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 29fda652ef6..41d2d417133 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1414,7 +1414,7 @@ void QTextEngine::shapeText(int item) const #endif bool letterSpacingIsAbsolute; bool shapingEnabled = false; - QHash<QFont::Tag, quint32> features; + QMap<QFont::Tag, quint32> features; QFixed letterSpacing, wordSpacing; #ifndef QT_NO_RAWFONT if (useRawFont) { @@ -1610,7 +1610,7 @@ int QTextEngine::shapeTextWithHarfbuzzNG(const QScriptItem &si, const ushort *st int stringBaseIndex, int stringLength, int itemLength, QFontEngine *fontEngine, QSpan<uint> itemBoundaries, bool kerningEnabled, bool hasLetterSpacing, - const QHash<QFont::Tag, quint32> &fontFeatures) const + const QMap<QFont::Tag, quint32> &fontFeatures) const { uint glyphs_shaped = 0; @@ -1746,7 +1746,7 @@ int QTextEngine::shapeTextWithHarfbuzzNG(const QScriptItem &si, const ushort *st // fix up clusters so that the cluster indices will be monotonic // and thus we never return out-of-order indices - while (last_cluster++ < cluster && str_pos < item_length) + for (uint j = last_cluster; j < cluster && str_pos < item_length; ++j) log_clusters[str_pos++] = last_glyph_pos; last_glyph_pos = i + glyphs_shaped; last_cluster = cluster; |
