diff --git a/src/fonts/SkFontMgr_fontconfig.cpp b/src/fonts/SkFontMgr_fontconfig.cpp index 0b4accd254..a0ca7e4f33 100644 --- a/src/fonts/SkFontMgr_fontconfig.cpp +++ b/src/fonts/SkFontMgr_fontconfig.cpp @@ -18,6 +18,10 @@ #include #include +// Defined in SkFontHost_FreeType.cpp +bool find_name_and_attributes(SkStream* stream, SkString* name, + SkTypeface::Style* style, bool* isFixedWidth); + // borrow this global from SkFontHost_fontconfig. eventually that file should // go away, and be replaced with this one. extern SkFontConfigInterface* SkFontHost_fontconfig_ref_global(); @@ -274,7 +278,12 @@ protected: // TODO should the caller give us the style or should we get it from freetype? SkTypeface::Style style = SkTypeface::kNormal; - SkTypeface* face = SkNEW_ARGS(FontConfigTypeface, (style, false, stream)); + bool isFixedWidth = false; + if (!find_name_and_attributes(stream, NULL, &style, &isFixedWidth)) { + return NULL; + } + + SkTypeface* face = SkNEW_ARGS(FontConfigTypeface, (style, isFixedWidth, stream)); return face; }