From 960af8f370062c5ff7173861d8cc3d0a329b043f Mon Sep 17 00:00:00 2001 From: Enrico Forestieri Date: Tue, 4 Sep 2007 13:33:21 +0000 Subject: [PATCH] Register math fonts with fontconfig * 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 | 2 +- src/support/os_unix.cpp | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 39d2292e7d..bd6b955b89 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/src/support/os_unix.cpp b/src/support/os_unix.cpp index b580a99fd3..c349479809 100644 --- a/src/support/os_unix.cpp +++ b/src/support/os_unix.cpp @@ -13,14 +13,19 @@ #include #include "support/os.h" +#include "debug.h" #ifdef __APPLE__ -#include "debug.h" #include #include -using std::endl; +#elif defined(HAVE_FONTCONFIG_FONTCONFIG_H) +#include "support/filetools.h" +#include "support/Package.h" +#include +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 -- 2.39.2