Changeset 133362 in webkit
- Timestamp:
- Nov 2, 2012 3:30:14 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r133354 r133362 1 2012-11-02 Stephen Chenney <schenney@chromium.org> 2 3 Reduce redundant code in SimpleFontData[platform] 4 https://bugs.webkit.org/show_bug.cgi?id=97245 5 6 Reviewed by Eric Seidel. 7 8 Move duplicated code out of platform specific files and into the common file. 9 This represents all of the methods in SimpleFontData that do not have genuine 10 platform specific code. 11 12 No new tests because there is no change at all in the functionality. 13 14 * platform/graphics/SimpleFontData.cpp: 15 (WebCore): 16 (WebCore::SimpleFontData::smallCapsFontData): Implementation from platform files. 17 (WebCore::SimpleFontData::emphasisMarkFontData): Implementation from platform files. 18 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 19 (WebCore): Removed common code. 20 * platform/graphics/freetype/SimpleFontDataFreeType.cpp: 21 (WebCore): Removed common code. 22 * platform/graphics/mac/SimpleFontDataMac.mm: 23 (WebCore): Removed common code. 24 * platform/graphics/pango/SimpleFontDataPango.cpp: 25 (WebCore): Removed common code. 26 * platform/graphics/qt/SimpleFontDataQt.cpp: 27 (WebCore): Removed common code. 28 * platform/graphics/skia/SimpleFontDataSkia.cpp: 29 (WebCore): Removed common code. 30 * platform/graphics/win/SimpleFontDataWin.cpp: 31 (WebCore): Removed common code. 32 * platform/graphics/wince/SimpleFontDataWinCE.cpp: 33 (WebCore): Removed common code. 34 * platform/graphics/wx/SimpleFontDataWx.cpp: 35 (WebCore): Removed common code. 36 1 37 2012-11-02 Adam Barth <abarth@webkit.org> 2 38 -
trunk/Source/WebCore/platform/graphics/SimpleFontData.cpp
r130319 r133362 42 42 namespace WebCore { 43 43 44 const float smallCapsFontSizeMultiplier = 0.7f; 45 const float emphasisMarkFontSizeMultiplier = 0.5f; 46 44 47 SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback) 45 48 : m_maxCharWidth(-1) … … 192 195 m_derivedFontData->uprightOrientation = create(m_platformData, isCustomFont(), false, true); 193 196 return m_derivedFontData->uprightOrientation; 197 } 198 199 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const 200 { 201 if (!m_derivedFontData) 202 m_derivedFontData = DerivedFontData::create(isCustomFont()); 203 if (!m_derivedFontData->smallCaps) 204 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFontSizeMultiplier); 205 206 return m_derivedFontData->smallCaps; 207 } 208 209 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const 210 { 211 if (!m_derivedFontData) 212 m_derivedFontData = DerivedFontData::create(isCustomFont()); 213 if (!m_derivedFontData->emphasisMark) 214 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFontSizeMultiplier); 215 216 return m_derivedFontData->emphasisMark; 194 217 } 195 218 -
trunk/Source/WebCore/platform/graphics/chromium/SimpleFontDataChromiumWin.cpp
r130160 r133362 120 120 } 121 121 122 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const123 {124 if (!m_derivedFontData)125 m_derivedFontData = DerivedFontData::create(isCustomFont());126 if (!m_derivedFontData->smallCaps)127 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);128 129 return m_derivedFontData->smallCaps;130 }131 132 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const133 {134 if (!m_derivedFontData)135 m_derivedFontData = DerivedFontData::create(isCustomFont());136 if (!m_derivedFontData->emphasisMark)137 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);138 139 return m_derivedFontData->emphasisMark;140 }141 142 122 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 143 123 { -
trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp
r131073 r133362 99 99 } 100 100 101 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const102 {103 if (!m_derivedFontData)104 m_derivedFontData = DerivedFontData::create(isCustomFont());105 // FIXME: I think we want to ask FontConfig for the right font again.106 if (!m_derivedFontData->smallCaps)107 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);108 109 return m_derivedFontData->smallCaps;110 }111 112 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const113 {114 if (!m_derivedFontData)115 m_derivedFontData = DerivedFontData::create(isCustomFont());116 if (!m_derivedFontData->emphasisMark)117 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);118 119 return m_derivedFontData->emphasisMark;120 }121 122 101 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 123 102 { -
trunk/Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm
r130612 r133362 53 53 namespace WebCore { 54 54 55 const float smallCapsFontSizeMultiplier = 0.7f;56 57 55 static bool fontHasVerticalGlyphs(CTFontRef ctFont) 58 56 { … … 353 351 } 354 352 355 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const356 {357 if (!m_derivedFontData)358 m_derivedFontData = DerivedFontData::create(isCustomFont());359 if (!m_derivedFontData->smallCaps)360 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFontSizeMultiplier);361 362 return m_derivedFontData->smallCaps;363 }364 365 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const366 {367 if (!m_derivedFontData)368 m_derivedFontData = DerivedFontData::create(isCustomFont());369 if (!m_derivedFontData->emphasisMark)370 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5f);371 372 return m_derivedFontData->emphasisMark;373 }374 375 353 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 376 354 { -
trunk/Source/WebCore/platform/graphics/pango/SimpleFontDataPango.cpp
r130160 r133362 93 93 } 94 94 95 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const96 {97 if (!m_derivedFontData)98 m_derivedFontData = DerivedFontData::create(isCustomFont());99 if (!m_derivedFontData->smallCaps)100 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);101 102 return m_derivedFontData->smallCaps;103 }104 105 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const106 {107 if (!m_derivedFontData)108 m_derivedFontData = DerivedFontData::create(isCustomFont());109 if (!m_derivedFontData->emphasisMark)110 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);111 112 return m_derivedFontData->emphasisMark;113 }114 115 95 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 116 96 { -
trunk/Source/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp
r130160 r133362 35 35 } 36 36 37 static const float smallCapsFraction = 0.7;38 static const float emphasisMarkFraction = 0.5;39 40 37 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 41 38 { … … 66 63 const float scaledSize = lroundf(fontDescription.computedSize() * scaleFactor); 67 64 return SimpleFontData::create(FontPlatformData(m_platformData, scaledSize), isCustomFont(), false); 68 }69 70 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const71 {72 if (!m_derivedFontData)73 m_derivedFontData = DerivedFontData::create(isCustomFont());74 if (!m_derivedFontData->smallCaps)75 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFraction);76 77 return m_derivedFontData->smallCaps;78 }79 80 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const81 {82 if (!m_derivedFontData)83 m_derivedFontData = DerivedFontData::create(isCustomFont());84 if (!m_derivedFontData->emphasisMark)85 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFraction);86 87 return m_derivedFontData->emphasisMark;88 65 } 89 66 -
trunk/Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp
r130854 r133362 48 48 namespace WebCore { 49 49 50 // Smallcaps versions of fonts are 70% the size of the normal font.51 static const float smallCapsFraction = 0.7f;52 static const float emphasisMarkFraction = .5;53 50 // This is the largest VDMX table which we'll try to load and parse. 54 51 static const size_t maxVDMXTableSize = 1024 * 1024; // 1 MB … … 184 181 } 185 182 186 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const187 {188 if (!m_derivedFontData)189 m_derivedFontData = DerivedFontData::create(isCustomFont());190 if (!m_derivedFontData->smallCaps)191 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, smallCapsFraction);192 193 return m_derivedFontData->smallCaps;194 }195 196 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const197 {198 if (!m_derivedFontData)199 m_derivedFontData = DerivedFontData::create(isCustomFont());200 if (!m_derivedFontData->emphasisMark)201 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, emphasisMarkFraction);202 203 return m_derivedFontData->emphasisMark;204 }205 206 183 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 207 184 { -
trunk/Source/WebCore/platform/graphics/win/SimpleFontDataWin.cpp
r130160 r133362 149 149 } 150 150 151 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const152 {153 if (!m_derivedFontData)154 m_derivedFontData = DerivedFontData::create(isCustomFont());155 if (!m_derivedFontData->smallCaps)156 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, cSmallCapsFontSizeMultiplier);157 158 return m_derivedFontData->smallCaps;159 }160 161 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const162 {163 if (!m_derivedFontData)164 m_derivedFontData = DerivedFontData::create(isCustomFont());165 if (!m_derivedFontData->emphasisMark)166 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);167 168 return m_derivedFontData->emphasisMark;169 }170 171 151 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 172 152 { -
trunk/Source/WebCore/platform/graphics/wince/SimpleFontDataWinCE.cpp
r130160 r133362 74 74 return 0; 75 75 return SimpleFontData::create(*result); 76 }77 78 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const79 {80 if (!m_derivedFontData)81 m_derivedFontData = DerivedFontData::create(isCustomFont());82 if (!m_derivedFontData->smallCaps)83 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);84 85 return m_derivedFontData->smallCaps;86 }87 88 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const89 {90 if (!m_derivedFontData)91 m_derivedFontData = DerivedFontData::create(isCustomFont());92 if (!m_derivedFontData->emphasisMark)93 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);94 95 return m_derivedFontData->emphasisMark;96 76 } 97 77 -
trunk/Source/WebCore/platform/graphics/wx/SimpleFontDataWx.cpp
r130160 r133362 99 99 } 100 100 101 PassRefPtr<SimpleFontData> SimpleFontData::smallCapsFontData(const FontDescription& fontDescription) const102 {103 if (!m_derivedFontData)104 m_derivedFontData = DerivedFontData::create(isCustomFont());105 if (!m_derivedFontData->smallCaps)106 m_derivedFontData->smallCaps = createScaledFontData(fontDescription, .7);107 108 return m_derivedFontData->smallCaps;109 }110 111 PassRefPtr<SimpleFontData> SimpleFontData::emphasisMarkFontData(const FontDescription& fontDescription) const112 {113 if (!m_derivedFontData)114 m_derivedFontData = DerivedFontData::create(isCustomFont());115 if (!m_derivedFontData->emphasisMark)116 m_derivedFontData->emphasisMark = createScaledFontData(fontDescription, .5);117 118 return m_derivedFontData->emphasisMark;119 }120 121 101 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const 122 102 {
Note: See TracChangeset
for help on using the changeset viewer.