diff options
author | Feng Qian <> | 2009-04-10 18:11:29 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-04-10 18:11:29 -0700 |
commit | 8f72e70a9fd78eec56623b3a62e68f16b7b27e28 (patch) | |
tree | 181bf9a400c30a1bf34ea6d72560e8d00111d549 /WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp | |
parent | 7ed56f225e0ade046e1c2178977f72b2d896f196 (diff) | |
download | external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.zip external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.gz external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.bz2 |
AI 145796: Land the WebKit merge @r42026.
Automated import of CL 145796
Diffstat (limited to 'WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp')
-rw-r--r-- | WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp b/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp index 4c5cf7b..31c5256 100644 --- a/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp +++ b/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp @@ -147,27 +147,17 @@ static bool fillBMPGlyphs(unsigned offset, // When this character should be a space, we ignore whatever the font // says and use a space. Otherwise, if fonts don't map one of these // space or zero width glyphs, we will get a box. - if (Font::treatAsSpace(c)) + if (Font::treatAsSpace(c)) { // Hard code the glyph indices for characters that should be // treated like spaces. glyph = initSpaceGlyph(dc, &spaceGlyph); - else if (Font::treatAsZeroWidthSpace(c) || c == 0x200B) { - // FIXME: change Font::treatAsZeroWidthSpace to use - // u_hasBinaryProperty, per jungshik's comment here: - // https://bugs.webkit.org/show_bug.cgi?id=20237#c6. - // Then the additional OR above won't be necessary. - glyph = initSpaceGlyph(dc, &spaceGlyph); - glyphFontData = fontData->zeroWidthFontData(); } else if (glyph == invalidGlyph) { // WebKit expects both the glyph index and FontData // pointer to be 0 if the glyph is not present glyph = 0; glyphFontData = 0; - } else { - if (SimpleFontData::isCJKCodePoint(c)) - glyphFontData = fontData->cjkWidthFontData(); + } else haveGlyphs = true; - } page->setGlyphDataForCharacter(offset + i, glyph, glyphFontData); } @@ -205,6 +195,7 @@ static bool fillNonBMPGlyphs(unsigned offset, fontData->m_font.scriptCache(), fontData->m_font.scriptFontProperties()); state.setInhibitLigate(true); + state.setDisableFontFallback(true); state.init(); for (unsigned i = 0; i < length; i++) { |