Index: Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
diff --git a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
index 90d7f243a8486c0e13432444a9031393d30c86c7..ed89ad65ee5a185d67df80dfd42dc93237a0fa4f 100644 |
--- a/Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
+++ b/Source/platform/fonts/shaping/HarfBuzzShaper.cpp |
@@ -839,7 +839,8 @@ bool HarfBuzzShaper::shapeHarfBuzzRuns() |
CachedShapingResults* cachedResults = runCache.find(key); |
if (cachedResults) { |
- if (cachedResults->dir == currentRun->direction() && cachedResults->font == *m_font && cachedResults->locale == localeString) { |
+ if (cachedResults->dir == currentRun->direction() && cachedResults->font == *m_font |
+ && !cachedResults->font.loadingCustomFonts() && !m_font->loadingCustomFonts() && cachedResults->locale == localeString) { |
currentRun->applyShapeResult(cachedResults->buffer); |
setGlyphPositionsForHarfBuzzRun(currentRun, cachedResults->buffer); |