Changeset 95445 in webkit
- Timestamp:
- Sep 19, 2011 11:27:34 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r95440 r95445 1 2011-09-19 Cary Clark <caryclark@google.com> 2 3 Move fontDataForCombiningCharacterSequence to fix Skia on Mac build 4 https://bugs.webkit.org/show_bug.cgi?id=68358 5 6 Reviewed by Dan Bernstein. 7 8 No new tests. 9 10 * platform/graphics/mac/FontMac.mm: 11 * platform/graphics/mac/FontComplexTextMac.cpp: 12 (WebCore::Font::fontDataForCombiningCharacterSequence): 13 This moves the implementation from FontMac.mm to 14 FontComplexTextMac.cpp, so it is visible to the Skia on Mac 15 platform as well. 16 1 17 2011-09-19 Jessie Berlin <jberlin@apple.com> 2 18 -
trunk/Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp
r89733 r95445 126 126 } 127 127 128 const SimpleFontData* Font::fontDataForCombiningCharacterSequence(const UChar* characters, size_t length, FontDataVariant variant) const 129 { 130 UChar32 baseCharacter; 131 size_t baseCharacterLength = 0; 132 U16_NEXT(characters, baseCharacterLength, length, baseCharacter); 133 134 GlyphData baseCharacterGlyphData = glyphDataForCharacter(baseCharacter, false, variant); 135 136 if (length == baseCharacterLength) 137 return baseCharacterGlyphData.glyph ? baseCharacterGlyphData.fontData : 0; 138 139 bool triedBaseCharacterFontData = false; 140 141 unsigned i = 0; 142 for (const FontData* fontData = fontDataAt(0); fontData; fontData = fontDataAt(++i)) { 143 const SimpleFontData* simpleFontData = fontData->fontDataForCharacter(baseCharacter); 144 if (variant != NormalVariant) { 145 if (const SimpleFontData* variantFontData = simpleFontData->variantFontData(m_fontDescription, variant)) 146 simpleFontData = variantFontData; 147 } 148 149 if (simpleFontData == baseCharacterGlyphData.fontData) 150 triedBaseCharacterFontData = true; 151 152 if (simpleFontData->canRenderCombiningCharacterSequence(characters, length)) 153 return simpleFontData; 154 } 155 156 if (!triedBaseCharacterFontData && baseCharacterGlyphData.fontData && baseCharacterGlyphData.fontData->canRenderCombiningCharacterSequence(characters, length)) 157 return baseCharacterGlyphData.fontData; 158 159 return 0; 160 } 161 128 162 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/mac/FontMac.mm
r95391 r95445 250 250 } 251 251 252 const SimpleFontData* Font::fontDataForCombiningCharacterSequence(const UChar* characters, size_t length, FontDataVariant variant) const 253 { 254 UChar32 baseCharacter; 255 size_t baseCharacterLength = 0; 256 U16_NEXT(characters, baseCharacterLength, length, baseCharacter); 257 258 GlyphData baseCharacterGlyphData = glyphDataForCharacter(baseCharacter, false, variant); 259 260 if (length == baseCharacterLength) 261 return baseCharacterGlyphData.glyph ? baseCharacterGlyphData.fontData : 0; 262 263 bool triedBaseCharacterFontData = false; 264 265 unsigned i = 0; 266 for (const FontData* fontData = fontDataAt(0); fontData; fontData = fontDataAt(++i)) { 267 const SimpleFontData* simpleFontData = fontData->fontDataForCharacter(baseCharacter); 268 if (variant != NormalVariant) { 269 if (const SimpleFontData* variantFontData = simpleFontData->variantFontData(m_fontDescription, variant)) 270 simpleFontData = variantFontData; 271 } 272 273 if (simpleFontData == baseCharacterGlyphData.fontData) 274 triedBaseCharacterFontData = true; 275 276 if (simpleFontData->canRenderCombiningCharacterSequence(characters, length)) 277 return simpleFontData; 278 } 279 280 if (!triedBaseCharacterFontData && baseCharacterGlyphData.fontData && baseCharacterGlyphData.fontData->canRenderCombiningCharacterSequence(characters, length)) 281 return baseCharacterGlyphData.fontData; 282 283 return 0; 284 } 285 286 } 252 }
Note: See TracChangeset
for help on using the changeset viewer.