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(); |
} |