| Index: Source/platform/fonts/shaping/HarfBuzzShaper.cpp
|
| diff --git a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
|
| index 7c8631223207d2132ba201fe01c4cc373191b7ba..2740aa29d6b3f891027acdda5cafcce2cc14397a 100644
|
| --- a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
|
| +++ b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp
|
| @@ -1017,6 +1017,13 @@ float HarfBuzzShaper::fillGlyphBufferForTextEmphasis(GlyphBuffer* glyphBuffer, H
|
| uint16_t currentCharacterIndex = currentRun->startIndex() + glyphToCharacterIndexes[i];
|
| bool isRunEnd = (i + 1 == numGlyphs);
|
| bool isClusterEnd = isRunEnd || (currentRun->startIndex() + glyphToCharacterIndexes[i + 1] != currentCharacterIndex);
|
| +
|
| + if ((m_run.rtl() && currentCharacterIndex >= m_toIndex) || (!m_run.rtl() && currentCharacterIndex < m_fromIndex)) {
|
| + advanceSoFar += advances[i];
|
| + m_run.rtl() ? --clusterStart : ++clusterStart;
|
| + continue;
|
| + }
|
| +
|
| clusterAdvance += advances[i];
|
|
|
| if (isClusterEnd) {
|
|
|