Changeset 95445 in webkit


Ignore:
Timestamp:
Sep 19, 2011 11:27:34 AM (13 years ago)
Author:
caryclark@google.com
Message:

Move fontDataForCombiningCharacterSequence to fix Skia on Mac build
https://bugs.webkit.org/show_bug.cgi?id=68358

Reviewed by Dan Bernstein.

No new tests.

  • platform/graphics/mac/FontMac.mm:
  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence):
This moves the implementation from FontMac.mm to
FontComplexTextMac.cpp, so it is visible to the Skia on Mac
platform as well.

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r95440 r95445  
     12011-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
    1172011-09-19  Jessie Berlin  <jberlin@apple.com>
    218
  • trunk/Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp

    r89733 r95445  
    126126}
    127127
     128const 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
    128162} // namespace WebCore
  • trunk/Source/WebCore/platform/graphics/mac/FontMac.mm

    r95391 r95445  
    250250}
    251251
    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.