Changeset 187532 in webkit


Ignore:
Timestamp:
Jul 28, 2015 5:57:00 PM (9 years ago)
Author:
Michael Catanzaro
Message:

Minor cleanups in FontCacheFreeType.cpp
https://bugs.webkit.org/show_bug.cgi?id=147392

Reviewed by Martin Robinson.

Mark several functions as static (file-scope), use more nullptr, and use more smart
pointers. No behavior changes.

  • platform/graphics/freetype/FcUniquePtr.h:

(WebCore::FcPtrDeleter<FcCharSet>::operator()):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::createFontConfigPatternForCharacters):
(WebCore::findBestFontGivenFallbacks):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::fontWeightToFontconfigWeight):
(WebCore::FontCache::createFontPlatformData):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r187529 r187532  
     12015-07-28  Michael Catanzaro  <mcatanzaro@igalia.com>
     2
     3        Minor cleanups in FontCacheFreeType.cpp
     4        https://bugs.webkit.org/show_bug.cgi?id=147392
     5
     6        Reviewed by Martin Robinson.
     7
     8        Mark several functions as static (file-scope), use more nullptr, and use more smart
     9        pointers. No behavior changes.
     10
     11        * platform/graphics/freetype/FcUniquePtr.h:
     12        (WebCore::FcPtrDeleter<FcCharSet>::operator()):
     13        * platform/graphics/freetype/FontCacheFreeType.cpp:
     14        (WebCore::createFontConfigPatternForCharacters):
     15        (WebCore::findBestFontGivenFallbacks):
     16        (WebCore::FontCache::systemFallbackForCharacters):
     17        (WebCore::fontWeightToFontconfigWeight):
     18        (WebCore::FontCache::createFontPlatformData):
     19
    1202015-07-28  Yusuke Suzuki  <utatane.tea@gmail.com>
    221
  • trunk/Source/WebCore/platform/graphics/freetype/FcUniquePtr.h

    r187527 r187532  
    4242using FcUniquePtr = std::unique_ptr<T, FcPtrDeleter<T>>;
    4343
     44template<> struct FcPtrDeleter<FcCharSet> {
     45    void operator()(FcCharSet* ptr) const
     46    {
     47        FcCharSetDestroy(ptr);
     48    }
     49};
     50
    4451template<> struct FcPtrDeleter<FcFontSet> {
    4552    void operator()(FcFontSet* ptr) const
  • trunk/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp

    r187527 r187532  
    4242}
    4343
    44 FcPattern* createFontConfigPatternForCharacters(const UChar* characters, int bufferLength)
    45 {
    46     FcPattern* pattern = FcPatternCreate();
    47     FcCharSet* fontConfigCharSet = FcCharSetCreate();
     44static RefPtr<FcPattern> createFontConfigPatternForCharacters(const UChar* characters, int bufferLength)
     45{
     46    RefPtr<FcPattern> pattern = adoptRef(FcPatternCreate());
     47    FcUniquePtr<FcCharSet> fontConfigCharSet(FcCharSetCreate());
    4848
    4949    UTF16UChar32Iterator iterator(characters, bufferLength);
    5050    UChar32 character = iterator.next();
    5151    while (character != iterator.end()) {
    52         FcCharSetAddChar(fontConfigCharSet, character);
     52        FcCharSetAddChar(fontConfigCharSet.get(), character);
    5353        character = iterator.next();
    5454    }
    5555
    56     FcPatternAddCharSet(pattern, FC_CHARSET, fontConfigCharSet);
    57     FcCharSetDestroy(fontConfigCharSet);
    58 
    59     FcPatternAddBool(pattern, FC_SCALABLE, FcTrue);
    60     FcConfigSubstitute(0, pattern, FcMatchPattern);
    61     FcDefaultSubstitute(pattern);
     56    FcPatternAddCharSet(pattern.get(), FC_CHARSET, fontConfigCharSet.get());
     57
     58    FcPatternAddBool(pattern.get(), FC_SCALABLE, FcTrue);
     59    FcConfigSubstitute(nullptr, pattern.get(), FcMatchPattern);
     60    FcDefaultSubstitute(pattern.get());
    6261    return pattern;
    6362}
    6463
    65 FcPattern* findBestFontGivenFallbacks(const FontPlatformData& fontData, FcPattern* pattern)
     64static RefPtr<FcPattern> findBestFontGivenFallbacks(const FontPlatformData& fontData, FcPattern* pattern)
    6665{
    6766    if (!fontData.m_pattern)
    68         return 0;
     67        return nullptr;
    6968
    7069    if (!fontData.m_fallbacks) {
    7170        FcResult fontConfigResult;
    72         fontData.m_fallbacks = FcFontSort(0, fontData.m_pattern.get(), FcTrue, 0, &fontConfigResult);
     71        fontData.m_fallbacks = FcFontSort(nullptr, fontData.m_pattern.get(), FcTrue, nullptr, &fontConfigResult);
    7372    }
    7473
    7574    if (!fontData.m_fallbacks)
    76         return 0;
     75        return nullptr;
    7776
    7877    FcFontSet* sets[] = { fontData.m_fallbacks };
    7978    FcResult fontConfigResult;
    80     return FcFontSetMatch(0, sets, 1, pattern, &fontConfigResult);
     79    return FcFontSetMatch(nullptr, sets, 1, pattern, &fontConfigResult);
    8180}
    8281
    8382RefPtr<Font> FontCache::systemFallbackForCharacters(const FontDescription& description, const Font* originalFontData, bool, const UChar* characters, unsigned length)
    8483{
    85     RefPtr<FcPattern> pattern = adoptRef(createFontConfigPatternForCharacters(characters, length));
     84    RefPtr<FcPattern> pattern = createFontConfigPatternForCharacters(characters, length);
    8685    const FontPlatformData& fontData = originalFontData->platformData();
    8786
    88     RefPtr<FcPattern> fallbackPattern = adoptRef(findBestFontGivenFallbacks(fontData, pattern.get()));
     87    RefPtr<FcPattern> fallbackPattern = findBestFontGivenFallbacks(fontData, pattern.get());
    8988    if (fallbackPattern) {
    9089        FontPlatformData alternateFontData(fallbackPattern.get(), description);
     
    9392
    9493    FcResult fontConfigResult;
    95     RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(0, pattern.get(), &fontConfigResult));
     94    RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(nullptr, pattern.get(), &fontConfigResult));
    9695    if (!resultPattern)
    97         return 0;
     96        return nullptr;
    9897    FontPlatformData alternateFontData(resultPattern.get(), description);
    9998    return fontForPlatformData(alternateFontData);
     
    139138}
    140139
    141 int fontWeightToFontconfigWeight(FontWeight weight)
     140static int fontWeightToFontconfigWeight(FontWeight weight)
    142141{
    143142    switch (weight) {
     
    300299}
    301300
    302 
    303301std::unique_ptr<FontPlatformData> FontCache::createFontPlatformData(const FontDescription& fontDescription, const AtomicString& family)
    304302{
     
    333331    // configuration step, before any matching occurs, we allow arbitrary family substitutions,
    334332    // since this is an exact matter of respecting the user's font configuration.
    335     FcConfigSubstitute(0, pattern.get(), FcMatchPattern);
     333    FcConfigSubstitute(nullptr, pattern.get(), FcMatchPattern);
    336334    FcDefaultSubstitute(pattern.get());
    337335
     
    341339
    342340    FcResult fontConfigResult;
    343     RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(0, pattern.get(), &fontConfigResult));
     341    RefPtr<FcPattern> resultPattern = adoptRef(FcFontMatch(nullptr, pattern.get(), &fontConfigResult));
    344342    if (!resultPattern) // No match.
    345343        return nullptr;
Note: See TracChangeset for help on using the changeset viewer.