Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1773)

Unified Diff: third_party/WebKit/WebCore/platform/graphics/SimpleFontData.cpp

Issue 18529: Removing unneeded code from SimpleFontData. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/WebCore/platform/graphics/SimpleFontData.cpp
===================================================================
--- third_party/WebKit/WebCore/platform/graphics/SimpleFontData.cpp (revision 8457)
+++ third_party/WebKit/WebCore/platform/graphics/SimpleFontData.cpp (working copy)
@@ -52,8 +52,6 @@
, m_isCustomFont(customFont)
, m_isLoading(loading)
, m_smallCapsFontData(0)
- , m_zeroWidthFontData(new ZeroWidthFontData())
- , m_cjkWidthFontData(new CJKWidthFontData())
{
#if ENABLE(SVG_FONTS)
if (SVGFontFaceElement* svgFontFaceElement = svgFontData ? svgFontData->svgFontFaceElement() : 0) {
@@ -80,8 +78,6 @@
determinePitch();
m_missingGlyphData.fontData = this;
m_missingGlyphData.glyph = 0;
- m_zeroWidthFontData->init(this);
- m_cjkWidthFontData->init(this);
return;
}
#endif
@@ -102,8 +98,6 @@
determinePitch();
m_missingGlyphData.fontData = this;
m_missingGlyphData.glyph = 0;
- m_zeroWidthFontData->init(this);
- m_cjkWidthFontData->init(this);
return;
}
@@ -117,13 +111,6 @@
determinePitch();
m_adjustedSpaceWidth = m_treatAsFixedPitch ? ceilf(width) : roundf(width);
- // TODO(dglazkov): Investigate and implement across platforms, if needed
-#if PLATFORM(WIN_OS)
- // ZERO WIDTH SPACES are explicitly mapped to share the glyph
- // with SPACE (with width adjusted to 0) during GlyphPage::fill
- // This is currently only implemented for Windows port. The FontData
- // remapping may very well be needed for other platforms.
-#else
// Force the glyph for ZERO WIDTH SPACE to have zero width, unless it is shared with SPACE.
// Helvetica is an example of a non-zero width ZERO WIDTH SPACE glyph.
// See <http://bugs.webkit.org/show_bug.cgi?id=13178>
@@ -136,26 +123,12 @@
else
LOG_ERROR("Font maps SPACE and ZERO WIDTH SPACE to the same glyph. Glyph width not overridden.");
}
-#endif
m_missingGlyphData.fontData = this;
m_missingGlyphData.glyph = 0;
- m_zeroWidthFontData->init(this);
- m_cjkWidthFontData->init(this);
}
#endif
-SimpleFontData::SimpleFontData()
- : m_treatAsFixedPitch(false)
-#if ENABLE(SVG_FONTS)
- , m_svgFontData(0)
-#endif
- , m_isCustomFont(0)
- , m_isLoading(0)
- , m_smallCapsFontData(0)
-{
-}
-
SimpleFontData::~SimpleFontData()
{
if (!isCustomFont()) {
@@ -194,78 +167,4 @@
return false;
}
-const SimpleFontData* SimpleFontData::zeroWidthFontData() const
-{
- return m_zeroWidthFontData.get();
-}
-
-const SimpleFontData* SimpleFontData::cjkWidthFontData() const
-{
- return m_cjkWidthFontData.get();
-}
-
-void ZeroWidthFontData::init(SimpleFontData* fontData)
-{
- m_font = fontData->m_font;
- m_smallCapsFontData = fontData->m_smallCapsFontData;
- m_ascent = fontData->m_ascent;
- m_descent = fontData->m_descent;
- m_lineSpacing = fontData->m_lineSpacing;
- m_lineGap = fontData->m_lineGap;
- m_maxCharWidth = 0;
- m_avgCharWidth = 0;
- m_xHeight = fontData->m_xHeight;
- m_unitsPerEm = fontData->m_unitsPerEm;
- m_spaceWidth = 0;
- m_spaceGlyph = 0;
- m_adjustedSpaceWidth = fontData->m_adjustedSpaceWidth;
-#if PLATFORM(WIN)
- m_scriptCache = 0;
- m_scriptFontProperties = 0;
-#elif USE(ATSUI)
- m_ATSUStyle = 0;
- m_ATSUStyleInitialized = false;
- m_ATSUMirrors = false;
- m_checkedShapesArabic = false;
- m_shapesArabic = false;
-#endif
-}
-
-CJKWidthFontData::CJKWidthFontData()
- : m_cjkGlyphWidth(cGlyphWidthUnknown)
-{
-}
-
-float CJKWidthFontData::widthForGlyph(Glyph glyph) const
-{
- if (m_cjkGlyphWidth != cGlyphWidthUnknown)
- return m_cjkGlyphWidth;
-
- float width = platformWidthForGlyph(glyph);
- m_cjkGlyphWidth = width;
-
-#ifndef NDEBUG
- // Test our optimization that assuming all CGK glyphs have the same width
- const float actual_width = platformWidthForGlyph(glyph);
- ASSERT((cGlyphWidthUnknown == width) || (actual_width == width));
-#endif
-
- return width;
-}
-
-// static
-// TODO(dglazkov): Move to Font::isCJKCodePoint for consistency
-bool SimpleFontData::isCJKCodePoint(UChar32 c)
-{
- // AC00..D7AF; Hangul Syllables
- if ((0xAC00 <= c) && (c <= 0xD7AF))
- return true;
-
- // CJK ideographs
- UErrorCode errorCode = U_ZERO_ERROR; // has to be initialized.
- return uscript_getScript(c, &errorCode) == USCRIPT_HAN &&
- U_SUCCESS(errorCode);
-}
-
-
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698