summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/inkscape.cpp6
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp3
-rw-r--r--src/ui/dialog/inkscape-preferences.h1
3 files changed, 10 insertions, 0 deletions
diff --git a/src/inkscape.cpp b/src/inkscape.cpp
index 0c3763c2b..e7e93929b 100644
--- a/src/inkscape.cpp
+++ b/src/inkscape.cpp
@@ -23,6 +23,7 @@
#include <map>
#include <glibmm/fileutils.h>
+#include <glibmm/regex.h>
#include <gtkmm/cssprovider.h>
#include <gtkmm/icontheme.h>
@@ -512,6 +513,11 @@ Application::Application(const char* argv, bool use_gui) :
char const *fontsdir = get_path(USER, FONTS);
factory->AddFontsDir(fontsdir);
}
+ Glib::ustring fontdirs_pref = prefs->getString("/options/font/custom_fontdirs");
+ std::vector<Glib::ustring> fontdirs = Glib::Regex::split_simple("\\|", fontdirs_pref);
+ for (auto &fontdir : fontdirs) {
+ factory->AddFontsDir(fontdir.c_str());
+ }
}
Application::~Application()
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 5ceacd7b8..ae013a27b 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -470,6 +470,9 @@ void InkscapePreferences::initPageTools()
_page_text.add_line( true, "", _font_fontsdir_system, "", _("Load additional fonts from \"fonts\" directory located in Inkscape's global \"share\" directory"));
_font_fontsdir_user.init( _("Use user's fonts directory"), "/options/font/use_fontsdir_user", true);
_page_text.add_line( true, "", _font_fontsdir_user, "", _("Load additional fonts from \"fonts\" directory located in Inkscape's user configuration directory"));
+ _font_fontdirs_custom.init("/options/font/custom_fontdirs", 50);
+ _page_text.add_line(true, _("Additional font directories"), _font_fontdirs_custom, "", _("Load additional fonts from custom locations (one path per line)"), true);
+
this->AddNewObjectsStyle(_page_text, "/tools/text");
diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h
index 38b622095..531533cee 100644
--- a/src/ui/dialog/inkscape-preferences.h
+++ b/src/ui/dialog/inkscape-preferences.h
@@ -330,6 +330,7 @@ protected:
UI::Widget::PrefCheckButton _font_output_px;
UI::Widget::PrefCheckButton _font_fontsdir_system;
UI::Widget::PrefCheckButton _font_fontsdir_user;
+ UI::Widget::PrefMultiEntry _font_fontdirs_custom;
UI::Widget::PrefCheckButton _misc_comment;
UI::Widget::PrefCheckButton _misc_default_metadata;