]> git.lyx.org Git - features.git/commitdiff
Register math fonts with fontconfig
authorEnrico Forestieri <forenr@lyx.org>
Tue, 4 Sep 2007 13:33:21 +0000 (13:33 +0000)
committerEnrico Forestieri <forenr@lyx.org>
Tue, 4 Sep 2007 13:33:21 +0000 (13:33 +0000)
* src/support/os_unix.cpp
  (addFontResources): add the system fonts dir to the paths
  scanned by fontconfig.
  (restoreFontResources): remove the system fonts dir from the
  fontconfig configuration.

* configure.ac:
  add check for the fontconfig devel headers.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20034 a592a061-630c-0410-9148-cb99ea01b6c8

configure.ac
src/support/os_unix.cpp

index 39d2292e7d628cf7fdc55715c35b677ca62260a2..bd6b955b89c8163dded55182c24ea632db256b32 100644 (file)
@@ -236,7 +236,7 @@ AC_LANG_POP(C)
 # some standard header files
 AC_HEADER_DIRENT
 AC_HEADER_MAJOR
-AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h strings.h locale.h io.h process.h NewAPIs.h utime.h sys/utime.h)
+AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h strings.h locale.h io.h process.h NewAPIs.h utime.h sys/utime.h fontconfig/fontconfig.h)
 
 # some standard structures
 AC_HEADER_STAT
index b580a99fd38591c2943b03beaebe792234cbe8d1..c3494798098d5c4f5e64bbf28e0024b08227d576 100644 (file)
 #include <config.h>
 
 #include "support/os.h"
+#include "debug.h"
 
 #ifdef __APPLE__
-#include "debug.h"
 #include <Carbon/Carbon.h>
 #include <ApplicationServices/ApplicationServices.h>
-using std::endl;
+#elif defined(HAVE_FONTCONFIG_FONTCONFIG_H)
+#include "support/filetools.h"
+#include "support/Package.h"
+#include <fontconfig/fontconfig.h>
+using lyx::support::addPath;
 #endif
 
+using std::endl;
 using std::string;
 
 
@@ -224,12 +229,22 @@ void addFontResources()
                               kFMLocalActivationContext);
        if (err)
                lyxerr << "FMActivateFonts err = " << err << endl;
+#elif defined(HAVE_FONTCONFIG_FONTCONFIG_H)
+       // Register BaKoMa truetype fonts with fontconfig
+       string const fonts_dir =
+               addPath(package().system_support().absFilename(), "fonts");
+       if (!FcConfigAppFontAddDir(0, (FcChar8 const *)fonts_dir.c_str()))
+               lyxerr << "Unable to register fonts with fontconfig." << endl;
 #endif
 }
 
 
 void restoreFontResources()
-{}
+{
+#if defined(HAVE_FONTCONFIG_FONTCONFIG_H) && !defined(__APPLE__)
+       FcConfigAppFontClear(0);
+#endif
+}
 
 } // namespace os
 } // namespace support