2 font-config.cc -- implement FontConfig related functions
4 source file of the GNU LilyPond music typesetter
6 (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
13 #include <fontconfig/fontconfig.h>
15 #include "file-path.hh"
22 if (be_verbose_global)
23 message (_ ("Initializing FontConfig..."));
26 error (_ ("initializing FontConfig"));
28 FcConfig *fcc = FcConfigGetCurrent ();
33 Hmm. the cache is always out of date??!
35 FcChar8 *cache = FcConfigGetCache (fcc);
36 if (!FcDirCacheValid (cache))
38 warning (_ ("FontConfig cache out of date. Rebuilding may take some time."));
44 String builddir = prefix_directory + "/mf/out/";
46 if (stat (builddir.to_str0 (), &statbuf) == 0)
47 dirs.push (builddir.to_str0 ());
50 dirs.push (prefix_directory + "/fonts/otf/");
51 dirs.push (prefix_directory + "/fonts/type1/");
52 dirs.push (prefix_directory + "/fonts/svg/");
55 for (int i = 0; i < dirs.size (); i++)
58 if (!FcConfigAppFontAddDir (fcc, (FcChar8 *)dir.to_str0 ()))
59 error (_f ("adding font directory: %s", dir.to_str0 ()));
60 else if (be_verbose_global)
61 message (_f ("adding font directory: %s", dir.to_str0 ()));
64 if (be_verbose_global)
65 progress_indication ("\n");