Index: pango/pangofc-fontmap.c
===================================================================
RCS file: /cvs/gnome/pango/pango/pangofc-fontmap.c,v
retrieving revision 1.63
diff -u -p -d -r1.63 pangofc-fontmap.c
--- pango/pangofc-fontmap.c	13 Dec 2006 21:02:00 -0000	1.63
+++ pango/pangofc-fontmap.c	24 Dec 2006 04:40:08 -0000
@@ -1704,7 +1704,10 @@ pango_fc_face_describe (PangoFontFace *f
 				  NULL);
 
   g_assert (match_pattern);
-  
+
+  FcConfigSubstitute (NULL, match_pattern, FcMatchPattern);
+  FcDefaultSubstitute (match_pattern);
+
   result_pattern = FcFontMatch (NULL, match_pattern, &res);
   if (result_pattern)
     {
Index: pango/pangoft2-fontmap.c
===================================================================
RCS file: /cvs/gnome/pango/pango/pangoft2-fontmap.c,v
retrieving revision 1.63
diff -u -p -d -r1.63 pangoft2-fontmap.c
--- pango/pangoft2-fontmap.c	24 Oct 2006 19:37:00 -0000	1.63
+++ pango/pangoft2-fontmap.c	24 Dec 2006 04:40:08 -0000
@@ -62,8 +62,6 @@ struct _PangoFT2FontMapClass
 };
 
 static void          pango_ft2_font_map_finalize            (GObject              *object);
-static void          pango_ft2_font_map_default_substitute  (PangoFcFontMap       *fcfontmap,
-							     FcPattern            *pattern);
 static PangoFcFont * pango_ft2_font_map_new_font            (PangoFcFontMap       *fcfontmap,
 							     FcPattern            *pattern);
 static double        pango_ft2_font_map_get_resolution      (PangoFcFontMap       *fcfontmap,
@@ -80,7 +78,7 @@ pango_ft2_font_map_class_init (PangoFT2F
   PangoFcFontMapClass *fcfontmap_class = PANGO_FC_FONT_MAP_CLASS (class);
   
   gobject_class->finalize = pango_ft2_font_map_finalize;
-  fcfontmap_class->default_substitute = pango_ft2_font_map_default_substitute;
+  fcfontmap_class->default_substitute = _pango_ft2_font_map_default_substitute;
   fcfontmap_class->new_font = pango_ft2_font_map_new_font;
   fcfontmap_class->get_resolution = pango_ft2_font_map_get_resolution;
 }
@@ -323,8 +321,8 @@ _pango_ft2_font_map_get_renderer (PangoF
   return ft2fontmap->renderer;
 }
 
-static void
-pango_ft2_font_map_default_substitute (PangoFcFontMap *fcfontmap,
+void
+_pango_ft2_font_map_default_substitute (PangoFcFontMap *fcfontmap,
 				       FcPattern      *pattern)
 {
   PangoFT2FontMap *ft2fontmap = PANGO_FT2_FONT_MAP (fcfontmap);
Index: pango/pangoft2-private.h
===================================================================
RCS file: /cvs/gnome/pango/pango/pangoft2-private.h,v
retrieving revision 1.30
diff -u -p -d -r1.30 pangoft2-private.h
--- pango/pangoft2-private.h	31 Mar 2006 02:20:23 -0000	1.30
+++ pango/pangoft2-private.h	24 Dec 2006 04:40:08 -0000
@@ -24,6 +24,7 @@
 #define __PANGOFT2_PRIVATE_H__
 
 #include <pango/pangoft2.h>
+#include <pango/pangofc-fontmap.h>
 #include <pango/pango-renderer.h>
 #include <fontconfig/fontconfig.h>
 
@@ -82,6 +83,8 @@ PangoFT2Font * _pango_ft2_font_new      
 						   FcPattern         *pattern);
 FT_Library     _pango_ft2_font_map_get_library    (PangoFontMap      *fontmap);
 const char    *_pango_ft2_ft_strerror             (FT_Error           error);
+void _pango_ft2_font_map_default_substitute (PangoFcFontMap *fcfontmap,
+					     FcPattern      *pattern);
 
 void *_pango_ft2_font_get_cache_glyph_data    (PangoFont      *font,
 					       int             glyph_index);
Index: pango/pangoft2.c
===================================================================
RCS file: /cvs/gnome/pango/pango/pangoft2.c,v
retrieving revision 1.90
diff -u -p -d -r1.90 pangoft2.c
--- pango/pangoft2.c	31 Mar 2006 22:41:07 -0000	1.90
+++ pango/pangoft2.c	24 Dec 2006 04:40:08 -0000
@@ -100,6 +100,8 @@ load_fallback_face (PangoFT2Font *ft2fon
 			 FC_PIXEL_SIZE, FcTypeDouble, (double)ft2font->size / PANGO_SCALE,
 			 NULL);
   
+  _pango_ft2_font_map_default_substitute (fcfont->fontmap, sans);
+
   matched = FcFontMatch (NULL, sans, &result);
   
   if (FcPatternGetString (matched, FC_FILE, 0, &filename2) != FcResultMatch)

