[Fontconfig-bugs] [Bug 90148] Don't warn if cachedir isn't specified

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri May 15 02:07:58 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=90148

--- Comment #5 from Akira TAGOH <akira at tagoh.org> ---
(In reply to Behdad Esfahbod from comment #4)
> It kinda is.  If FONTCONFIG_FILE / FONTCONFIG_PATH are not set, and we were
> initializing default config, we should warn.

"and" ? is it the only way to load the custom config right? even though one can
load the default config that way as well, we have no idea to see if it's the
default config or not. just to check these env vars:

diff --git a/src/fcinit.c b/src/fcinit.c
index 6134ed4..0f13ec3 100644
--- a/src/fcinit.c
+++ b/src/fcinit.c
@@ -91,12 +91,23 @@ FcInitLoadOwnConfig (FcConfig *config)
     {
     FcChar8 *prefix, *p;
     size_t plen;
+    FcBool have_own = FcFalse;
+    char *env_file, *env_path;

-    fprintf (stderr,
-         "Fontconfig warning: no <cachedir> elements found. Check
configuration.\n");
-    fprintf (stderr,
-         "Fontconfig warning: adding <cachedir>%s</cachedir>\n",
-         FC_CACHEDIR);
+    env_file = getenv ("FONTCONFIG_FILE");
+    env_path = getenv ("FONTCONFIG_PATH");
+    if ((env_file != NULL && env_file[0] != 0) ||
+        (env_path != NULL && env_path[0] != 0))
+        have_own = FcTrue;
+
+    if (!have_own)
+    {
+        fprintf (stderr,
+             "Fontconfig warning: no <cachedir> elements found. Check
configuration.\n");
+        fprintf (stderr,
+             "Fontconfig warning: adding <cachedir>%s</cachedir>\n",
+             FC_CACHEDIR);
+    }
     prefix = FcConfigXdgCacheHome ();
     if (!prefix)
         goto bail;
@@ -107,8 +118,9 @@ FcInitLoadOwnConfig (FcConfig *config)
     prefix = p;
     memcpy (&prefix[plen], FC_DIR_SEPARATOR_S "fontconfig", 11);
     prefix[plen + 11] = 0;
-    fprintf (stderr,
-         "Fontconfig warning: adding <cachedir
prefix=\"xdg\">fontconfig</cachedir>\n");
+    if (!have_own)
+        fprintf (stderr,
+             "Fontconfig warning: adding <cachedir
prefix=\"xdg\">fontconfig</cachedir>\n");

     if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR) ||
         !FcConfigAddCacheDir (config, (FcChar8 *) prefix))

> My current thinking is that for most use cases, reading full config (but not
> fonts) might be what user wants.  The major exception would be font viewers,
> which probably can do without any config.

As you explained on your blog, it can be done without this change right? doing
something with API sounds better than settings env vars and would be sane
though.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/fontconfig-bugs/attachments/20150515/e57c575f/attachment.html>


More information about the Fontconfig-bugs mailing list