Index: Source/platform/fonts/WidthIterator.cpp |
diff --git a/Source/platform/fonts/WidthIterator.cpp b/Source/platform/fonts/WidthIterator.cpp |
index 4bf89a4749c080461bc15b075642ae7634363f86..13dae23e3c1bebd14bbf58da08a7320166dd882c 100644 |
--- a/Source/platform/fonts/WidthIterator.cpp |
+++ b/Source/platform/fonts/WidthIterator.cpp |
@@ -246,9 +246,12 @@ inline unsigned WidthIterator::advanceInternal(TextIterator& textIterator, Glyph |
m_isAfterExpansion = false; |
} |
- if (shouldApplyFontTransforms() && glyphBuffer && Character::treatAsSpace(character)) |
+ if (shouldApplyFontTransforms() && glyphBuffer && Character::treatAsSpace(character)) { |
charactersTreatedAsSpace.append(make_pair(glyphBuffer->size(), |
- OriginalAdvancesForCharacterTreatedAsSpace(character == ' ', glyphBuffer->size() ? glyphBuffer->advanceAt(glyphBuffer->size() - 1) : 0, width))); |
+ OriginalAdvancesForCharacterTreatedAsSpace(character == ' ', |
+ glyphBuffer->size() ? glyphBuffer->advanceAt(glyphBuffer->size() - 1).width() : 0, |
+ width))); |
+ } |
if (m_accountForGlyphBounds) { |
bounds = fontData->boundsForGlyph(glyph); |
@@ -337,7 +340,7 @@ bool WidthIterator::advanceOneCharacter(float& width, GlyphBuffer& glyphBuffer) |
advance(m_currentCharacter + 1, &glyphBuffer); |
float w = 0; |
for (unsigned i = oldSize; i < glyphBuffer.size(); ++i) |
- w += glyphBuffer.advanceAt(i); |
+ w += glyphBuffer.advanceAt(i).width(); |
width = w; |
return glyphBuffer.size() > oldSize; |
} |