| Index: src/ports/SkFontConfigInterface_direct.cpp
 | 
| diff --git a/src/ports/SkFontConfigInterface_direct.cpp b/src/ports/SkFontConfigInterface_direct.cpp
 | 
| index 1c42e2d37e7585678c8e28be47dcb56980a67d60..cc80fbe647c212e14cfaf71430122c8475d850f2 100644
 | 
| --- a/src/ports/SkFontConfigInterface_direct.cpp
 | 
| +++ b/src/ports/SkFontConfigInterface_direct.cpp
 | 
| @@ -305,40 +305,6 @@ bool IsFallbackFontAllowed(const SkString& family) {
 | 
|  }
 | 
|  
 | 
|  // Retrieves |is_bold|, |is_italic| and |font_family| properties from |font|.
 | 
| -#ifdef SK_VERY_LEGACY_CREATE_TYPEFACE
 | 
| -SkTypeface::Style GetFontStyle(FcPattern* font) {
 | 
| -    int resulting_bold;
 | 
| -    if (FcPatternGetInteger(font, FC_WEIGHT, 0, &resulting_bold))
 | 
| -        resulting_bold = FC_WEIGHT_NORMAL;
 | 
| -
 | 
| -    int resulting_italic;
 | 
| -    if (FcPatternGetInteger(font, FC_SLANT, 0, &resulting_italic))
 | 
| -        resulting_italic = FC_SLANT_ROMAN;
 | 
| -
 | 
| -    // If we ask for an italic font, fontconfig might take a roman font and set
 | 
| -    // the undocumented property FC_MATRIX to a skew matrix. It'll then say
 | 
| -    // that the font is italic or oblique. So, if we see a matrix, we don't
 | 
| -    // believe that it's italic.
 | 
| -    FcValue matrix;
 | 
| -    const bool have_matrix = FcPatternGet(font, FC_MATRIX, 0, &matrix) == 0;
 | 
| -
 | 
| -    // If we ask for an italic font, fontconfig might take a roman font and set
 | 
| -    // FC_EMBOLDEN.
 | 
| -    FcValue embolden;
 | 
| -    const bool have_embolden = FcPatternGet(font, FC_EMBOLDEN, 0, &embolden) == 0;
 | 
| -
 | 
| -    int styleBits = 0;
 | 
| -    if (resulting_bold > FC_WEIGHT_MEDIUM && !have_embolden) {
 | 
| -        styleBits |= SkTypeface::kBold;
 | 
| -    }
 | 
| -    if (resulting_italic > FC_SLANT_ROMAN && !have_matrix) {
 | 
| -        styleBits |= SkTypeface::kItalic;
 | 
| -    }
 | 
| -
 | 
| -    return (SkTypeface::Style)styleBits;
 | 
| -}
 | 
| -#else
 | 
| -
 | 
|  static int get_int(FcPattern* pattern, const char object[], int missing) {
 | 
|      int value;
 | 
|      if (FcPatternGetInteger(pattern, object, 0, &value) != FcResultMatch) {
 | 
| @@ -463,11 +429,6 @@ static void fcpattern_from_skfontstyle(SkFontStyle style, FcPattern* pattern) {
 | 
|      FcPatternAddInteger(pattern, FC_SLANT, style.isItalic() ? FC_SLANT_ITALIC : FC_SLANT_ROMAN);
 | 
|  }
 | 
|  
 | 
| -SkFontStyle GetFontStyle(FcPattern* font) {
 | 
| -    return skfontstyle_from_fcpattern(font);
 | 
| -}
 | 
| -#endif
 | 
| -
 | 
|  }  // anonymous namespace
 | 
|  
 | 
|  ///////////////////////////////////////////////////////////////////////////////
 | 
| @@ -549,19 +510,11 @@ FcPattern* SkFontConfigInterfaceDirect::MatchFont(FcFontSet* font_set,
 | 
|    return match;
 | 
|  }
 | 
|  
 | 
| -#ifdef SK_VERY_LEGACY_CREATE_TYPEFACE
 | 
| -bool SkFontConfigInterfaceDirect::matchFamilyName(const char familyName[],
 | 
| -                                                  SkTypeface::Style style,
 | 
| -                                                  FontIdentity* outIdentity,
 | 
| -                                                  SkString* outFamilyName,
 | 
| -                                                  SkTypeface::Style* outStyle) {
 | 
| -#else
 | 
|  bool SkFontConfigInterfaceDirect::matchFamilyName(const char familyName[],
 | 
|                                                    SkFontStyle style,
 | 
|                                                    FontIdentity* outIdentity,
 | 
|                                                    SkString* outFamilyName,
 | 
|                                                    SkFontStyle* outStyle) {
 | 
| -#endif
 | 
|      SkString familyStr(familyName ? familyName : "");
 | 
|      if (familyStr.size() > kMaxFontFamilyLength) {
 | 
|          return false;
 | 
| @@ -574,16 +527,7 @@ bool SkFontConfigInterfaceDirect::matchFamilyName(const char familyName[],
 | 
|      if (familyName) {
 | 
|          FcPatternAddString(pattern, FC_FAMILY, (FcChar8*)familyName);
 | 
|      }
 | 
| -#ifdef SK_VERY_LEGACY_CREATE_TYPEFACE
 | 
| -    FcPatternAddInteger(pattern, FC_WEIGHT,
 | 
| -                        (style & SkTypeface::kBold) ? FC_WEIGHT_BOLD
 | 
| -                                                    : FC_WEIGHT_NORMAL);
 | 
| -    FcPatternAddInteger(pattern, FC_SLANT,
 | 
| -                        (style & SkTypeface::kItalic) ? FC_SLANT_ITALIC
 | 
| -                                                      : FC_SLANT_ROMAN);
 | 
| -#else
 | 
|      fcpattern_from_skfontstyle(style, pattern);
 | 
| -#endif
 | 
|  
 | 
|      FcPatternAddBool(pattern, FC_SCALABLE, FcTrue);
 | 
|  
 | 
| @@ -671,7 +615,7 @@ bool SkFontConfigInterfaceDirect::matchFamilyName(const char familyName[],
 | 
|          outFamilyName->set(post_config_family);
 | 
|      }
 | 
|      if (outStyle) {
 | 
| -        *outStyle = GetFontStyle(match);
 | 
| +        *outStyle = skfontstyle_from_fcpattern(match);
 | 
|      }
 | 
|      return true;
 | 
|  }
 | 
| 
 |