| Index: src/ports/SkFontHost_fontconfig.cpp | 
| diff --git a/src/ports/SkFontHost_fontconfig.cpp b/src/ports/SkFontHost_fontconfig.cpp | 
| index 2fdb16e3645b8f288de28b2ea46788e8780ec491..f43c01b95778d73aeffc432922b4c56ae79d442f 100644 | 
| --- a/src/ports/SkFontHost_fontconfig.cpp | 
| +++ b/src/ports/SkFontHost_fontconfig.cpp | 
| @@ -105,17 +105,17 @@ SkTypeface* FontConfigTypeface::LegacyCreateTypeface(const char familyName[], | 
| return face; | 
| } | 
|  | 
| -    SkFontConfigInterface::FontIdentity indentity; | 
| +    SkFontConfigInterface::FontIdentity identity; | 
| SkString outFamilyName; | 
| SkTypeface::Style outStyle; | 
| -    if (!fci->matchFamilyName(familyName, style, &indentity, &outFamilyName, &outStyle)) { | 
| +    if (!fci->matchFamilyName(familyName, style, &identity, &outFamilyName, &outStyle)) { | 
| return NULL; | 
| } | 
|  | 
| -    // Check if a typeface with this FontIdentity is already in the FontIdentity cache. | 
| -    face = SkTypefaceCache::FindByProcAndRef(find_by_FontIdentity, &indentity); | 
| +    // Check if a typeface with this outFamily is already in the FontIdentity cache. | 
| +    face = SkTypefaceCache::FindByProcAndRef(find_by_FontIdentity, &identity); | 
| if (!face) { | 
| -        face = FontConfigTypeface::Create(SkFontStyle(outStyle), indentity, outFamilyName); | 
| +        face = FontConfigTypeface::Create(SkFontStyle(outStyle), identity, outFamilyName); | 
| // Add this FontIdentity to the FontIdentity cache. | 
| SkTypefaceCache::Add(face, requestedStyle); | 
| } | 
| @@ -124,6 +124,16 @@ SkTypeface* FontConfigTypeface::LegacyCreateTypeface(const char familyName[], | 
| //SkDebugf("add face <%s> <%s> %p [%d]\n", | 
| //         familyName, outFamilyName.c_str(), | 
| //         face, face->getRefCnt()); | 
| + | 
| +    // If any aliased name is returned for the requested family, cache SkTypeface | 
| +    // with the original family name so the following lookups will hit the cache. | 
| +    if (!outFamilyName.equals(familyName)) { | 
| +        SkTypeface* face_orig = | 
| +                FontConfigTypeface::Create(SkFontStyle(outStyle), identity, SkString(familyName)); | 
| +        SkTypefaceCache::Add(face_orig, requestedStyle); | 
| +        //SkDebugf("add face <%s> %p [%d]\n", | 
| +        //         familyName, face_orig, face_orig->getRefCnt()); | 
| +    } | 
| return face; | 
| } | 
|  | 
|  |