]> granicus.if.org Git - imagemagick/commitdiff
Refactor fontconfig API initialization
authorCristy <urban-warrior@imagemagick.org>
Mon, 11 Jun 2018 23:07:19 +0000 (19:07 -0400)
committerCristy <urban-warrior@imagemagick.org>
Mon, 11 Jun 2018 23:07:19 +0000 (19:07 -0400)
MagickCore/type.c

index 21ebadb21788616526cf285aef36f45b9aa969ff..020b16ff80189b15aa0080247c8df6be4c5c1407 100644 (file)
@@ -726,6 +726,9 @@ MagickExport MagickBooleanType LoadFontConfigFonts(SplayTreeInfo *type_cache,
     extension[MagickPathExtent],
     name[MagickPathExtent];
 
+  FcBool
+    result;
+
   FcChar8
     *family,
     *file,
@@ -762,9 +765,13 @@ MagickExport MagickBooleanType LoadFontConfigFonts(SplayTreeInfo *type_cache,
     Load system fonts.
   */
   (void) exception;
-  font_config=FcInitLoadConfigAndFonts();
+  result=FcInit();
+  if (result == 0)
+    return(MagickFalse);
+  font_config=FcConfigGetCurrent();
   if (font_config == (FcConfig *) NULL)
     return(MagickFalse);
+  FcConfigSetRescanInterval(font_config,0);
   font_set=(FcFontSet *) NULL;
   object_set=FcObjectSetBuild(FC_FULLNAME,FC_FAMILY,FC_STYLE,FC_SLANT,
     FC_WIDTH,FC_WEIGHT,FC_FILE,(char *) NULL);
@@ -773,7 +780,7 @@ MagickExport MagickBooleanType LoadFontConfigFonts(SplayTreeInfo *type_cache,
       pattern=FcPatternCreate();
       if (pattern != (FcPattern *) NULL)
         {
-          font_set=FcFontList(0,pattern,object_set);
+          font_set=FcFontList(font_config,pattern,object_set);
           FcPatternDestroy(pattern);
         }
       FcObjectSetDestroy(object_set);