]> granicus.if.org Git - libass/commitdiff
Fallback to default fontconfig configuration
authorGrigori Goronzy <greg@blackbox>
Wed, 22 Jul 2009 20:49:55 +0000 (22:49 +0200)
committerGrigori Goronzy <greg@blackbox>
Wed, 22 Jul 2009 20:52:31 +0000 (22:52 +0200)
If parsing or loading the fontconfig configuration file, either
using the default or a specified one, fails, try to load the
default fontconfig configuration.  This triggers loading a fallback
configuration if no configuration file is available at all.  A warning
message is emitted to notify the user about this.

libass/ass_fontconfig.c

index 4eee1975f045300cce75f3f999bdd5e7aece70d1..1201daa0da85279e8b8345d0d3748826daa3958f 100644 (file)
@@ -453,12 +453,20 @@ fc_instance_t *fontconfig_init(ass_library_t *library,
 
     priv->config = FcConfigCreate();
     rc = FcConfigParseAndLoad(priv->config, (unsigned char *) config, FcTrue);
+    if (!rc) {
+        ass_msg(library, MSGL_WARN, "No usable fontconfig configuration "
+                "file found, using fallback.");
+        FcConfigDestroy(priv->config);
+        priv->config = FcInitLoadConfig();
+        rc++;
+    }
     if (rc && update) {
         FcConfigBuildFonts(priv->config);
     }
 
     if (!rc || !priv->config) {
-        ass_msg(library, MSGL_FATAL, "%s failed", "FcInitLoadConfigAndFonts");
+        ass_msg(library, MSGL_FATAL,
+                "No valid fontconfig configuration found!");
         FcConfigDestroy(priv->config);
         goto exit;
     }