Chromium Code Reviews| Index: Source/platform/fonts/shaping/SimpleShaper.cpp |
| diff --git a/Source/platform/fonts/shaping/SimpleShaper.cpp b/Source/platform/fonts/shaping/SimpleShaper.cpp |
| index 4c18b3a7c158248c407792eb91f0aefd1ff312c6..b0863a91d016a68e4374fb5daae5537fd11a5b5f 100644 |
| --- a/Source/platform/fonts/shaping/SimpleShaper.cpp |
| +++ b/Source/platform/fonts/shaping/SimpleShaper.cpp |
| @@ -30,6 +30,7 @@ |
| #include "platform/fonts/SimpleFontData.h" |
| #include "platform/text/SurrogatePairAwareTextIterator.h" |
| #include "wtf/MathExtras.h" |
| +#include "wtf/unicode/CharacterNames.h" |
| using namespace WTF; |
| using namespace Unicode; |
| @@ -77,7 +78,7 @@ float SimpleShaper::characterWidth(UChar32 character, const GlyphData& glyphData |
| const SimpleFontData* fontData = glyphData.fontData; |
| ASSERT(fontData); |
| - if (UNLIKELY(character == '\t' && m_run.allowTabs())) |
| + if (UNLIKELY(character == characterTabulation && m_run.allowTabs())) |
| return m_font->tabWidth(*fontData, m_run.tabSize(), m_run.xPos() + m_runWidthSoFar); |
| float width = fontData->widthForGlyph(glyphData.glyph); |
| @@ -104,8 +105,9 @@ float SimpleShaper::adjustSpacing(float width, const CharacterData& charData) |
| if (width) |
| width += m_font->fontDescription().letterSpacing(); |
| - bool isExpansionOpportunity = Character::treatAsSpace(charData.character) || (m_run.textJustify() == TextJustifyDistribute); |
| - if (isExpansionOpportunity || (m_run.textJustify() == TextJustifyAuto && Character::isCJKIdeographOrSymbol(charData.character))) { |
| + UChar32 character = charData.character; |
|
eae
2014/12/30 16:29:11
This isn't really needed.
h.joshi
2015/01/04 16:22:35
Okey, removed these changes from new patch.
|
| + bool isExpansionOpportunity = Character::treatAsSpace(character) || (m_run.textJustify() == TextJustifyDistribute); |
| + if (isExpansionOpportunity || (m_run.textJustify() == TextJustifyAuto && Character::isCJKIdeographOrSymbol(character))) { |
| // Distribute the run's total expansion evenly over all expansion opportunities in the run. |
| if (m_expansion) { |
| if (!isExpansionOpportunity && !m_isAfterExpansion) { |
| @@ -126,8 +128,8 @@ float SimpleShaper::adjustSpacing(float width, const CharacterData& charData) |
| // Account for word spacing. |
| // We apply additional space between "words" by adding width to the space character. |
| - if (isExpansionOpportunity && (charData.character != '\t' || !m_run.allowTabs()) |
| - && (charData.characterOffset || charData.character == noBreakSpace) |
| + if (isExpansionOpportunity && (character != characterTabulation || !m_run.allowTabs()) |
| + && (charData.characterOffset || character == noBreakSpace) |
| && m_font->fontDescription().wordSpacing()) { |
| width += m_font->fontDescription().wordSpacing(); |
| } |