Changeset 177847 in webkit


Ignore:
Timestamp:
Jan 1, 2015 12:49:32 PM (9 years ago)
Author:
Antti Koivisto
Message:

Remove FontData::containsCharacters
https://bugs.webkit.org/show_bug.cgi?id=140026

Reviewed by Dan Bernstein.

This virtual function has no clients.

  • platform/graphics/FontData.h:
  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::containsCharacter): Deleted.
(WebCore::SegmentedFontData::containsCharacters): Deleted.

  • platform/graphics/SegmentedFontData.h:
  • platform/graphics/SimpleFontData.h:
  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::containsCharacters): Deleted.

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::containsCharacters): Deleted.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::containsCharacters): Deleted.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::containsCharacters): Deleted.

Location:
trunk/Source/WebCore
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r177846 r177847  
     12015-01-01  Antti Koivisto  <antti@apple.com>
     2
     3        Remove FontData::containsCharacters
     4        https://bugs.webkit.org/show_bug.cgi?id=140026
     5
     6        Reviewed by Dan Bernstein.
     7
     8        This virtual function has no clients.
     9
     10        * platform/graphics/FontData.h:
     11        * platform/graphics/SegmentedFontData.cpp:
     12        (WebCore::SegmentedFontData::containsCharacter): Deleted.
     13        (WebCore::SegmentedFontData::containsCharacters): Deleted.
     14        * platform/graphics/SegmentedFontData.h:
     15        * platform/graphics/SimpleFontData.h:
     16        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
     17        (WebCore::SimpleFontData::containsCharacters): Deleted.
     18        * platform/graphics/ios/SimpleFontDataIOS.mm:
     19        (WebCore::SimpleFontData::containsCharacters): Deleted.
     20        * platform/graphics/mac/SimpleFontDataMac.mm:
     21        (WebCore::SimpleFontData::containsCharacters): Deleted.
     22        * platform/graphics/win/SimpleFontDataWin.cpp:
     23        (WebCore::SimpleFontData::containsCharacters): Deleted.
     24
    1252015-01-01  Darin Adler  <darin@apple.com>
    226
  • trunk/Source/WebCore/platform/graphics/FontData.h

    r174558 r177847  
    4949
    5050    virtual const SimpleFontData* fontDataForCharacter(UChar32) const = 0;
    51     virtual bool containsCharacters(const UChar*, int length) const = 0;
    5251    virtual bool isCustomFont() const = 0;
    5352    virtual bool isLoading() const = 0;
  • trunk/Source/WebCore/platform/graphics/SegmentedFontData.cpp

    r177637 r177847  
    4949}
    5050
    51 bool SegmentedFontData::containsCharacter(UChar32 c) const
    52 {
    53     Vector<FontDataRange>::const_iterator end = m_ranges.end();
    54     for (Vector<FontDataRange>::const_iterator it = m_ranges.begin(); it != end; ++it) {
    55         if (c >= it->from() && c <= it->to())
    56             return true;
    57     }
    58     return false;
    59 }
    60 
    61 bool SegmentedFontData::containsCharacters(const UChar* characters, int length) const
    62 {
    63     UChar32 c;
    64     for (int i = 0; i < length; ) {
    65         U16_NEXT(characters, i, length, c)
    66         if (!containsCharacter(c))
    67             return false;
    68     }
    69     return true;
    70 }
    71 
    7251bool SegmentedFontData::isCustomFont() const
    7352{
  • trunk/Source/WebCore/platform/graphics/SegmentedFontData.h

    r174558 r177847  
    7171
    7272    virtual const SimpleFontData* fontDataForCharacter(UChar32) const;
    73     virtual bool containsCharacters(const UChar*, int length) const;
    7473
    7574    virtual bool isCustomFont() const;
    7675    virtual bool isLoading() const;
    7776    virtual bool isSegmented() const;
    78 
    79     bool containsCharacter(UChar32) const;
    8077
    8178    Vector<FontDataRange, 1> m_ranges;
  • trunk/Source/WebCore/platform/graphics/SimpleFontData.h

    r177737 r177847  
    167167
    168168    virtual const SimpleFontData* fontDataForCharacter(UChar32) const override;
    169     virtual bool containsCharacters(const UChar*, int length) const override;
    170169
    171170    Glyph glyphForCharacter(UChar32) const;
  • trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp

    r177737 r177847  
    117117}
    118118
    119 bool SimpleFontData::containsCharacters(const UChar* characters, int bufferLength) const
    120 {
    121     ASSERT(m_platformData.scaledFont());
    122     FT_Face face = cairo_ft_scaled_font_lock_face(m_platformData.scaledFont());
    123     if (!face)
    124         return false;
    125 
    126     UTF16UChar32Iterator iterator(characters, bufferLength);
    127     UChar32 character = iterator.next();
    128     while (character != iterator.end()) {
    129         if (!FcFreeTypeCharIndex(face, character)) {
    130             cairo_ft_scaled_font_unlock_face(m_platformData.scaledFont());
    131             return false;
    132         }
    133         character = iterator.next();
    134     }
    135 
    136     cairo_ft_scaled_font_unlock_face(m_platformData.scaledFont());
    137     return true;
    138 }
    139 
    140119void SimpleFontData::determinePitch()
    141120{
  • trunk/Source/WebCore/platform/graphics/ios/SimpleFontDataIOS.mm

    r176298 r177847  
    168168}
    169169
    170 bool SimpleFontData::containsCharacters(const UChar*, int) const
    171 {
    172     return false;
    173 }
    174 
    175170void SimpleFontData::determinePitch()
    176171{
  • trunk/Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm

    r177737 r177847  
    322322    return 0;
    323323}
    324 #endif // !PLATFORM(IOS)
    325 
    326 #if !PLATFORM(IOS)
    327 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    328 {
    329     NSString *string = [[NSString alloc] initWithCharactersNoCopy:const_cast<unichar*>(characters) length:length freeWhenDone:NO];
    330     NSCharacterSet *set = [[m_platformData.nsFont() coveredCharacterSet] invertedSet];
    331     bool result = set && [string rangeOfCharacterFromSet:set].location == NSNotFound;
    332     [string release];
    333     return result;
    334 }
    335324
    336325void SimpleFontData::determinePitch()
  • trunk/Source/WebCore/platform/graphics/win/SimpleFontDataWin.cpp

    r176298 r177847  
    140140}
    141141
    142 bool SimpleFontData::containsCharacters(const UChar* characters, int length) const
    143 {
    144     // FIXME: Support custom fonts.
    145     if (isCustomFont())
    146         return false;
    147 
    148     // FIXME: Microsoft documentation seems to imply that characters can be output using a given font and DC
    149     // merely by testing code page intersection.  This seems suspect though.  Can't a font only partially
    150     // cover a given code page?
    151     IMLangFontLinkType* langFontLink = fontCache().getFontLinkInterface();
    152     if (!langFontLink)
    153         return false;
    154 
    155     HWndDC dc(0);
    156 
    157     DWORD acpCodePages;
    158     if (FAILED(langFontLink->CodePageToCodePages(CP_ACP, &acpCodePages))) {
    159         WTFLogAlways("SimpleFontData::containsCharacters: Unable to convert to CP_ACP code page.");
    160         return false;
    161     }
    162 
    163     DWORD fontCodePages;
    164     if (FAILED(langFontLink->GetFontCodePages(dc, m_platformData.hfont(), &fontCodePages))) {
    165         WTFLogAlways("SimpleFontData::containsCharacters: Unable to find matching code page for specified font.");
    166         return false;
    167     }
    168 
    169     DWORD actualCodePages = 0;
    170     long numCharactersProcessed = 0;
    171     long offset = 0;
    172     while (offset < length) {
    173         if (FAILED(langFontLink->GetStrCodePages(characters, length, acpCodePages, &actualCodePages, &numCharactersProcessed)))
    174             return false;
    175         if ((actualCodePages & fontCodePages) == 0)
    176             return false;
    177         offset += numCharactersProcessed;
    178     }
    179 
    180     return true;
    181 }
    182 
    183142void SimpleFontData::determinePitch()
    184143{
Note: See TracChangeset for help on using the changeset viewer.