From 33f16368475f504eed01cc1dc5c6b36f17ae46c3 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 20 Nov 2011 12:02:06 +0000 Subject: (svn r23277) -Codechange: fallback font support for fontcache --- src/fontcache.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fontcache.cpp b/src/fontcache.cpp index 7c020eeb2..3eb717c30 100644 --- a/src/fontcache.cpp +++ b/src/fontcache.cpp @@ -709,7 +709,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i /* First create a pattern to match the wanted language. */ FcPattern *pat = FcNameParse((FcChar8*)lang); /* We only want to know the filename. */ - FcObjectSet *os = FcObjectSetBuild(FC_FILE, NULL); + FcObjectSet *os = FcObjectSetBuild(FC_FILE, FC_SPACING, NULL); /* Get the list of filenames matching the wanted language. */ FcFontSet *fs = FcFontList(NULL, pat, os); @@ -727,6 +727,10 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i continue; } + int value = 0; + FcPatternGetInteger(font, FC_SPACING, 0, &value); + if (callback->Monospace() != (value == FC_MONO) && value != FC_DUAL) continue; + callback->SetFontNames(settings, (const char*)file); bool missing = callback->FindMissingGlyphs(NULL); -- cgit v1.2.3-54-g00ecf