| Index: Source/platform/fonts/WidthIterator.cpp
|
| diff --git a/Source/platform/fonts/WidthIterator.cpp b/Source/platform/fonts/WidthIterator.cpp
|
| index 4775b50094e4ce8adf140433e1bb14d899d16000..8816fd8158fde2c8bcb73270715bf0ecc6f6a7f5 100644
|
| --- a/Source/platform/fonts/WidthIterator.cpp
|
| +++ b/Source/platform/fonts/WidthIterator.cpp
|
| @@ -59,7 +59,7 @@ WidthIterator::WidthIterator(const Font* font, const TextRun& run, HashSet<const
|
| m_expansionPerOpportunity = 0;
|
| else {
|
| bool isAfterExpansion = m_isAfterExpansion;
|
| - unsigned expansionOpportunityCount = m_run.is8Bit() ? Character::expansionOpportunityCount(m_run.characters8(), m_run.length(), m_run.ltr() ? LTR : RTL, isAfterExpansion) : Character::expansionOpportunityCount(m_run.characters16(), m_run.length(), m_run.ltr() ? LTR : RTL, isAfterExpansion);
|
| + unsigned expansionOpportunityCount = m_run.is8Bit() ? Character::expansionOpportunityCount(m_run.characters8(), m_run.length(), m_run.direction(), isAfterExpansion) : Character::expansionOpportunityCount(m_run.characters16(), m_run.length(), m_run.direction(), isAfterExpansion);
|
| if (isAfterExpansion && !m_run.allowsTrailingExpansion())
|
| expansionOpportunityCount--;
|
|
|
| @@ -98,7 +98,7 @@ public:
|
|
|
| typedef Vector<pair<int, OriginalAdvancesForCharacterTreatedAsSpace>, 64> CharactersTreatedAsSpace;
|
|
|
| -static inline float applyFontTransforms(GlyphBuffer* glyphBuffer, bool ltr, unsigned& lastGlyphCount, const SimpleFontData* fontData, TypesettingFeatures typesettingFeatures, CharactersTreatedAsSpace& charactersTreatedAsSpace)
|
| +static inline float applyFontTransforms(GlyphBuffer* glyphBuffer, unsigned& lastGlyphCount, TypesettingFeatures typesettingFeatures, CharactersTreatedAsSpace& charactersTreatedAsSpace)
|
| {
|
| ASSERT(typesettingFeatures & (Kerning | Ligatures));
|
|
|
| @@ -178,7 +178,7 @@ inline unsigned WidthIterator::advanceInternal(TextIterator& textIterator, Glyph
|
|
|
| if (fontData != lastFontData && width) {
|
| if (shouldApplyFontTransforms())
|
| - m_runWidthSoFar += applyFontTransforms(glyphBuffer, m_run.ltr(), lastGlyphCount, lastFontData, m_typesettingFeatures, charactersTreatedAsSpace);
|
| + m_runWidthSoFar += applyFontTransforms(glyphBuffer, lastGlyphCount, m_typesettingFeatures, charactersTreatedAsSpace);
|
|
|
| lastFontData = fontData;
|
| if (m_fallbackFonts && fontData != primaryFont) {
|
| @@ -299,7 +299,7 @@ inline unsigned WidthIterator::advanceInternal(TextIterator& textIterator, Glyph
|
| }
|
|
|
| if (shouldApplyFontTransforms())
|
| - m_runWidthSoFar += applyFontTransforms(glyphBuffer, m_run.ltr(), lastGlyphCount, lastFontData, m_typesettingFeatures, charactersTreatedAsSpace);
|
| + m_runWidthSoFar += applyFontTransforms(glyphBuffer, lastGlyphCount, m_typesettingFeatures, charactersTreatedAsSpace);
|
|
|
| unsigned consumedCharacters = textIterator.currentCharacter() - m_currentCharacter;
|
| m_currentCharacter = textIterator.currentCharacter();
|
|
|