Index: Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
diff --git a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
index 44fcb3245b14168d38ef1e73f4016025a5fbcc78..64f31044708cba9bb1d2af23a293126787b3a5be 100644 |
--- a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
+++ b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
@@ -579,9 +579,10 @@ static inline bool collectCandidateRuns(const UChar* normalizedBuffer, |
if (Character::treatAsZeroWidthSpace(character)) |
continue; |
if ((U_GET_GC_MASK(character) & U_GC_M_MASK) |
- && currentFontData->canRenderCombiningCharacterSequence( |
- currentCharacterPosition, |
- iterator.glyphEnd() - currentCharacterPosition)) |
+ && (Character::isUnicodeVariationSelector(character) |
+ || currentFontData->canRenderCombiningCharacterSequence( |
+ currentCharacterPosition, |
+ iterator.glyphEnd() - currentCharacterPosition))) |
continue; |
nextFontData = font->glyphDataForCharacter(character, false, isSpaceNormalize).fontData; |