Index: Source/platform/fonts/Font.cpp |
diff --git a/Source/platform/fonts/Font.cpp b/Source/platform/fonts/Font.cpp |
index 6cb92ab2b5087fc8661662665fade0c81b56d565..154fae7514dab94747a2b317267aca5b97e1e43e 100644 |
--- a/Source/platform/fonts/Font.cpp |
+++ b/Source/platform/fonts/Font.cpp |
@@ -427,7 +427,7 @@ static inline std::pair<GlyphData, GlyphPage*> glyphDataAndPageForNonCJKCharacte |
return std::make_pair(data, page); |
} |
-std::pair<GlyphData, GlyphPage*> Font::glyphDataAndPageForCharacter(UChar32 c, bool mirror, FontDataVariant variant) const |
+std::pair<GlyphData, GlyphPage*> Font::glyphDataAndPageForCharacter(UChar32& c, bool mirror, bool normalizeSpace, FontDataVariant variant) const |
{ |
ASSERT(isMainThread()); |
@@ -445,6 +445,9 @@ std::pair<GlyphData, GlyphPage*> Font::glyphDataAndPageForCharacter(UChar32 c, b |
} |
} |
+ if (normalizeSpace && Character::isNormalizedCanvasSpaceCharacter(c)) |
+ c = space; |
+ |
if (mirror) |
c = mirroredChar(c); |
@@ -602,7 +605,8 @@ bool Font::getEmphasisMarkGlyphData(const AtomicString& mark, GlyphData& glyphDa |
character = U16_GET_SUPPLEMENTARY(character, low); |
} |
- glyphData = glyphDataForCharacter(character, false, EmphasisMarkVariant); |
+ bool normalizeSpace = false; |
+ glyphData = glyphDataForCharacter(character, false, normalizeSpace, EmphasisMarkVariant); |
return true; |
} |