Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F177436130
D41503.1794383727.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
143 KB
Referenced Files
None
Subscribers
None
D41503.1794383727.diff
View Options
diff --git a/graphics/inkscape/Makefile b/graphics/inkscape/Makefile
--- a/graphics/inkscape/Makefile
+++ b/graphics/inkscape/Makefile
@@ -1,17 +1,11 @@
PORTNAME= inkscape
-DISTVERSION= 1.2.2
-PORTREVISION= 12
+DISTVERSION= 1.3
CATEGORIES= graphics gnome
MASTER_SITES= https://media.inkscape.org/dl/resources/file/
PATCH_SITES= https://gitlab.com/${PORTNAME}/${PORTNAME}/-/commit/
-# https://gitlab.com/inkscape/inkscape/-/merge_requests/4463
-PATCHFILES+= c5fc06a7c29d6be9e2fb18b841e973a193428332.patch:-p1 \
- 40c4147ec66319f42129ab253d0483f91329419c.patch:-p1 \
- 57c85eec491e07949497fa67edc7c76eafde7471.patch:-p1
-# 362f987096833dd1dfa223be82fc6a97c3795f6c.patch:-p1
-PATCHFILES+= fdc7329ba5036ef5cde7bb5e61ed52a69850f5d8.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/4483
-PATCHFILES+= 781e29cd3538.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/5111
+PATCHFILES+= 3db96bfbac475022a32b70473b767b21a8d70c7f.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/issues/4427
+PATCHFILES+= 00851fede7f9162cbcacf81258d1dda823b88a5c.patch:-p1 # https://gitlab.com/inkscape/inkscape/-/merge_requests/5650
MAINTAINER= gnome@FreeBSD.org
COMMENT= Full featured open source SVG editor
@@ -28,10 +22,10 @@
LICENSE_FILE_LGPL3+ = ${WRKSRC}/LICENSES/LGPL-3.0-or-later.txt
LICENSE_FILE_MPL11 = ${WRKSRC}/LICENSES/MPL-1.1.txt
+BUILD_DEPENDS= ragel:devel/ragel
LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs \
libpopt.so:devel/popt \
libgc.so:devel/boehm-gc \
- libgdl-3.so:x11-toolkits/gdl \
libgsl.so:math/gsl \
liblcms2.so:graphics/lcms2 \
libfribidi.so:converters/fribidi \
@@ -43,6 +37,8 @@
libsoup-2.4.so:devel/libsoup \
libyaml.so:textproc/libyaml \
libdouble-conversion.so:devel/double-conversion \
+ libenchant-2.so:textproc/enchant2 \
+ libepoxy.so:graphics/libepoxy \
lib2geom.so:math/lib2geom
RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}appdirs>0:devel/py-appdirs@${PY_FLAVOR} \
@@ -53,22 +49,25 @@
${PYTHON_PKGNAMEPREFIX}cssselect>0:www/py-cssselect@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
fig2dev:print/fig2dev
+TEST_DEPENDS= googletest>0:devel/googletest \
+ bash:shells/bash
-USES= compiler:c++17-lang cmake cpe desktop-file-utils ghostscript:run \
+USES= compiler:c++17-lang cmake:testing cpe desktop-file-utils ghostscript:run \
gnome iconv:wchar_t jpeg pathfix pkgconfig python \
readline shebangfix tar:xz xorg
-USE_GNOME= gdkpixbuf2 gtkmm30 libxml2 libxslt
+USE_GNOME= cairo gdkpixbuf2 gtkmm30 gtksourceview4 libxml2 libxslt
+USE_PYTHON= cython
USE_XORG= sm ice x11 xext
USE_LDCONFIG= yes
-DATETAG= 2022-12-01_b0a8486541
-
+DATETAG= 2023-07-21_0e150ed6c4
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}_${DATETAG}
+BINARY_ALIAS= python3=${PYTHON_CMD}
SHEBANG_FILES= share/extensions/*.py share/extensions/genpofiles.sh \
share/templates/*.py man/fix-roff-punct
-OPTIONS_DEFINE= OPENMP POPPLER SCRIBUS VISIO CDR DBUS WPG GVFS NLS GSPELL
+OPTIONS_DEFINE= OPENMP POPPLER SCRIBUS VISIO CDR WPG GVFS NLS GSPELL
OPTIONS_DEFAULT= POPPLER VISIO CDR WPG GM GSPELL
OPTIONS_DEFAULT_amd64= OPENMP
OPTIONS_DEFAULT_powerpc64= OPENMP
@@ -82,10 +81,6 @@
CDR_LIB_DEPENDS= librevenge-stream-0.0.so:textproc/librevenge \
libcdr-0.1.so:graphics/libcdr01
-DBUS_CMAKE_BOOL= WITH_DBUS
-DBUS_LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \
- libdbus-1.so:devel/dbus
-
GVFS_USE= GNOME=gvfs
OPENMP_CMAKE_BOOL= WITH_OPENMP
@@ -119,7 +114,7 @@
NLS_USES= gettext
GSPELL_DESC= Support for spell checking through gspell
-GSPELL_CMAKE_BOOL= WITH_GSPELL
+GSPELL_CMAKE_BOOL= WITH_GSPELL
GSPELL_LIB_DEPENDS= libgspell-1.so:textproc/gspell
post-patch:
diff --git a/graphics/inkscape/distinfo b/graphics/inkscape/distinfo
--- a/graphics/inkscape/distinfo
+++ b/graphics/inkscape/distinfo
@@ -1,13 +1,7 @@
-TIMESTAMP = 1687584227
-SHA256 (inkscape-1.2.2.tar.xz) = a0c7fd0d03c0a21535e648ef301dcf80dd7cfc1f3545e51065fbf1ba3ee8a5c4
-SIZE (inkscape-1.2.2.tar.xz) = 39392040
-SHA256 (c5fc06a7c29d6be9e2fb18b841e973a193428332.patch) = 08ca608bc5509e2398d23ef67202f7155296c36e329d1d2a3b00b37d8fd08214
-SIZE (c5fc06a7c29d6be9e2fb18b841e973a193428332.patch) = 22563
-SHA256 (40c4147ec66319f42129ab253d0483f91329419c.patch) = 05e670f7d768cfbbc5aacf233fe5c169402611b4f2949a491beb45150b95b14b
-SIZE (40c4147ec66319f42129ab253d0483f91329419c.patch) = 24153
-SHA256 (57c85eec491e07949497fa67edc7c76eafde7471.patch) = e3119ce429fb60f554b42b4507becd9bee47c3cb6f71fe1fbfc46331b2bf0574
-SIZE (57c85eec491e07949497fa67edc7c76eafde7471.patch) = 26184
-SHA256 (fdc7329ba5036ef5cde7bb5e61ed52a69850f5d8.patch) = 064f76e8691b0975b6a82a21923c562d9bb9855aa08d99ece9af9da877b544d6
-SIZE (fdc7329ba5036ef5cde7bb5e61ed52a69850f5d8.patch) = 5483
-SHA256 (781e29cd3538.patch) = 0dda9fb22107b81768e41c38adacf4920c9ecd2ca6ca47efa90693481b72e1b8
-SIZE (781e29cd3538.patch) = 9262
+TIMESTAMP = 1692891317
+SHA256 (inkscape-1.3.tar.xz) = bf4f286b025e0169b8948cc14d5199a9b4c204d761c894c4b48496571ec76307
+SIZE (inkscape-1.3.tar.xz) = 85764028
+SHA256 (3db96bfbac475022a32b70473b767b21a8d70c7f.patch) = fb572fa3b566149293b0ffeae468ff6025d0e54a090d928eb8c2037afe2d3f8d
+SIZE (3db96bfbac475022a32b70473b767b21a8d70c7f.patch) = 2003
+SHA256 (00851fede7f9162cbcacf81258d1dda823b88a5c.patch) = d0ebfcb85682345d7e10d97931894acd171881a8467b70a777f37a293d255a59
+SIZE (00851fede7f9162cbcacf81258d1dda823b88a5c.patch) = 5207
diff --git a/graphics/inkscape/files/patch-362f987096833dd1dfa223be82fc6a97c3795f6c b/graphics/inkscape/files/patch-362f987096833dd1dfa223be82fc6a97c3795f6c
deleted file mode 100644
--- a/graphics/inkscape/files/patch-362f987096833dd1dfa223be82fc6a97c3795f6c
+++ /dev/null
@@ -1,1456 +0,0 @@
-From 362f987096833dd1dfa223be82fc6a97c3795f6c Mon Sep 17 00:00:00 2001
-From: PBS <pbs3141@gmail.com>
-Date: Sun, 24 Apr 2022 12:21:30 +0900
-Subject: [PATCH] FontFactory refactoring
-
----
- src/display/drawing-text.cpp | 4 +-
- src/display/drawing-text.h | 8 +-
- src/libnrtype/FontFactory.cpp | 426 +++++++++++++++------------
- src/libnrtype/FontFactory.h | 142 +++------
- src/libnrtype/FontInstance.cpp | 36 +--
- src/libnrtype/Layout-TNG-Compute.cpp | 16 +-
- src/libnrtype/Layout-TNG-Input.cpp | 4 +-
- src/libnrtype/Layout-TNG-OutIter.cpp | 2 +-
- src/libnrtype/Layout-TNG-Output.cpp | 2 +-
- src/libnrtype/Layout-TNG.h | 8 +-
- src/libnrtype/font-instance.h | 6 +-
- src/libnrtype/font-lister.cpp | 2 +-
- src/object/sp-flowtext.cpp | 2 +-
- src/object/sp-text.cpp | 2 +-
- src/ui/dialog/font-substitution.cpp | 2 +-
- src/ui/dialog/glyphs.cpp | 2 +-
- src/ui/dialog/text-edit.cpp | 2 +-
- src/ui/dialog/text-edit.h | 2 +-
- src/ui/widget/font-variants.cpp | 2 +-
- src/ui/widget/font-variations.cpp | 2 +-
- 20 files changed, 323 insertions(+), 349 deletions(-)
-
-diff --git src/display/drawing-text.cpp src/display/drawing-text.cpp
-index fce8644549a..e39cff558e5 100644
---- src/display/drawing-text.cpp
-+++ src/display/drawing-text.cpp
-@@ -42,7 +42,7 @@ DrawingGlyphs::~DrawingGlyphs()
- }
-
- void
--DrawingGlyphs::setGlyph(font_instance *font, int glyph, Geom::Affine const &trans)
-+DrawingGlyphs::setGlyph(FontInstance *font, int glyph, Geom::Affine const &trans)
- {
- _markForRendering();
-
-@@ -228,7 +228,7 @@ DrawingText::clear()
- }
-
- bool
--DrawingText::addComponent(font_instance *font, int glyph, Geom::Affine const &trans,
-+DrawingText::addComponent(FontInstance *font, int glyph, Geom::Affine const &trans,
- float width, float ascent, float descent, float phase_length)
- {
- /* original, did not save a glyph for white space characters, causes problems for text-decoration
-diff --git src/display/drawing-text.h src/display/drawing-text.h
-index 084c7939219..ec0bbaaeba0 100644
---- src/display/drawing-text.h
-+++ src/display/drawing-text.h
-@@ -17,7 +17,7 @@
- #include "display/nr-style.h"
-
- class SPStyle;
--class font_instance;
-+class FontInstance;
-
- namespace Inkscape {
-
-@@ -28,7 +28,7 @@ public:
- DrawingGlyphs(Drawing &drawing);
- ~DrawingGlyphs() override;
-
-- void setGlyph(font_instance *font, int glyph, Geom::Affine const &trans);
-+ void setGlyph(FontInstance *font, int glyph, Geom::Affine const &trans);
- void setStyle(SPStyle *style, SPStyle *context_style = nullptr) override; // Not to be used
- Geom::IntRect getPickBox() const { return _pick_bbox; };
-
-@@ -37,7 +37,7 @@ public:
- unsigned flags, unsigned reset) override;
- DrawingItem *_pickItem(Geom::Point const &p, double delta, unsigned flags) override;
-
-- font_instance *_font;
-+ FontInstance *_font;
- int _glyph;
- bool _drawable;
- float _width; // These three are used to set up bounding box
-@@ -57,7 +57,7 @@ public:
- ~DrawingText() override;
-
- void clear();
-- bool addComponent(font_instance *font, int glyph, Geom::Affine const &trans,
-+ bool addComponent(FontInstance *font, int glyph, Geom::Affine const &trans,
- float width, float ascent, float descent, float phase_length);
- void setStyle(SPStyle *style, SPStyle *context_style = nullptr) override;
- void setChildrenStyle(SPStyle *context_style) override;
-diff --git src/libnrtype/FontFactory.cpp src/libnrtype/FontFactory.cpp
-index 9ce51c27e5b..7194be15487 100644
---- src/libnrtype/FontFactory.cpp
-+++ src/libnrtype/FontFactory.cpp
-@@ -11,7 +11,7 @@
- */
-
- #ifdef HAVE_CONFIG_H
--# include "config.h" // only include where actually required!
-+#include "config.h" // only include where actually required!
- #endif
-
- #ifndef PANGO_ENABLE_ENGINE
-@@ -35,48 +35,142 @@
- #include "libnrtype/font-instance.h"
- #include "libnrtype/OpenTypeUtil.h"
-
--# ifdef _WIN32
--
-+#ifdef _WIN32
- #include <glibmm.h>
- #include <windows.h>
--
- #endif
-
--typedef std::unordered_map<PangoFontDescription*, font_instance*, font_descr_hash, font_descr_equal> FaceMapType;
--
--// need to avoid using the size field
--size_t font_descr_hash::operator()( PangoFontDescription *const &x) const {
-- int h = 0;
-- char const *theF = sp_font_description_get_family(x);
-- h += (theF)?g_str_hash(theF):0;
-- h *= 1128467;
-- h += (int)pango_font_description_get_style(x);
-- h *= 1128467;
-- h += (int)pango_font_description_get_variant(x);
-- h *= 1128467;
-- h += (int)pango_font_description_get_weight(x);
-- h *= 1128467;
-- h += (int)pango_font_description_get_stretch(x);
-- char const *theV = pango_font_description_get_variations(x);
-- h *= 1128467;
-- h += (theV)?g_str_hash(theV):0;
-- return h;
--}
-+struct FontFactory::Private
-+{
-+ // A hashmap of all the loaded font instances, indexed by their PangoFontDescription.
-+ // Note: Since pango already does that, using the PangoFont could work too.
-+ struct Hash
-+ {
-+ size_t operator()(PangoFontDescription const *x) const
-+ {
-+ // Need to avoid using the size field.
-+ size_t hash = 0;
-+ auto const family = sp_font_description_get_family(x);
-+ hash += family ? g_str_hash(family) : 0;
-+ hash *= 1128467;
-+ hash += (size_t)pango_font_description_get_style(x);
-+ hash *= 1128467;
-+ hash += (size_t)pango_font_description_get_variant(x);
-+ hash *= 1128467;
-+ hash += (size_t)pango_font_description_get_weight(x);
-+ hash *= 1128467;
-+ hash += (size_t)pango_font_description_get_stretch(x);
-+ hash *= 1128467;
-+ auto const variations = pango_font_description_get_variations(x);
-+ hash += variations ? g_str_hash(variations) : 0;
-+ return hash;
-+ }
-+ };
-+
-+ struct Compare
-+ {
-+ bool operator()(PangoFontDescription const *a, PangoFontDescription const *b) const
-+ {
-+ // return pango_font_description_equal(a, b);
-+ auto const fa = sp_font_description_get_family(a);
-+ auto const fb = sp_font_description_get_family(b);
-+ if ((bool)fa != (bool)fb) return false;
-+ if (fa && fb && std::strcmp(fa, fb) != 0) return false;
-+ if (pango_font_description_get_style(a) != pango_font_description_get_style(b) ) return false;
-+ if (pango_font_description_get_variant(a) != pango_font_description_get_variant(b) ) return false;
-+ if (pango_font_description_get_weight(a) != pango_font_description_get_weight(b) ) return false;
-+ if (pango_font_description_get_stretch(a) != pango_font_description_get_stretch(b) ) return false;
-+ if (g_strcmp0(pango_font_description_get_variations(a),
-+ pango_font_description_get_variations(b) ) != 0) return false;
-+ return true;
-+ }
-+ };
-+
-+ std::unordered_map<PangoFontDescription*, FontInstance*, Hash, Compare> map;
-+
-+ // A little cache for fonts, so that you don't lose your time looking up fonts in the font list.
-+ // Each font in the cache is refcounted once (and deref'd when removed from the cache).
-+ // Note: This cache only keeps fonts from being unref'd, and does not speed up access.
-+ struct FontEntry
-+ {
-+ FontInstance *font;
-+ double age;
-+ };
-+ std::vector<FontEntry> cache;
-+ static constexpr int max_cache_size = 64;
-+
-+ void add_in_cache(FontInstance *font)
-+ {
-+ if (!font) return;
-+
-+ for (auto &c : cache) {
-+ c.age *= 0.9;
-+ }
-
--bool font_descr_equal::operator()( PangoFontDescription *const&a, PangoFontDescription *const &b) const {
-- //if ( pango_font_description_equal(a,b) ) return true;
-- char const *fa = sp_font_description_get_family(a);
-- char const *fb = sp_font_description_get_family(b);
-- if ( ( fa && fb == nullptr ) || ( fb && fa == nullptr ) ) return false;
-- if ( fa && fb && strcmp(fa,fb) != 0 ) return false;
-- if ( pango_font_description_get_style(a) != pango_font_description_get_style(b) ) return false;
-- if ( pango_font_description_get_variant(a) != pango_font_description_get_variant(b) ) return false;
-- if ( pango_font_description_get_weight(a) != pango_font_description_get_weight(b) ) return false;
-- if ( pango_font_description_get_stretch(a) != pango_font_description_get_stretch(b) ) return false;
-- if ( g_strcmp0( pango_font_description_get_variations(a),
-- pango_font_description_get_variations(b) ) != 0 ) return false;
-- return true;
--}
-+ for (auto &c : cache) {
-+ if (c.font == font) {
-+ // printf("present\n");
-+ c.age += 1.0;
-+ return;
-+ }
-+ }
-+
-+ if (cache.size() > max_cache_size) {
-+ g_warning("cache sur-plein?");
-+ return;
-+ }
-+
-+ font->Ref();
-+
-+ if (cache.size() == max_cache_size) {
-+ // Cache is filled, unref the oldest font in it.
-+ int bi = 0;
-+ double ba = cache[bi].age;
-+ for (int i = 1; i < cache.size(); i++) {
-+ if (cache[i].age < ba) {
-+ bi = i;
-+ ba = cache[bi].age;
-+ }
-+ }
-+ cache[bi].font->Unref();
-+ cache[bi] = std::move(cache.back());
-+ cache.pop_back();
-+ }
-+
-+ cache.push_back({font, 1.0});
-+ }
-+
-+ // The following two commented out maps were an attempt to allow Inkscape to use font faces
-+ // that could not be distinguished by CSS values alone. In practice, they never were that
-+ // useful as PangoFontDescription, which is used throughout our code, cannot distinguish
-+ // between faces anymore than raw CSS values (with the exception of two additional weight
-+ // values).
-+ //
-+ // During various works, for example to handle font-family lists and fonts that are not
-+ // installed on the system, the code has become less reliant on these maps. And in the work to
-+ // cache style information to speed up start up times, the maps were not being filled.
-+ // I've removed all code that used these maps as of Oct 2014 in the experimental branch.
-+ // The commented out maps are left here as a reminder of the path that was attempted.
-+ //
-+ // One possible method to keep track of font faces would be to use the 'display name', keeping
-+ // pointers to the appropriate PangoFontFace. The font_factory loadedFaces map indexing would
-+ // have to be changed to incorporate 'display name' (InkscapeFontDescription?).
-+
-+
-+ // These two maps are used for translating between what's in the UI and a pango
-+ // font description. This is necessary because Pango cannot always
-+ // reproduce these structures from the names it gave us in the first place.
-+
-+ // Key: A string produced by font_factory::ConstructFontSpecification
-+ // Value: The associated PangoFontDescription
-+ // typedef std::map<Glib::ustring, PangoFontDescription *> PangoStringToDescrMap;
-+ // PangoStringToDescrMap fontInstanceMap;
-+
-+ // Key: Family name in UI + Style name in UI
-+ // Value: The associated string that should be produced with font_factory::ConstructFontSpecification
-+ // typedef std::map<Glib::ustring, Glib::ustring> UIStringToPangoStringMap;
-+ // UIStringToPangoStringMap fontStringMap;
-+};
-
- // User must free return value.
- PangoFontDescription* ink_font_description_from_style(SPStyle const *style)
-@@ -86,7 +180,7 @@ PangoFontDescription* ink_font_description_from_style(SPStyle const *style)
- pango_font_description_set_family(descr, style->font_family.value());
-
- // This duplicates Layout::EnumConversionItem... perhaps we can share code?
-- switch ( style->font_style.computed ) {
-+ switch (style->font_style.computed) {
- case SP_CSS_FONT_STYLE_ITALIC:
- pango_font_description_set_style(descr, PANGO_STYLE_ITALIC);
- break;
-@@ -101,7 +195,7 @@ PangoFontDescription* ink_font_description_from_style(SPStyle const *style)
- break;
- }
-
-- switch( style->font_weight.computed ) {
-+ switch (style->font_weight.computed) {
- case SP_CSS_FONT_WEIGHT_100:
- pango_font_description_set_weight(descr, PANGO_WEIGHT_THIN);
- break;
-@@ -193,7 +287,7 @@ PangoFontDescription* ink_font_description_from_style(SPStyle const *style)
- break;
- }
-
-- switch ( style->font_variant.computed ) {
-+ switch (style->font_variant.computed) {
- case SP_CSS_FONT_VARIANT_SMALL_CAPS:
- pango_font_description_set_variant(descr, PANGO_VARIANT_SMALL_CAPS);
- break;
-@@ -218,12 +312,11 @@ static void noop(...) {}
- //#define PANGO_DEBUG g_print
- #define PANGO_DEBUG noop
-
--
- ///////////////////// FontFactory
- // the substitute function to tell fontconfig to enforce outline fonts
--static void FactorySubstituteFunc(FcPattern *pattern,gpointer /*data*/)
-+static void FactorySubstituteFunc(FcPattern *pattern, gpointer /*data*/)
- {
-- FcPatternAddBool(pattern, "FC_OUTLINE",FcTrue);
-+ FcPatternAddBool(pattern, "FC_OUTLINE", FcTrue);
- //char *fam = NULL;
- //FcPatternGetString(pattern, "FC_FAMILY",0, &fam);
- //printf("subst_f on %s\n",fam);
-@@ -235,30 +328,22 @@ FontFactory &FontFactory::get()
- return factory;
- }
-
--FontFactory::FontFactory() :
-- nbEnt(0), // Note: this "ents" cache only keeps fonts from being unreffed, does not speed up access
-- maxEnt(32),
-- ents(static_cast<font_entry*>(g_malloc(maxEnt*sizeof(font_entry)))),
-- fontServer(pango_ft2_font_map_new()),
-- fontContext(pango_font_map_create_context(fontServer)),
-- fontSize(512),
-- loadedPtr(new FaceMapType())
-+FontFactory::FontFactory()
-+ : fontServer(pango_ft2_font_map_new())
-+ , fontContext(pango_font_map_create_context(fontServer))
-+ , priv(std::make_unique<Private>())
- {
-- pango_ft2_font_map_set_resolution(PANGO_FT2_FONT_MAP(fontServer),
-- 72, 72);
-+ pango_ft2_font_map_set_resolution(PANGO_FT2_FONT_MAP(fontServer), 72, 72);
- #if PANGO_VERSION_CHECK(1,48,0)
-- pango_fc_font_map_set_default_substitute(PANGO_FC_FONT_MAP(fontServer),
-+ pango_fc_font_map_set_default_substitute(PANGO_FC_FONT_MAP(fontServer), FactorySubstituteFunc, this, nullptr);
- #else
-- pango_ft2_font_map_set_default_substitute(PANGO_FT2_FONT_MAP(fontServer),
-+ pango_ft2_font_map_set_default_substitute(PANGO_FT2_FONT_MAP(fontServer), FactorySubstituteFunc, this, nullptr);
- #endif
-- FactorySubstituteFunc,
-- this,
-- nullptr);
- }
-
- FontFactory::~FontFactory()
- {
-- // FIXME: This destructor wasn't getting called for years. It turns out enabling it causes crashes on exit.
-+ // FIXME: This destructor wasn't getting called for years. It turns out after finally enabling it, it crashes.
- /*
- for (int i = 0;i < nbEnt;i++) ents[i].f->Unref();
- if ( ents ) g_free(ents);
-@@ -289,20 +374,18 @@ Glib::ustring FontFactory::ConstructFontSpecification(PangoFontDescription *font
-
- PangoFontDescription *copy = pango_font_description_copy(font);
-
-- pango_font_description_unset_fields (copy, PANGO_FONT_MASK_SIZE);
-- char * copyAsString = pango_font_description_to_string(copy);
-+ pango_font_description_unset_fields(copy, PANGO_FONT_MASK_SIZE);
-+ char *copyAsString = pango_font_description_to_string(copy);
- pangoString = copyAsString;
- g_free(copyAsString);
-- copyAsString = nullptr;
-
- pango_font_description_free(copy);
--
- }
-
- return pangoString;
- }
-
--Glib::ustring FontFactory::ConstructFontSpecification(font_instance *font)
-+Glib::ustring FontFactory::ConstructFontSpecification(FontInstance *font)
- {
- Glib::ustring pangoString;
-
-@@ -322,21 +405,22 @@ Glib::ustring FontFactory::ConstructFontSpecification(font_instance *font)
- *
- * This function should be called in place of pango_font_description_get_family()
- */
--const char *sp_font_description_get_family(PangoFontDescription const *fontDescr) {
--
-+char const *sp_font_description_get_family(PangoFontDescription const *fontDescr)
-+{
- static std::map<Glib::ustring, Glib::ustring> fontNameMap;
-- std::map<Glib::ustring, Glib::ustring>::iterator it;
-
- if (fontNameMap.empty()) {
-- fontNameMap.insert(std::make_pair("Sans", "sans-serif"));
-- fontNameMap.insert(std::make_pair("Serif", "serif"));
-- fontNameMap.insert(std::make_pair("Monospace", "monospace"));
-+ fontNameMap.emplace("Sans", "sans-serif");
-+ fontNameMap.emplace("Serif", "serif");
-+ fontNameMap.emplace("Monospace", "monospace");
- }
-
- const char *pangoFamily = pango_font_description_get_family(fontDescr);
-
-- if (pangoFamily && ((it = fontNameMap.find(pangoFamily)) != fontNameMap.end())) {
-- return (it->second).c_str();
-+ if (pangoFamily) {
-+ if (auto it = fontNameMap.find(pangoFamily); it != fontNameMap.end()) {
-+ return it->second.c_str();
-+ }
- }
-
- return pangoFamily;
-@@ -352,7 +436,7 @@ Glib::ustring FontFactory::GetUIFamilyString(PangoFontDescription const *fontDes
- // For now, keep it as family name taken from pango
- const char *pangoFamily = sp_font_description_get_family(fontDescr);
-
-- if( pangoFamily ) {
-+ if (pangoFamily) {
- family = pangoFamily;
- }
- }
-@@ -376,27 +460,22 @@ Glib::ustring FontFactory::GetUIStyleString(PangoFontDescription const *fontDesc
- char *fontDescrAsString = pango_font_description_to_string(fontDescrCopy);
- style = fontDescrAsString;
- g_free(fontDescrAsString);
-- fontDescrAsString = nullptr;
- pango_font_description_free(fontDescrCopy);
- }
-
- return style;
- }
-
--
--/////
--
- // Calculate a Style "value" based on CSS values for ordering styles.
--static int StyleNameValue( const Glib::ustring &style )
-+static int StyleNameValue(Glib::ustring const &style)
- {
--
-- PangoFontDescription *pfd = pango_font_description_from_string ( style.c_str() );
-+ PangoFontDescription *pfd = pango_font_description_from_string (style.c_str());
- int value =
-- pango_font_description_get_weight ( pfd ) * 1000000 +
-- pango_font_description_get_style ( pfd ) * 10000 +
-- pango_font_description_get_stretch( pfd ) * 100 +
-- pango_font_description_get_variant( pfd );
-- pango_font_description_free ( pfd );
-+ pango_font_description_get_weight (pfd) * 1000000 +
-+ pango_font_description_get_style (pfd) * 10000 +
-+ pango_font_description_get_stretch(pfd) * 100 +
-+ pango_font_description_get_variant(pfd);
-+ pango_font_description_free (pfd);
- return value;
- }
-
-@@ -408,8 +487,7 @@ static int StyleNameValue( const Glib::ustring &style )
-
- static gint StyleNameCompareInternalGlib(gconstpointer a, gconstpointer b)
- {
-- return( StyleNameValue( ((StyleNames *)a)->CssName ) <
-- StyleNameValue( ((StyleNames *)b)->CssName ) ? -1 : 1 );
-+ return StyleNameValue(((StyleNames*)a)->CssName) < StyleNameValue(((StyleNames*)b)->CssName) ? -1 : 1;
- }
-
- static bool ustringPairSort(std::pair<PangoFontFamily*, Glib::ustring> const& first, std::pair<PangoFontFamily*, Glib::ustring> const& second)
-@@ -418,20 +496,20 @@ static bool ustringPairSort(std::pair<PangoFontFamily*, Glib::ustring> const& fi
- return first.second < second.second;
- }
-
--void FontFactory::GetUIFamilies(std::vector<PangoFontFamily *>& out)
-+void FontFactory::GetUIFamilies(std::vector<PangoFontFamily*> &out)
- {
- // Gather the family names as listed by Pango
-- PangoFontFamily** families = nullptr;
-+ PangoFontFamily **families = nullptr;
- int numFamilies = 0;
- pango_font_map_list_families(fontServer, &families, &numFamilies);
-
-- std::vector<std::pair<PangoFontFamily *, Glib::ustring> > sorted;
-+ std::vector<std::pair<PangoFontFamily*, Glib::ustring>> sorted;
-
- // not size_t
- for (int currentFamily = 0; currentFamily < numFamilies; ++currentFamily) {
- const char* displayName = pango_font_family_get_name(families[currentFamily]);
-
-- if (displayName == nullptr || *displayName == '\0') {
-+ if (!displayName || *displayName == '\0') {
- std::cerr << "font_factory::GetUIFamilies: Missing displayName! " << std::endl;
- continue;
- }
-@@ -446,18 +524,18 @@ void FontFactory::GetUIFamilies(std::vector<PangoFontFamily *>& out)
-
- std::sort(sorted.begin(), sorted.end(), ustringPairSort);
-
-- for (auto & i : sorted) {
-+ for (auto &i : sorted) {
- out.push_back(i.first);
- }
- }
-
--GList* FontFactory::GetUIStyles(PangoFontFamily * in)
-+GList *FontFactory::GetUIStyles(PangoFontFamily *in)
- {
- GList* ret = nullptr;
- // Gather the styles for this family
-- PangoFontFace** faces = nullptr;
-+ PangoFontFace **faces = nullptr;
- int numFaces = 0;
-- if (in == nullptr) {
-+ if (!in) {
- std::cerr << "font_factory::GetUIStyles(): PangoFontFamily is NULL" << std::endl;
- return ret;
- }
-@@ -468,9 +546,9 @@ GList* FontFactory::GetUIStyles(PangoFontFamily * in)
-
- // If the face has a name, describe it, and then use the
- // description to get the UI family and face strings
-- const gchar* displayName = pango_font_face_get_face_name(faces[currentFace]);
-+ gchar const *displayName = pango_font_face_get_face_name(faces[currentFace]);
- // std::cout << "Display Name: " << displayName << std::endl;
-- if (displayName == nullptr || *displayName == '\0') {
-+ if (!displayName || *displayName == '\0') {
- std::cerr << "font_factory::GetUIStyles: Missing displayName! " << std::endl;
- continue;
- }
-@@ -483,11 +561,11 @@ GList* FontFactory::GetUIStyles(PangoFontFamily * in)
-
- // Disable synthesized (faux) font faces except for CSS generic faces
- if (pango_font_face_is_synthesized(faces[currentFace]) ) {
-- if (familyUIName.compare( "sans-serif" ) != 0 &&
-- familyUIName.compare( "serif" ) != 0 &&
-- familyUIName.compare( "monospace" ) != 0 &&
-- familyUIName.compare( "fantasy" ) != 0 &&
-- familyUIName.compare( "cursive" ) != 0 ) {
-+ if (familyUIName.compare("sans-serif") != 0 &&
-+ familyUIName.compare("serif" ) != 0 &&
-+ familyUIName.compare("monospace" ) != 0 &&
-+ familyUIName.compare("fantasy" ) != 0 &&
-+ familyUIName.compare("cursive" ) != 0 ) {
- continue;
- }
- }
-@@ -547,10 +625,9 @@ GList* FontFactory::GetUIStyles(PangoFontFamily * in)
- return ret;
- }
-
--
--font_instance* FontFactory::FaceFromStyle(SPStyle const *style)
-+FontInstance* FontFactory::FaceFromStyle(SPStyle const *style)
- {
-- font_instance *font = nullptr;
-+ FontInstance *font = nullptr;
-
- g_assert(style);
-
-@@ -567,8 +644,7 @@ font_instance* FontFactory::FaceFromStyle(SPStyle const *style)
-
- // If that failed, try using the CSS information in the style
- if (!font) {
-- PangoFontDescription* temp_descr =
-- ink_font_description_from_style(style);
-+ auto temp_descr = ink_font_description_from_style(style);
- font = Face(temp_descr);
- pango_font_description_free(temp_descr);
- }
-@@ -577,18 +653,18 @@ font_instance* FontFactory::FaceFromStyle(SPStyle const *style)
- return font;
- }
-
--font_instance *FontFactory::FaceFromDescr(char const *family, char const *style)
-+FontInstance *FontFactory::FaceFromDescr(char const *family, char const *style)
- {
- PangoFontDescription *temp_descr = pango_font_description_from_string(style);
- pango_font_description_set_family(temp_descr,family);
-- font_instance *res = Face(temp_descr);
-+ FontInstance *res = Face(temp_descr);
- pango_font_description_free(temp_descr);
- return res;
- }
-
--font_instance* FontFactory::FaceFromPangoString(char const *pangoString)
-+FontInstance* FontFactory::FaceFromPangoString(char const *pangoString)
- {
-- font_instance *fontInstance = nullptr;
-+ FontInstance *fontInstance = nullptr;
-
- g_assert(pangoString);
-
-@@ -599,7 +675,7 @@ font_instance* FontFactory::FaceFromPangoString(char const *pangoString)
- PangoFontDescription *descr = pango_font_description_from_string(pangoString);
-
- if (descr) {
-- if (sp_font_description_get_family(descr) != nullptr) {
-+ if (sp_font_description_get_family(descr)) {
- fontInstance = Face(descr);
- }
- pango_font_description_free(descr);
-@@ -609,9 +685,9 @@ font_instance* FontFactory::FaceFromPangoString(char const *pangoString)
- return fontInstance;
- }
-
--font_instance* FontFactory::FaceFromFontSpecification(char const *fontSpecification)
-+FontInstance* FontFactory::FaceFromFontSpecification(char const *fontSpecification)
- {
-- font_instance *font = nullptr;
-+ FontInstance *font = nullptr;
-
- g_assert(fontSpecification);
-
-@@ -625,58 +701,60 @@ font_instance* FontFactory::FaceFromFontSpecification(char const *fontSpecificat
- return font;
- }
-
--font_instance *FontFactory::Face(PangoFontDescription *descr, bool canFail)
-+FontInstance *FontFactory::Face(PangoFontDescription *descr, bool canFail)
- {
-- pango_font_description_set_size(descr, (int) (fontSize*PANGO_SCALE)); // mandatory huge size (hinting workaround)
-+ pango_font_description_set_size(descr, fontSize * PANGO_SCALE); // Mandatory huge size (hinting workaround)
-
-- font_instance *res = nullptr;
-+ FontInstance *res = nullptr;
-
-- FaceMapType& loadedFaces = *static_cast<FaceMapType*>(loadedPtr);
-- if ( loadedFaces.find(descr) == loadedFaces.end() ) {
-- // not yet loaded
-+ if (auto it = priv->map.find(descr); it != priv->map.end()) {
-+ // Already loaded.
-+ res = it->second;
-+ res->Ref();
-+ priv->add_in_cache(res);
-+ } else {
-+ // Not yet loaded.
- PangoFont *nFace = nullptr;
-
-- // workaround for bug #1025565.
-- // fonts without families blow up Pango.
-- if (sp_font_description_get_family(descr) != nullptr) {
-- nFace = pango_font_map_load_font(fontServer,fontContext,descr);
-- }
-- else {
-+ // Workaround for bug #1025565: fonts without families blow up Pango.
-+ if (sp_font_description_get_family(descr)) {
-+ nFace = pango_font_map_load_font(fontServer, fontContext, descr);
-+ } else {
- g_warning("%s", _("Ignoring font without family that will crash Pango"));
- }
-
-- if ( nFace ) {
-+ if (nFace) {
- // duplicate FcPattern, the hard way
-- res = new font_instance();
-- // store the descr of the font we asked for, since this is the key where we intend
-- // to put the font_instance at in the unordered_map. the descr of the returned
-+ res = new FontInstance();
-+ // Store the descr of the font we asked for, since this is the key where we intend
-+ // to put the font instance at in the unordered_map. The descr of the returned
- // pangofont may differ from what was asked, so we don't know (at this
- // point) whether loadedFaces[that_descr] is free or not (and overwriting
-- // an entry will bring deallocation problems)
-+ // an entry will bring deallocation problems).
- res->descr = pango_font_description_copy(descr);
- res->parent = this;
- res->InstallFace(nFace);
-- if ( res->pFont == nullptr ) {
-- // failed to install face -> bitmap font
-+ if (!res->pFont) {
-+ // Failed to install face -> bitmap font
- // printf("face failed\n");
- res->parent = nullptr;
- delete res;
- res = nullptr;
-- if ( canFail ) {
-- char *tc = pango_font_description_to_string(descr);
-- PANGO_DEBUG("falling back from %s to 'sans-serif' because InstallFace failed\n",tc);
-+ if (canFail) {
-+ auto const tc = pango_font_description_to_string(descr);
-+ PANGO_DEBUG("falling back from %s to 'sans-serif' because InstallFace failed\n", tc);
- g_free(tc);
-- pango_font_description_set_family(descr,"sans-serif");
-- res = Face(descr,false);
-+ pango_font_description_set_family(descr, "sans-serif");
-+ res = Face(descr, false);
- }
- } else {
-- loadedFaces[res->descr]=res;
-+ priv->map.emplace(res->descr, res);
- res->Ref();
-- AddInCache(res);
-+ priv->add_in_cache(res);
- }
- } else {
-- // no match
-- if ( canFail ) {
-+ // No match.
-+ if (canFail) {
- PANGO_DEBUG("falling back to 'sans-serif'\n");
- PangoFontDescription *new_descr = pango_font_description_new();
- pango_font_description_set_family(new_descr, "sans-serif");
-@@ -686,16 +764,12 @@ font_instance *FontFactory::Face(PangoFontDescription *descr, bool canFail)
- g_critical("Could not load any face for font '%s'.", pango_font_description_to_string(descr));
- }
- }
--
-- } else {
-- // already here
-- res = loadedFaces[descr];
-- res->Ref();
-- AddInCache(res);
- }
-+
- if (res) {
- res->InitTheFace();
- }
-+
- return res;
- }
-
-@@ -714,54 +788,18 @@ font_instance *FontFactory::Face(PangoFontDescription *descr, bool canFail)
- // return res;
- // }
-
--void FontFactory::UnrefFace(font_instance *who)
-+void FontFactory::UnrefFace(FontInstance *font)
- {
-- if ( who ) {
-- FaceMapType& loadedFaces = *static_cast<FaceMapType*>(loadedPtr);
--
-- if ( loadedFaces.find(who->descr) == loadedFaces.end() ) {
-- // not found
-- char *tc = pango_font_description_to_string(who->descr);
-- g_warning("unrefFace %p=%s: failed\n",who,tc);
-- g_free(tc);
-- } else {
-- loadedFaces.erase(loadedFaces.find(who->descr));
-- // printf("unrefFace %p: success\n",who);
-- }
-- }
--}
-+ if (!font) return;
-
--void FontFactory::AddInCache(font_instance *who)
--{
-- if ( who == nullptr ) return;
-- for (int i = 0;i < nbEnt;i++) ents[i].age *= 0.9;
-- for (int i = 0;i < nbEnt;i++) {
-- if ( ents[i].f == who ) {
-- // printf("present\n");
-- ents[i].age += 1.0;
-- return;
-- }
-- }
-- if ( nbEnt > maxEnt ) {
-- printf("cache sur-plein?\n");
-- return;
-- }
-- who->Ref();
-- if ( nbEnt == maxEnt ) { // cache is filled, unref the oldest-accessed font in it
-- int bi = 0;
-- double ba = ents[bi].age;
-- for (int i = 1;i < nbEnt;i++) {
-- if ( ents[i].age < ba ) {
-- bi = i;
-- ba = ents[bi].age;
-- }
-- }
-- ents[bi].f->Unref();
-- ents[bi]=ents[--nbEnt];
-+ if (auto it = priv->map.find(font->descr); it != priv->map.end()) {
-+ priv->map.erase(it);
-+ // printf("unrefFace %p: success\n", who);
-+ } else {
-+ auto const tc = pango_font_description_to_string(font->descr);
-+ g_warning("unrefFace %p=%s: failed\n", font, tc);
-+ g_free(tc);
- }
-- ents[nbEnt].f = who;
-- ents[nbEnt].age = 1.0;
-- nbEnt++;
- }
-
- # ifdef _WIN32
-diff --git src/libnrtype/FontFactory.h src/libnrtype/FontFactory.h
-index adc9489adde..400b588af02 100644
---- src/libnrtype/FontFactory.h
-+++ src/libnrtype/FontFactory.h
-@@ -14,30 +14,16 @@
- #include <functional>
- #include <algorithm>
- #include <utility>
-+#include <memory>
-
- #include <pango/pango.h>
- #include "style.h"
-
--/* Freetype */
- #include <pango/pangoft2.h>
- #include <ft2build.h>
- #include FT_FREETYPE_H
-
--class font_instance;
--
--namespace Glib
--{
-- class ustring;
--}
--
--// the font_factory keeps a hashmap of all the loaded font_instances, and uses the PangoFontDescription
--// as index (nota: since pango already does that, using the PangoFont could work too)
--struct font_descr_hash : public std::unary_function<PangoFontDescription*,size_t> {
-- size_t operator()(PangoFontDescription *const &x) const;
--};
--struct font_descr_equal : public std::binary_function<PangoFontDescription*, PangoFontDescription*, bool> {
-- bool operator()(PangoFontDescription *const &a, PangoFontDescription *const &b) const;
--};
-+class FontInstance;
-
- // Constructs a PangoFontDescription from SPStyle. Font size is not included.
- // User must free return value.
-@@ -47,125 +33,75 @@ PangoFontDescription* ink_font_description_from_style(SPStyle const *style);
- const char *sp_font_description_get_family(PangoFontDescription const *fontDescr);
-
- // Class for style strings: both CSS and as suggested by font.
--class StyleNames {
--
--public:
-- StyleNames() = default;;
-- StyleNames( Glib::ustring name ) :
-- CssName( name ), DisplayName( name ) {};
-- StyleNames( Glib::ustring cssname, Glib::ustring displayname ) :
-- CssName(std::move( cssname )), DisplayName(std::move( displayname )) {};
-+struct StyleNames
-+{
-+ StyleNames() = default;
-+ StyleNames(Glib::ustring name) : StyleNames(name, std::move(name)) {}
-+ StyleNames(Glib::ustring cssname, Glib::ustring displayname) : CssName(std::move(cssname)), DisplayName(std::move(displayname)) {};
-
--public:
- Glib::ustring CssName; // Style as Pango/CSS would write it.
- Glib::ustring DisplayName; // Style as Font designer named it.
- };
-
--// Map type for gathering UI family and style names
--// typedef std::map<Glib::ustring, std::list<StyleNames> > FamilyToStylesMap;
--
- class FontFactory
- {
--public:
-- /** A little cache for fonts, so that you don't loose your time looking up fonts in the font list
-- * each font in the cache is refcounted once (and deref'd when removed from the cache). */
-- struct font_entry {
-- font_instance *f;
-- double age;
-- };
-- int nbEnt; ///< Number of entries.
-- int maxEnt; ///< Cache size.
-- font_entry *ents;
--
-- // Pango data. Backend-specific structures are cast to these opaque types.
-- PangoFontMap *fontServer;
-- PangoContext *fontContext;
-- double fontSize; /**< The huge fontsize used as workaround for hinting.
-- * Different between freetype and win32. */
--
- FontFactory();
- ~FontFactory();
-
-+public:
- /// Returns the font factory static instance.
- static FontFactory &get();
-
-+ ///< The fontsize used as workaround for hinting.
-+ static constexpr double fontSize = 512;
-+
-+ // Pango data. Backend-specific structures are cast to these opaque types.
-+ PangoFontMap *fontServer;
-+ PangoContext *fontContext;
-+
- /// Constructs a pango string for use with the fontStringMap (see below)
-- Glib::ustring ConstructFontSpecification(PangoFontDescription *font);
-- Glib::ustring ConstructFontSpecification(font_instance *font);
-+ Glib::ustring ConstructFontSpecification(PangoFontDescription *font);
-+ Glib::ustring ConstructFontSpecification(FontInstance *font);
-
- /// Returns strings to be used in the UI for family and face (or "style" as the column is labeled)
-- Glib::ustring GetUIFamilyString(PangoFontDescription const *fontDescr);
-- Glib::ustring GetUIStyleString(PangoFontDescription const *fontDescr);
-+ Glib::ustring GetUIFamilyString(PangoFontDescription const *fontDescr);
-+ Glib::ustring GetUIStyleString(PangoFontDescription const *fontDescr);
-
- // Helpfully inserts all font families into the provided vector
-- void GetUIFamilies(std::vector<PangoFontFamily *>& out);
-+ void GetUIFamilies(std::vector<PangoFontFamily*> &out);
- // Retrieves style information about a family in a newly allocated GList.
-- GList* GetUIStyles(PangoFontFamily * in);
-+ GList *GetUIStyles(PangoFontFamily *in);
-
- /// Retrieve a font_instance from a style object, first trying to use the font-specification, the CSS information
-- font_instance* FaceFromStyle(SPStyle const *style);
-+ FontInstance *FaceFromStyle(SPStyle const *style);
-
- // Various functions to get a font_instance from different descriptions.
-- font_instance* FaceFromDescr(char const *family, char const *style);
-- font_instance* FaceFromUIStrings(char const *uiFamily, char const *uiStyle);
-- font_instance* FaceFromPangoString(char const *pangoString);
-- font_instance* FaceFromFontSpecification(char const *fontSpecification);
-- font_instance* Face(PangoFontDescription *descr, bool canFail=true);
-- font_instance* Face(char const *family,
-- int variant=PANGO_VARIANT_NORMAL, int style=PANGO_STYLE_NORMAL,
-- int weight=PANGO_WEIGHT_NORMAL, int stretch=PANGO_STRETCH_NORMAL,
-- int size=10, int spacing=0);
--
-- /// Semi-private: tells the font_factory that the font_instance 'who' has died and should be removed from loadedFaces
-- void UnrefFace(font_instance* who);
--
-- // internal
-- void AddInCache(font_instance *who);
-+ FontInstance *FaceFromDescr(char const *family, char const *style);
-+ FontInstance *FaceFromUIStrings(char const *uiFamily, char const *uiStyle);
-+ FontInstance *FaceFromPangoString(char const *pangoString);
-+ FontInstance *FaceFromFontSpecification(char const *fontSpecification);
-+ FontInstance *Face(PangoFontDescription *descr, bool canFail = true);
-+ FontInstance *Face(char const *family,
-+ int variant = PANGO_VARIANT_NORMAL, int style = PANGO_STYLE_NORMAL,
-+ int weight = PANGO_WEIGHT_NORMAL, int stretch = PANGO_STRETCH_NORMAL,
-+ int size = 10, int spacing = 0);
-+
-+ /// Semi-private: tells the font factory that the font_instance 'font' has died and should be removed from loadedFaces
-+ void UnrefFace(FontInstance *font);
-
- # ifdef _WIN32
-- void AddFontFilesWin32(char const *directory_path);
-+ void AddFontFilesWin32(char const *directory_path);
- # endif
-
- /// Add a directory from which to include additional fonts
-- void AddFontsDir(char const *utf8dir);
-+ void AddFontsDir(char const *utf8dir);
-
- /// Add a an additional font.
-- void AddFontFile(char const *utf8file);
-+ void AddFontFile(char const *utf8file);
-
- private:
-- void* loadedPtr;
--
--
-- // The following two commented out maps were an attempt to allow Inkscape to use font faces
-- // that could not be distinguished by CSS values alone. In practice, they never were that
-- // useful as PangoFontDescription, which is used throughout our code, cannot distinguish
-- // between faces anymore than raw CSS values (with the exception of two additional weight
-- // values).
-- //
-- // During various works, for example to handle font-family lists and fonts that are not
-- // installed on the system, the code has become less reliant on these maps. And in the work to
-- // catch style information to speed up start up times, the maps were not being filled.
-- // I've removed all code that used these maps as of Oct 2014 in the experimental branch.
-- // The commented out maps are left here as a reminder of the path that was attempted.
-- //
-- // One possible method to keep track of font faces would be to use the 'display name', keeping
-- // pointers to the appropriate PangoFontFace. The font_factory loadedFaces map indexing would
-- // have to be changed to incorporate 'display name' (InkscapeFontDescription?).
--
--
-- // These two maps are used for translating between what's in the UI and a pango
-- // font description. This is necessary because Pango cannot always
-- // reproduce these structures from the names it gave us in the first place.
--
-- // Key: A string produced by font_factory::ConstructFontSpecification
-- // Value: The associated PangoFontDescription
-- // typedef std::map<Glib::ustring, PangoFontDescription *> PangoStringToDescrMap;
-- // PangoStringToDescrMap fontInstanceMap;
--
-- // Key: Family name in UI + Style name in UI
-- // Value: The associated string that should be produced with font_factory::ConstructFontSpecification
-- // typedef std::map<Glib::ustring, Glib::ustring> UIStringToPangoStringMap;
-- // UIStringToPangoStringMap fontStringMap;
-+ class Private;
-+ std::unique_ptr<Private> priv;
- };
-
- #endif // LIBNRTYPE_FONTFACTORY_H
-diff --git src/libnrtype/FontInstance.cpp src/libnrtype/FontInstance.cpp
-index 059449d0303..b4e94254779 100644
---- src/libnrtype/FontInstance.cpp
-+++ src/libnrtype/FontInstance.cpp
-@@ -102,7 +102,7 @@ static int ft2_cubic_to(FT_Vector const *control1, FT_Vector const *control2, FT
- *
- */
-
--font_instance::font_instance()
-+FontInstance::FontInstance()
- {
- //printf("font instance born\n");
- _ascent = _ascent_max = 0.8;
-@@ -121,7 +121,7 @@ font_instance::font_instance()
- _baselines[ SP_CSS_BASELINE_TEXT_AFTER_EDGE ] = -_descent;
- }
-
--font_instance::~font_instance()
-+FontInstance::~FontInstance()
- {
- if ( parent ) {
- parent->UnrefFace(this);
-@@ -156,7 +156,7 @@ font_instance::~font_instance()
- maxGlyph = 0;
- }
-
--void font_instance::Ref()
-+void FontInstance::Ref()
- {
- refCount++;
- //char *tc=pango_font_description_to_string(descr);
-@@ -164,7 +164,7 @@ void font_instance::Ref()
- //free(tc);
- }
-
--void font_instance::Unref()
-+void FontInstance::Unref()
- {
- refCount--;
- //char *tc=pango_font_description_to_string(descr);
-@@ -175,7 +175,7 @@ void font_instance::Unref()
- }
- }
-
--void font_instance::InitTheFace(bool loadgsub)
-+void FontInstance::InitTheFace(bool loadgsub)
- {
- if (pFont != nullptr && (theFace == nullptr || (loadgsub && !fulloaded))) {
- if (theFace) {
-@@ -286,7 +286,7 @@ void font_instance::InitTheFace(bool loadgsub)
- }
- }
-
--void font_instance::FreeTheFace()
-+void FontInstance::FreeTheFace()
- {
- #if HB_VERSION_ATLEAST(2,6,5)
- hb_ft_font_unlock_face(hb_font_copy);
-@@ -297,7 +297,7 @@ void font_instance::FreeTheFace()
- theFace=nullptr;
- }
-
--void font_instance::InstallFace(PangoFont* iFace)
-+void FontInstance::InstallFace(PangoFont* iFace)
- {
- if ( !iFace ) {
- return;
-@@ -316,7 +316,7 @@ void font_instance::InstallFace(PangoFont* iFace)
- }
- }
-
--bool font_instance::IsOutlineFont()
-+bool FontInstance::IsOutlineFont()
- {
- if ( pFont == nullptr ) {
- return false;
-@@ -325,7 +325,7 @@ bool font_instance::IsOutlineFont()
- return FT_IS_SCALABLE(theFace);
- }
-
--int font_instance::MapUnicodeChar(gunichar c)
-+int FontInstance::MapUnicodeChar(gunichar c)
- {
- int res = 0;
- if (pFont) {
-@@ -341,7 +341,7 @@ int font_instance::MapUnicodeChar(gunichar c)
- return res;
- }
-
--void font_instance::LoadGlyph(int glyph_id)
-+void FontInstance::LoadGlyph(int glyph_id)
- {
- if (!pFont) {
- return;
-@@ -428,7 +428,7 @@ void font_instance::LoadGlyph(int glyph_id)
- }
- }
-
--bool font_instance::FontMetrics(double &ascent,double &descent,double &xheight)
-+bool FontInstance::FontMetrics(double &ascent,double &descent,double &xheight)
- {
- if ( pFont == nullptr ) {
- return false;
-@@ -445,7 +445,7 @@ bool font_instance::FontMetrics(double &ascent,double &descent,double &xheight)
- return true;
- }
-
--bool font_instance::FontDecoration( double &underline_position, double &underline_thickness,
-+bool FontInstance::FontDecoration( double &underline_position, double &underline_thickness,
- double &linethrough_position, double &linethrough_thickness)
- {
- if (!pFont) {
-@@ -466,7 +466,7 @@ bool font_instance::FontDecoration( double &underline_position, double &underl
- return true;
- }
-
--bool font_instance::FontSlope(double &run, double &rise)
-+bool FontInstance::FontSlope(double &run, double &rise)
- {
- run = 0.0;
- rise = 1.0;
-@@ -493,7 +493,7 @@ bool font_instance::FontSlope(double &run, double &rise)
- return true;
- }
-
--Geom::OptRect font_instance::BBox(int glyph_id)
-+Geom::OptRect FontInstance::BBox(int glyph_id)
- {
- int no = -1;
- if ( id_to_no.find(glyph_id) == id_to_no.end() ) {
-@@ -515,7 +515,7 @@ Geom::OptRect font_instance::BBox(int glyph_id)
- }
- }
-
--Geom::PathVector* font_instance::PathVector(int glyph_id)
-+Geom::PathVector* FontInstance::PathVector(int glyph_id)
- {
- int no = -1;
- if ( id_to_no.find(glyph_id) == id_to_no.end() ) {
-@@ -532,7 +532,7 @@ Geom::PathVector* font_instance::PathVector(int glyph_id)
- return glyphs[no].pathvector;
- }
-
--Inkscape::Pixbuf* font_instance::PixBuf(int glyph_id)
-+Inkscape::Pixbuf* FontInstance::PixBuf(int glyph_id)
- {
- Inkscape::Pixbuf* pixbuf = nullptr;
-
-@@ -647,7 +647,7 @@ Inkscape::Pixbuf* font_instance::PixBuf(int glyph_id)
- return pixbuf;
- }
-
--double font_instance::Advance(int glyph_id, bool vertical)
-+double FontInstance::Advance(int glyph_id, bool vertical)
- {
- int no = -1;
- if ( id_to_no.find(glyph_id) == id_to_no.end() ) {
-@@ -671,7 +671,7 @@ double font_instance::Advance(int glyph_id, bool vertical)
- }
-
- // Internal function to find baselines
--void font_instance::FindFontMetrics() {
-+void FontInstance::FindFontMetrics() {
-
- // CSS2 recommends using the OS/2 values sTypoAscender and sTypoDescender for the Typographic
- // ascender and descender values:
-diff --git src/libnrtype/Layout-TNG-Compute.cpp src/libnrtype/Layout-TNG-Compute.cpp
-index b0f79e43b1b..a44e7084ea9 100644
---- src/libnrtype/Layout-TNG-Compute.cpp
-+++ src/libnrtype/Layout-TNG-Compute.cpp
-@@ -110,7 +110,7 @@ class Layout::Calculator
- pango_itemize(). */
- struct PangoItemInfo {
- PangoItem *item;
-- font_instance *font;
-+ FontInstance *font;
-
- PangoItemInfo() : item(nullptr), font(nullptr) {}
-
-@@ -426,7 +426,7 @@ bool Layout::Calculator::_measureUnbrokenSpan(ParagraphInfo const ¶,
-
- // Advance does not include kerning but Pango gives wrong advances for vertical text
- // with upright orientation (pre 1.44.0).
-- font_instance *font = para.pango_items[span->end.iter_span->pango_item_index].font;
-+ FontInstance *font = para.pango_items[span->end.iter_span->pango_item_index].font;
- double font_size = span->start.iter_span->font_size;
- //double glyph_h_advance = font_size * font->Advance(info->glyph, false);
- double glyph_v_advance = font_size * font->Advance(info->glyph, true );
-@@ -775,7 +775,7 @@ void Layout::Calculator::_outputLine(ParagraphInfo const ¶,
- unsigned end_byte = 0;
-
- // Get some pointers (constant for an unbroken span).
-- font_instance *font = para.pango_items[unbroken_span.pango_item_index].font;
-+ FontInstance *font = para.pango_items[unbroken_span.pango_item_index].font;
- PangoItem *pango_item = para.pango_items[unbroken_span.pango_item_index].item;
-
- // Loop over glyphs in span
-@@ -1349,7 +1349,7 @@ void Layout::Calculator::_buildPangoItemizationForPara(ParagraphInfo *para) con
- Layout::InputStreamTextSource *text_source = static_cast<Layout::InputStreamTextSource *>(_flow._input_stream[input_index]);
-
- // create the font_instance
-- font_instance *font = text_source->styleGetFontInstance();
-+ FontInstance *font = text_source->styleGetFontInstance();
- if (font == nullptr)
- continue; // bad news: we'll have to ignore all this text because we know of no font to render it
-
-@@ -1492,7 +1492,7 @@ unsigned Layout::Calculator::_buildSpansForPara(ParagraphInfo *para) const
- SPStyle * style = object->style;
- if (style) {
- new_span.font_size = style->font_size.computed * _flow.getTextLengthMultiplierDue();
-- font_instance * font = FontFactory::get().FaceFromStyle(style);
-+ FontInstance * font = FontFactory::get().FaceFromStyle(style);
- new_span.line_height_multiplier = _computeFontLineHeight(object->style);
- new_span.line_height.set(font);
- new_span.line_height *= new_span.font_size;
-@@ -1734,7 +1734,7 @@ unsigned Layout::Calculator::_buildSpansForPara(ParagraphInfo *para) const
- } else {
- // if there's no text we still need to initialise the styles
- new_span.pango_item_index = -1;
-- font_instance *font = text_source->styleGetFontInstance();
-+ FontInstance *font = text_source->styleGetFontInstance();
- if (font) {
- new_span.line_height_multiplier = _computeFontLineHeight( text_source->style );
- new_span.line_height.set( font );
-@@ -2337,12 +2337,12 @@ void Layout::_calculateCursorShapeForEmpty()
-
- InputStreamTextSource const *text_source = static_cast<InputStreamTextSource const *>(_input_stream.front());
-
-- font_instance *font = text_source->styleGetFontInstance();
-+ FontInstance *font = text_source->styleGetFontInstance();
- double font_size = text_source->style->font_size.computed;
- double caret_slope_run = 0.0, caret_slope_rise = 1.0;
- FontMetrics line_height;
- if (font) {
-- const_cast<font_instance*>(font)->FontSlope(caret_slope_run, caret_slope_rise);
-+ const_cast<FontInstance*>(font)->FontSlope(caret_slope_run, caret_slope_rise);
- font->FontMetrics(line_height.ascent, line_height.descent, line_height.xheight);
- line_height *= font_size;
- font->Unref();
-diff --git src/libnrtype/Layout-TNG-Input.cpp src/libnrtype/Layout-TNG-Input.cpp
-index 0b5560885f6..105161cec56 100644
---- src/libnrtype/Layout-TNG-Input.cpp
-+++ src/libnrtype/Layout-TNG-Input.cpp
-@@ -194,11 +194,11 @@ Layout::Alignment Layout::InputStreamTextSource::styleGetAlignment(Layout::Direc
- return para_direction == LEFT_TO_RIGHT ? LEFT : RIGHT;
- }
-
--font_instance *Layout::InputStreamTextSource::styleGetFontInstance() const
-+FontInstance *Layout::InputStreamTextSource::styleGetFontInstance() const
- {
- PangoFontDescription *descr = styleGetFontDescription();
- if (descr == nullptr) return nullptr;
-- font_instance *res = FontFactory::get().Face(descr);
-+ FontInstance *res = FontFactory::get().Face(descr);
- pango_font_description_free(descr);
- return res;
- }
-diff --git src/libnrtype/Layout-TNG-OutIter.cpp src/libnrtype/Layout-TNG-OutIter.cpp
-index dd2123e2fee..210a2dccb6d 100644
---- src/libnrtype/Layout-TNG-OutIter.cpp
-+++ src/libnrtype/Layout-TNG-OutIter.cpp
-@@ -602,7 +602,7 @@ void Layout::queryCursorShape(iterator const &it, Geom::Point &position, double
- // Horizontal text
- double caret_slope_run = 0.0, caret_slope_rise = 1.0;
- if (span->font)
-- const_cast<font_instance*>(span->font)->FontSlope(caret_slope_run, caret_slope_rise);
-+ const_cast<FontInstance*>(span->font)->FontSlope(caret_slope_run, caret_slope_rise);
- double caret_slope = atan2(caret_slope_run, caret_slope_rise);
- height = vertical_scale * (span->line_height.emSize()) / cos(caret_slope);
- rotation += caret_slope;
-diff --git src/libnrtype/Layout-TNG-Output.cpp src/libnrtype/Layout-TNG-Output.cpp
-index 33baaf76e33..61e6ad863c1 100644
---- src/libnrtype/Layout-TNG-Output.cpp
-+++ src/libnrtype/Layout-TNG-Output.cpp
-@@ -87,7 +87,7 @@ void Layout::_clearOutputObjects()
- _path_fitted = nullptr;
- }
-
--void Layout::FontMetrics::set(font_instance *font)
-+void Layout::FontMetrics::set(FontInstance *font)
- {
- if( font != nullptr ) {
- ascent = font->GetTypoAscent();
-diff --git src/libnrtype/Layout-TNG.h src/libnrtype/Layout-TNG.h
-index ec5e778cf23..2e0c11ff88f 100644
---- src/libnrtype/Layout-TNG.h
-+++ src/libnrtype/Layout-TNG.h
-@@ -41,7 +41,7 @@
- struct SPPrintContext;
- class Path;
- class SPCurve;
--class font_instance;
-+class FontInstance;
- typedef struct _PangoFontDescription PangoFontDescription;
-
- namespace Inkscape {
-@@ -632,7 +632,7 @@
- descent_max = 0.2;
- }
-
-- void set( font_instance *font );
-+ void set( FontInstance *font );
-
- // CSS 2.1 dictates that font-size is based on em-size which is defined as ascent + descent
- inline double emSize() const {return ascent + descent;}
-@@ -716,7 +716,7 @@
- // a few functions for some of the more complicated style accesses
- /// The return value must be freed with pango_font_description_free()
- PangoFontDescription *styleGetFontDescription() const;
-- font_instance *styleGetFontInstance() const;
-+ FontInstance *styleGetFontInstance() const;
- Direction styleGetBlockProgression() const;
- SPCSSTextOrientation styleGetTextOrientation() const;
- SPCSSBaseline styleGetDominantBaseline() const;
-@@ -837,7 +837,7 @@
- // A collection of characters that share the same style and position start (<text> or <tspan> x, y attributes).
- struct Span {
- unsigned in_chunk;
-- font_instance *font;
-+ FontInstance *font;
- float font_size;
- float x_start; /// relative to the start of the chunk
- float x_end; /// relative to the start of the chunk
-diff --git src/libnrtype/font-instance.h src/libnrtype/font-instance.h
-index 6ed9a1417e8..53c4cf0915a 100644
---- src/libnrtype/font-instance.h
-+++ src/libnrtype/font-instance.h
-@@ -30,7 +30,7 @@ struct font_glyph;
- // that are drawn by the raster_font, so the raster_font needs info relative to the way the
- // font need to be drawn. note that fontsize is a scale factor in the transform matrix
- // of the style
--class font_instance {
-+class FontInstance {
- public:
- // the real source of the font
- PangoFont* pFont = nullptr;
-@@ -66,8 +66,8 @@ public:
- // Does OpenType font contain SVG glyphs?
- bool fontHasSVG = false;
-
-- font_instance();
-- virtual ~font_instance();
-+ FontInstance();
-+ virtual ~FontInstance();
-
- void Ref();
- void Unref();
-diff --git src/libnrtype/font-lister.cpp src/libnrtype/font-lister.cpp
-index 06b9725559f..26ab7bf2659 100644
---- src/libnrtype/font-lister.cpp
-+++ src/libnrtype/font-lister.cpp
-@@ -463,7 +463,7 @@ Glib::ustring FontLister::system_fontspec(Glib::ustring fontspec)
- Glib::ustring out = fontspec;
-
- PangoFontDescription *descr = pango_font_description_from_string(fontspec.c_str());
-- font_instance *res = FontFactory::get().Face(descr);
-+ FontInstance *res = FontFactory::get().Face(descr);
- if (res && res->pFont) {
- PangoFontDescription *nFaceDesc = pango_font_describe(res->pFont);
- out = sp_font_description_get_family(nFaceDesc);
-diff --git src/object/sp-flowtext.cpp src/object/sp-flowtext.cpp
-index 01ac873799e..5abb61200c7 100644
---- src/object/sp-flowtext.cpp
-+++ src/object/sp-flowtext.cpp
-@@ -344,7 +344,7 @@ void SPFlowtext::_buildLayoutInput(SPObject *root, Shape const *exclusion_shape,
-
- layout.strut.reset();
- if (style) {
-- font_instance *font = FontFactory::get().FaceFromStyle( style );
-+ FontInstance *font = FontFactory::get().FaceFromStyle( style );
- if (font) {
- font->FontMetrics(layout.strut.ascent, layout.strut.descent, layout.strut.xheight);
- font->Unref();
-diff --git src/object/sp-text.cpp src/object/sp-text.cpp
-index 018fdebc62d..6d4ee61b35d 100644
---- src/object/sp-text.cpp
-+++ src/object/sp-text.cpp
-@@ -489,7 +489,7 @@ void SPText::_buildLayoutInit()
- if (style) {
-
- // Strut
-- font_instance *font = FontFactory::get().FaceFromStyle( style );
-+ FontInstance *font = FontFactory::get().FaceFromStyle( style );
- if (font) {
- font->FontMetrics(layout.strut.ascent, layout.strut.descent, layout.strut.xheight);
- font->Unref();
-diff --git src/ui/dialog/font-substitution.cpp src/ui/dialog/font-substitution.cpp
-index 3d2bedf3f06..e827a3fab0b 100644
---- src/ui/dialog/font-substitution.cpp
-+++ src/ui/dialog/font-substitution.cpp
-@@ -243,7 +243,7 @@ Glib::ustring FontSubstitution::getSubstituteFontName (Glib::ustring font)
-
- PangoFontDescription *descr = pango_font_description_new();
- pango_font_description_set_family(descr,font.c_str());
-- font_instance *res = FontFactory::get().Face(descr);
-+ FontInstance *res = FontFactory::get().Face(descr);
- if (res->pFont) {
- PangoFontDescription *nFaceDesc = pango_font_describe(res->pFont);
- out = sp_font_description_get_family(nFaceDesc);
-diff --git src/ui/dialog/glyphs.cpp src/ui/dialog/glyphs.cpp
-index f61e7d4c802..91f1988e047 100644
---- src/ui/dialog/glyphs.cpp
-+++ src/ui/dialog/glyphs.cpp
-@@ -710,7 +710,7 @@ void GlyphsPanel::rebuild()
- {
- Glib::ustring fontspec = fontSelector->get_fontspec();
-
-- font_instance* font = nullptr;
-+ FontInstance* font = nullptr;
- if( !fontspec.empty() ) {
- font = FontFactory::get().FaceFromFontSpecification( fontspec.c_str() );
- }
-diff --git src/ui/dialog/text-edit.cpp src/ui/dialog/text-edit.cpp
-index 82e2b782546..6565a31d5ec 100644
---- src/ui/dialog/text-edit.cpp
-+++ src/ui/dialog/text-edit.cpp
-@@ -475,7 +475,7 @@ void TextEdit::onFontFeatures(Gtk::Widget * widgt, int pos)
- if (pos == 1) {
- Glib::ustring fontspec = font_selector.get_fontspec();
- if (!fontspec.empty()) {
-- font_instance *res = FontFactory::get().FaceFromFontSpecification(fontspec.c_str());
-+ FontInstance *res = FontFactory::get().FaceFromFontSpecification(fontspec.c_str());
- if (res && !res->fulloaded) {
- res->InitTheFace(true);
- font_features.update_opentype(fontspec);
-diff --git src/ui/dialog/text-edit.h src/ui/dialog/text-edit.h
-index af917ff1f9d..f9bd13bf32f 100644
---- src/ui/dialog/text-edit.h
-+++ src/ui/dialog/text-edit.h
-@@ -40,7 +40,7 @@ class TextView;
- }
-
- class SPItem;
--class font_instance;
-+class FontInstance;
- class SPCSSAttr;
-
- namespace Inkscape {
-diff --git src/ui/widget/font-variants.cpp src/ui/widget/font-variants.cpp
-index 66942b3bd7c..d045d101aba 100644
---- src/ui/widget/font-variants.cpp
-+++ src/ui/widget/font-variants.cpp
-@@ -765,7 +765,7 @@ namespace Widget {
- FontVariants::update_opentype (Glib::ustring& font_spec) {
-
- // Disable/Enable based on available OpenType tables.
-- font_instance* res = FontFactory::get().FaceFromFontSpecification( font_spec.c_str() );
-+ FontInstance* res = FontFactory::get().FaceFromFontSpecification( font_spec.c_str() );
- if( res ) {
-
- std::map<Glib::ustring, OTSubstitution>::iterator it;
-diff --git src/ui/widget/font-variations.cpp src/ui/widget/font-variations.cpp
-index 84088bd62b0..dc57437976b 100644
---- src/ui/widget/font-variations.cpp
-+++ src/ui/widget/font-variations.cpp
-@@ -71,7 +71,7 @@ FontVariations::FontVariations () :
- // Update GUI based on query.
- void FontVariations::update(Glib::ustring const &font_spec)
- {
-- font_instance* res = FontFactory::get().FaceFromFontSpecification(font_spec.c_str());
-+ FontInstance* res = FontFactory::get().FaceFromFontSpecification(font_spec.c_str());
-
- auto children = get_children();
- for (auto child : children) {
---
-GitLab
-
diff --git a/graphics/inkscape/files/patch-src_helper_geom.h b/graphics/inkscape/files/patch-src_helper_geom.h
new file mode 100644
--- /dev/null
+++ b/graphics/inkscape/files/patch-src_helper_geom.h
@@ -0,0 +1,11 @@
+--- src/helper/geom.h.orig 2023-08-24 15:45:30 UTC
++++ src/helper/geom.h
+@@ -55,7 +55,7 @@ inline Geom::Coord triangle_area(Geom::Point const &p1
+ return p1[X] * p2[Y] + p1[Y] * p3[X] + p2[X] * p3[Y] - p2[Y] * p3[X] - p1[Y] * p2[X] - p1[X] * p3[Y];
+ }
+
+-inline auto rounddown(Geom::IntPoint const &a, Geom::IntPoint const &b)
++inline auto round_down(Geom::IntPoint const &a, Geom::IntPoint const &b)
+ {
+ using namespace Inkscape::Util;
+ return Geom::IntPoint(round_down(a.x(), b.x()), round_down(a.y(), b.y()));
diff --git a/graphics/inkscape/files/patch-src_object_algorithms_graphlayout.cpp b/graphics/inkscape/files/patch-src_object_algorithms_graphlayout.cpp
deleted file mode 100644
--- a/graphics/inkscape/files/patch-src_object_algorithms_graphlayout.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/object/algorithms/graphlayout.cpp.orig 2022-11-26 17:42:01 UTC
-+++ src/object/algorithms/graphlayout.cpp
-@@ -14,6 +14,7 @@
- */
-
- #include <algorithm>
-+#include <array>
- #include <cstring>
- #include <iostream>
- #include <list>
diff --git a/graphics/inkscape/pkg-plist b/graphics/inkscape/pkg-plist
--- a/graphics/inkscape/pkg-plist
+++ b/graphics/inkscape/pkg-plist
@@ -1,6 +1,7 @@
bin/inkscape
bin/inkview
lib/inkscape/libinkscape_base.so
+lib/inkscape/libinkscape_base.so.1.3.0.0
share/applications/org.inkscape.Inkscape.desktop
share/bash-completion/completions/inkscape
share/icons/hicolor/16x16/apps/org.inkscape.Inkscape.png
@@ -236,12 +237,16 @@
%%DATADIR%%/extensions/color_rgbbarrel.inx
%%DATADIR%%/extensions/color_rgbbarrel.py
%%DATADIR%%/extensions/colors.xml
+%%DATADIR%%/extensions/construct_from_triangle.inx
+%%DATADIR%%/extensions/construct_from_triangle.py
%%DATADIR%%/extensions/convert2dashes.inx
%%DATADIR%%/extensions/convert2dashes.py
%%DATADIR%%/extensions/dhw_input.inx
%%DATADIR%%/extensions/dhw_input.py
%%DATADIR%%/extensions/dimension.inx
%%DATADIR%%/extensions/dimension.py
+%%DATADIR%%/extensions/distribute_along_path.inx
+%%DATADIR%%/extensions/distribute_along_path.py
%%DATADIR%%/extensions/doc_ai_convert.inx
%%DATADIR%%/extensions/doc_ai_convert.py
%%DATADIR%%/extensions/docinfo.inx
@@ -276,10 +281,14 @@
%%DATADIR%%/extensions/docs/conf.py
%%DATADIR%%/extensions/docs/dev/getting-started.rst
%%DATADIR%%/extensions/docs/dev/index.rst
+%%DATADIR%%/extensions/docs/extensions/index.rst
+%%DATADIR%%/extensions/docs/extensions/svg2xaml.rst
%%DATADIR%%/extensions/docs/favicon.svg
%%DATADIR%%/extensions/docs/index.rst
%%DATADIR%%/extensions/docs/make.bat
+%%DATADIR%%/extensions/docs/poetry-parse.py
%%DATADIR%%/extensions/docs/source/index.rst
+%%DATADIR%%/extensions/docs/tutorial/creating-objects.rst
%%DATADIR%%/extensions/docs/tutorial/index.rst
%%DATADIR%%/extensions/docs/tutorial/my-first-effect-extension.rst
%%DATADIR%%/extensions/docs/tutorial/my-first-import-extension.rst
@@ -299,8 +308,6 @@
%%DATADIR%%/extensions/dpi90to96.inx
%%DATADIR%%/extensions/dpi96to90.inx
%%DATADIR%%/extensions/dpiswitcher.py
-%%DATADIR%%/extensions/draw_from_triangle.inx
-%%DATADIR%%/extensions/draw_from_triangle.py
%%DATADIR%%/extensions/dxf12_outlines.inx
%%DATADIR%%/extensions/dxf12_outlines.py
%%DATADIR%%/extensions/dxf14_footer.txt
@@ -311,8 +318,6 @@
%%DATADIR%%/extensions/dxf_input_text_scale_factor.svg
%%DATADIR%%/extensions/dxf_outlines.inx
%%DATADIR%%/extensions/dxf_outlines.py
-%%DATADIR%%/extensions/edge3d.inx
-%%DATADIR%%/extensions/edge3d.py
%%DATADIR%%/extensions/eps_input.inx
%%DATADIR%%/extensions/export_gimp_palette.inx
%%DATADIR%%/extensions/export_gimp_palette.py
@@ -332,9 +337,6 @@
%%DATADIR%%/extensions/funcplot.inx
%%DATADIR%%/extensions/funcplot.py
%%DATADIR%%/extensions/gcodetools_check_for_updates.inx.h
-%%DATADIR%%/extensions/generate_voronoi.inx
-%%DATADIR%%/extensions/generate_voronoi.py
-%%DATADIR%%/extensions/genpofiles.sh
%%DATADIR%%/extensions/gimp_xcf.inx
%%DATADIR%%/extensions/gimp_xcf.py
%%DATADIR%%/extensions/grid_cartesian.inx
@@ -351,12 +353,16 @@
%%DATADIR%%/extensions/handles.py
%%DATADIR%%/extensions/hershey.inx
%%DATADIR%%/extensions/hershey.py
-%%DATADIR%%/extensions/hpgl_decoder.py
+%%DATADIR%%/extensions/hpgl2_input.py
%%DATADIR%%/extensions/hpgl_encoder.py
%%DATADIR%%/extensions/hpgl_input.inx
-%%DATADIR%%/extensions/hpgl_input.py
+%%DATADIR%%/extensions/hpgl_input_sm.py
%%DATADIR%%/extensions/hpgl_output.inx
%%DATADIR%%/extensions/hpgl_output.py
+%%DATADIR%%/extensions/hpgl_parser.py
+%%DATADIR%%/extensions/icons/businesscard_landscape.svg
+%%DATADIR%%/extensions/icons/dvd_box.svg
+%%DATADIR%%/extensions/icons/seamless_pattern.svg
%%DATADIR%%/extensions/image_attributes.inx
%%DATADIR%%/extensions/image_attributes.py
%%DATADIR%%/extensions/image_embed.inx
@@ -422,9 +428,12 @@
%%DATADIR%%/extensions/inkex/tester/__init__.py
%%DATADIR%%/extensions/inkex/tester/decorators.py
%%DATADIR%%/extensions/inkex/tester/filters.py
+%%DATADIR%%/extensions/inkex/tester/inkscape.extension.rng
+%%DATADIR%%/extensions/inkex/tester/inkscape.extension.schema
%%DATADIR%%/extensions/inkex/tester/inx.py
%%DATADIR%%/extensions/inkex/tester/mock.py
%%DATADIR%%/extensions/inkex/tester/svg.py
+%%DATADIR%%/extensions/inkex/tester/test_inx_file.py
%%DATADIR%%/extensions/inkex/tester/word.py
%%DATADIR%%/extensions/inkex/tester/xmldiff.py
%%DATADIR%%/extensions/inkex/transforms.py
@@ -432,7 +441,7 @@
%%DATADIR%%/extensions/inkex/tween.py
%%DATADIR%%/extensions/inkex/units.py
%%DATADIR%%/extensions/inkex/utils.py
-%%DATADIR%%/extensions/inkman/inkman/.git
+%%DATADIR%%/extensions/inkman/inkman/LICENSE.txt
%%DATADIR%%/extensions/inkman/inkman/inkman/__init__.py
%%DATADIR%%/extensions/inkman/inkman/inkman/archive.py
%%DATADIR%%/extensions/inkman/inkman/inkman/backfoot.py
@@ -464,12 +473,12 @@
%%DATADIR%%/extensions/inkman/inkman/manage_extensions.inx
%%DATADIR%%/extensions/inkman/inkman/manage_extensions.py
%%DATADIR%%/extensions/inkman/inkman/pyproject.toml
-%%DATADIR%%/extensions/inkscape.extension.rng
-%%DATADIR%%/extensions/inkscape.extension.schema
%%DATADIR%%/extensions/inkscape_follow_link.inx
%%DATADIR%%/extensions/inkscape_follow_link.py
%%DATADIR%%/extensions/inkweb.js
%%DATADIR%%/extensions/inkwebeffect.py
+%%DATADIR%%/extensions/inset_shadow.inx
+%%DATADIR%%/extensions/inset_shadow.py
%%DATADIR%%/extensions/interp.inx
%%DATADIR%%/extensions/interp.py
%%DATADIR%%/extensions/interp_att_g.inx
@@ -512,6 +521,8 @@
%%DATADIR%%/extensions/layout_nup.py
%%DATADIR%%/extensions/lindenmayer.inx
%%DATADIR%%/extensions/lindenmayer.py
+%%DATADIR%%/extensions/long_shadow.inx
+%%DATADIR%%/extensions/long_shadow.py
%%DATADIR%%/extensions/lorem_ipsum.inx
%%DATADIR%%/extensions/lorem_ipsum.py
%%DATADIR%%/extensions/markers_strokepaint.inx
@@ -522,8 +533,6 @@
%%DATADIR%%/extensions/media_zip.py
%%DATADIR%%/extensions/merge_styles.inx
%%DATADIR%%/extensions/merge_styles.py
-%%DATADIR%%/extensions/motion.inx
-%%DATADIR%%/extensions/motion.py
%%DATADIR%%/extensions/new_glyph_layer.inx
%%DATADIR%%/extensions/new_glyph_layer.py
%%DATADIR%%/extensions/next_glyph_layer.inx
@@ -569,12 +578,39 @@
%%DATADIR%%/extensions/other/clipart/sources/reactome.svg
%%DATADIR%%/extensions/other/clipart/sources/wikimedia.py
%%DATADIR%%/extensions/other/clipart/sources/wikimedia.svg
+%%DATADIR%%/extensions/other/extension-xaml/.darglint
+%%DATADIR%%/extensions/other/extension-xaml/.pre-commit-config.yaml
+%%DATADIR%%/extensions/other/extension-xaml/.pylintrc
+%%DATADIR%%/extensions/other/extension-xaml/LICENSE.txt
+%%DATADIR%%/extensions/other/extension-xaml/docs/svg2xaml.rst
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/__init__.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/__init__.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/base.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/config.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/shapes.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/structural.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/text.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/utils.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/svg2xaml.inx
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/svg2xaml.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/tester.py
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg.inx
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg/animation.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg/brushes.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg/canvas.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg/geometry.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg/properties.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg/shapes.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xaml2svg/transform.xsl
+%%DATADIR%%/extensions/other/extension-xaml/inkxaml/xamlobjects.py
+%%DATADIR%%/extensions/other/extension-xaml/readme.md
+%%DATADIR%%/extensions/other/extension-xaml/tox.ini
%%DATADIR%%/extensions/other/gcodetools/.darglint
%%DATADIR%%/extensions/other/gcodetools/.pylintrc
%%DATADIR%%/extensions/other/gcodetools/LICENSE.txt
%%DATADIR%%/extensions/other/gcodetools/MANIFEST.in
%%DATADIR%%/extensions/other/gcodetools/README.md
-%%DATADIR%%/extensions/other/gcodetools/TESTING.md
%%DATADIR%%/extensions/other/gcodetools/gcodetools.py
%%DATADIR%%/extensions/other/gcodetools/gcodetools_about.inx
%%DATADIR%%/extensions/other/gcodetools/gcodetools_area.inx
@@ -586,12 +622,49 @@
%%DATADIR%%/extensions/other/gcodetools/gcodetools_path_to_gcode.inx
%%DATADIR%%/extensions/other/gcodetools/gcodetools_prepare_path_for_plasma.inx
%%DATADIR%%/extensions/other/gcodetools/gcodetools_tools_library.inx
-%%DATADIR%%/extensions/other/gcodetools/genpofiles.sh
%%DATADIR%%/extensions/other/gcodetools/setup.cfg
%%DATADIR%%/extensions/other/gcodetools/tox.ini
+%%DATADIR%%/extensions/other/templates/icons/celticf.svg
+%%DATADIR%%/extensions/other/templates/icons/celtick.svg
+%%DATADIR%%/extensions/other/templates/icons/cross.svg
+%%DATADIR%%/extensions/other/templates/icons/crown.svg
+%%DATADIR%%/extensions/other/templates/icons/diamond.svg
+%%DATADIR%%/extensions/other/templates/icons/droplet.svg
+%%DATADIR%%/extensions/other/templates/icons/dtarget.svg
+%%DATADIR%%/extensions/other/templates/icons/dvision.svg
+%%DATADIR%%/extensions/other/templates/icons/explosion.svg
+%%DATADIR%%/extensions/other/templates/icons/hive.svg
+%%DATADIR%%/extensions/other/templates/icons/ktile.svg
+%%DATADIR%%/extensions/other/templates/icons/lily.svg
+%%DATADIR%%/extensions/other/templates/icons/rose.svg
+%%DATADIR%%/extensions/other/templates/icons/target.svg
+%%DATADIR%%/extensions/other/templates/icons/trellis.svg
+%%DATADIR%%/extensions/other/templates/icons/tv.svg
+%%DATADIR%%/extensions/other/templates/icons/unknown.svg
+%%DATADIR%%/extensions/other/templates/icons/vcross.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_01_trellis.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_02_diamond.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_03_cross.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_04_very_cross.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_05_target.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_06_hive.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_07_double_vision.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_08_celtic_flower.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_09_kitchen_tile.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_10_rose.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_11_diamond_target.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_12_tv_test_pattern.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_13_lily.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_14_explosion.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_15_crown.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_16_celtic_knot.svg
+%%DATADIR%%/extensions/other/templates/shape_prefab_17_droplet.svg
+%%DATADIR%%/extensions/other/templates/template_shape_prefab.inx
+%%DATADIR%%/extensions/other/templates/template_shape_prefab.py
%%DATADIR%%/extensions/output_scour.inx
%%DATADIR%%/extensions/output_scour.py
%%DATADIR%%/extensions/output_scour.svg
+%%DATADIR%%/extensions/package-readme.md
%%DATADIR%%/extensions/param_curves.inx
%%DATADIR%%/extensions/param_curves.py
%%DATADIR%%/extensions/path_envelope.inx
@@ -604,11 +677,9 @@
%%DATADIR%%/extensions/path_number_nodes.py
%%DATADIR%%/extensions/path_to_absolute.inx
%%DATADIR%%/extensions/path_to_absolute.py
-%%DATADIR%%/extensions/pathalongpath.inx
-%%DATADIR%%/extensions/pathalongpath.py
%%DATADIR%%/extensions/pathmodifier.py
-%%DATADIR%%/extensions/pathscatter.inx
-%%DATADIR%%/extensions/pathscatter.py
+%%DATADIR%%/extensions/patternalongpath.inx
+%%DATADIR%%/extensions/patternalongpath.py
%%DATADIR%%/extensions/pdflatex.inx
%%DATADIR%%/extensions/pdflatex.py
%%DATADIR%%/extensions/perfectboundcover.inx
@@ -622,8 +693,6 @@
%%DATADIR%%/extensions/poetry.lock
%%DATADIR%%/extensions/polyhedron_3d.inx
%%DATADIR%%/extensions/polyhedron_3d.py
-%%DATADIR%%/extensions/prepare_file_save_as.inx
-%%DATADIR%%/extensions/prepare_file_save_as.py
%%DATADIR%%/extensions/previous_glyph_layer.inx
%%DATADIR%%/extensions/previous_glyph_layer.py
%%DATADIR%%/extensions/printing_marks.inx
@@ -672,8 +741,6 @@
%%DATADIR%%/extensions/straightseg.py
%%DATADIR%%/extensions/svg2fxg.inx
%%DATADIR%%/extensions/svg2fxg.xsl
-%%DATADIR%%/extensions/svg2xaml.inx
-%%DATADIR%%/extensions/svg2xaml.xsl
%%DATADIR%%/extensions/svg_fonts/EMSAllure.svg
%%DATADIR%%/extensions/svg_fonts/EMSElfin.svg
%%DATADIR%%/extensions/svg_fonts/EMSFelix.svg
@@ -705,16 +772,10 @@
%%DATADIR%%/extensions/tar_layers.py
%%DATADIR%%/extensions/template.py
%%DATADIR%%/extensions/template_business_card.inx
-%%DATADIR%%/extensions/template_desktop.inx
%%DATADIR%%/extensions/template_dvd_cover.inx
%%DATADIR%%/extensions/template_dvd_cover.py
-%%DATADIR%%/extensions/template_envelope.inx
-%%DATADIR%%/extensions/template_generic.inx
-%%DATADIR%%/extensions/template_icon.inx
-%%DATADIR%%/extensions/template_page.inx
%%DATADIR%%/extensions/template_seamless_pattern.inx
%%DATADIR%%/extensions/template_seamless_pattern.py
-%%DATADIR%%/extensions/template_video.inx
%%DATADIR%%/extensions/text_braille.inx
%%DATADIR%%/extensions/text_braille.py
%%DATADIR%%/extensions/text_extract.inx
@@ -739,11 +800,15 @@
%%DATADIR%%/extensions/tox.ini
%%DATADIR%%/extensions/triangle.inx
%%DATADIR%%/extensions/triangle.py
+%%DATADIR%%/extensions/twirl.inx
+%%DATADIR%%/extensions/twirl.py
%%DATADIR%%/extensions/ungroup_deep.inx
%%DATADIR%%/extensions/ungroup_deep.py
%%DATADIR%%/extensions/voronoi.py
-%%DATADIR%%/extensions/voronoi2svg.inx
-%%DATADIR%%/extensions/voronoi2svg.py
+%%DATADIR%%/extensions/voronoi_diagram.inx
+%%DATADIR%%/extensions/voronoi_diagram.py
+%%DATADIR%%/extensions/voronoi_fill.inx
+%%DATADIR%%/extensions/voronoi_fill.py
%%DATADIR%%/extensions/web_interactive_mockup.inx
%%DATADIR%%/extensions/web_interactive_mockup.py
%%DATADIR%%/extensions/web_set_att.inx
@@ -757,19 +822,8 @@
%%DATADIR%%/extensions/webslicer_effect.py
%%DATADIR%%/extensions/webslicer_export.inx
%%DATADIR%%/extensions/webslicer_export.py
-%%DATADIR%%/extensions/whirl.inx
-%%DATADIR%%/extensions/whirl.py
%%DATADIR%%/extensions/wireframe_sphere.inx
%%DATADIR%%/extensions/wireframe_sphere.py
-%%DATADIR%%/extensions/xaml2svg.inx
-%%DATADIR%%/extensions/xaml2svg.xsl
-%%DATADIR%%/extensions/xaml2svg/animation.xsl
-%%DATADIR%%/extensions/xaml2svg/brushes.xsl
-%%DATADIR%%/extensions/xaml2svg/canvas.xsl
-%%DATADIR%%/extensions/xaml2svg/geometry.xsl
-%%DATADIR%%/extensions/xaml2svg/properties.xsl
-%%DATADIR%%/extensions/xaml2svg/shapes.xsl
-%%DATADIR%%/extensions/xaml2svg/transform.xsl
%%DATADIR%%/filters/README
%%DATADIR%%/filters/filters.svg
%%DATADIR%%/fonts/README
@@ -804,6 +858,7 @@
%%DATADIR%%/icons/Tango/scalable/actions/connector-ignore.svg
%%DATADIR%%/icons/Tango/scalable/actions/construct-grid.svg
%%DATADIR%%/icons/Tango/scalable/actions/copy-rotate.svg
+%%DATADIR%%/icons/Tango/scalable/actions/corners.svg
%%DATADIR%%/icons/Tango/scalable/actions/curvestitching.svg
%%DATADIR%%/icons/Tango/scalable/actions/dashed-stroke.svg
%%DATADIR%%/icons/Tango/scalable/actions/dialog-align-and-distribute.svg
@@ -842,6 +897,7 @@
%%DATADIR%%/icons/Tango/scalable/actions/document-import-web.svg
%%DATADIR%%/icons/Tango/scalable/actions/document-import.svg
%%DATADIR%%/icons/Tango/scalable/actions/document-metadata.svg
+%%DATADIR%%/icons/Tango/scalable/actions/draw-booleans.svg
%%DATADIR%%/icons/Tango/scalable/actions/draw-calligraphic.svg
%%DATADIR%%/icons/Tango/scalable/actions/draw-connector.svg
%%DATADIR%%/icons/Tango/scalable/actions/draw-cuboid.svg
@@ -947,6 +1003,8 @@
%%DATADIR%%/icons/Tango/scalable/actions/layer-raise.svg
%%DATADIR%%/icons/Tango/scalable/actions/layer-rename.svg
%%DATADIR%%/icons/Tango/scalable/actions/layer-top.svg
+%%DATADIR%%/icons/Tango/scalable/actions/list-add-symbolic.svg
+%%DATADIR%%/icons/Tango/scalable/actions/list-remove-symbolic.svg
%%DATADIR%%/icons/Tango/scalable/actions/measure-segments.svg
%%DATADIR%%/icons/Tango/scalable/actions/mirror-symmetry.svg
%%DATADIR%%/icons/Tango/scalable/actions/mirroring-0000.svg
@@ -1019,6 +1077,7 @@
%%DATADIR%%/icons/Tango/scalable/actions/path-division.svg
%%DATADIR%%/icons/Tango/scalable/actions/path-effect-parameter-next.svg
%%DATADIR%%/icons/Tango/scalable/actions/path-exclusion.svg
+%%DATADIR%%/icons/Tango/scalable/actions/path-flatten.svg
%%DATADIR%%/icons/Tango/scalable/actions/path-inset.svg
%%DATADIR%%/icons/Tango/scalable/actions/path-intersection.svg
%%DATADIR%%/icons/Tango/scalable/actions/path-mask-edit.svg
@@ -1043,6 +1102,7 @@
%%DATADIR%%/icons/Tango/scalable/actions/powerclip.svg
%%DATADIR%%/icons/Tango/scalable/actions/powermask.svg
%%DATADIR%%/icons/Tango/scalable/actions/powerstroke.svg
+%%DATADIR%%/icons/Tango/scalable/actions/preview-mode.svg
%%DATADIR%%/icons/Tango/scalable/actions/pts2ellipse.svg
%%DATADIR%%/icons/Tango/scalable/actions/rectangle-make-corners-sharp.svg
%%DATADIR%%/icons/Tango/scalable/actions/rotate-random.svg
@@ -1058,6 +1118,8 @@
%%DATADIR%%/icons/Tango/scalable/actions/selection-move-to-layer-below.svg
%%DATADIR%%/icons/Tango/scalable/actions/selection-raise.svg
%%DATADIR%%/icons/Tango/scalable/actions/selection-top.svg
+%%DATADIR%%/icons/Tango/scalable/actions/shapebuilder-tool-difference.svg
+%%DATADIR%%/icons/Tango/scalable/actions/shapebuilder-tool-union.svg
%%DATADIR%%/icons/Tango/scalable/actions/show-bounding-box.svg
%%DATADIR%%/icons/Tango/scalable/actions/show-dialogs.svg
%%DATADIR%%/icons/Tango/scalable/actions/show-grid.svg
@@ -1095,9 +1157,11 @@
%%DATADIR%%/icons/Tango/scalable/actions/stroke-join-miter.svg
%%DATADIR%%/icons/Tango/scalable/actions/stroke-join-round.svg
%%DATADIR%%/icons/Tango/scalable/actions/stroke-to-path.svg
+%%DATADIR%%/icons/Tango/scalable/actions/symbols.svg
%%DATADIR%%/icons/Tango/scalable/actions/taper-stroke.svg
%%DATADIR%%/icons/Tango/scalable/actions/text-convert-to-regular.svg
%%DATADIR%%/icons/Tango/scalable/actions/text-flow-into-frame.svg
+%%DATADIR%%/icons/Tango/scalable/actions/text-flow-subtract-frame.svg
%%DATADIR%%/icons/Tango/scalable/actions/text-put-on-path.svg
%%DATADIR%%/icons/Tango/scalable/actions/text-remove-from-path.svg
%%DATADIR%%/icons/Tango/scalable/actions/text-unflow.svg
@@ -1151,6 +1215,8 @@
%%DATADIR%%/icons/hicolor/cursors/box.svg
%%DATADIR%%/icons/hicolor/cursors/calligraphy.svg
%%DATADIR%%/icons/hicolor/cursors/connector.svg
+%%DATADIR%%/icons/hicolor/cursors/cursor-delete.svg
+%%DATADIR%%/icons/hicolor/cursors/cursor-union.svg
%%DATADIR%%/icons/hicolor/cursors/cursors.css
%%DATADIR%%/icons/hicolor/cursors/dropper-drop-fill.svg
%%DATADIR%%/icons/hicolor/cursors/dropper-drop-stroke.svg
@@ -1243,14 +1309,17 @@
%%DATADIR%%/icons/hicolor/scalable/actions/bspline.svg
%%DATADIR%%/icons/hicolor/scalable/actions/bug.svg
%%DATADIR%%/icons/hicolor/scalable/actions/clone-original.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/close.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-fill.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-gradient.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-management.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/color-palette.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-picker.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-selector-cms.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-selector-cmyk.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-selector-hsluv.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-selector-hsx.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/color-selector-okhsl.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-selector-rgb.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-selector-wheel.svg
%%DATADIR%%/icons/hicolor/scalable/actions/color-tag.svg
@@ -1261,6 +1330,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/connector-orthogonal.svg
%%DATADIR%%/icons/hicolor/scalable/actions/construct-grid.svg
%%DATADIR%%/icons/hicolor/scalable/actions/copy-rotate.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/corners.svg
%%DATADIR%%/icons/hicolor/scalable/actions/curvestitching.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dashed-stroke.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-align-and-distribute.svg
@@ -1274,6 +1344,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-messages.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-object-properties.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-objects.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/dialog-paint-server.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-path-effects.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-rows-and-columns.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-scripts.svg
@@ -1284,6 +1355,16 @@
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-tile-clones.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-transform.svg
%%DATADIR%%/icons/hicolor/scalable/actions/dialog-xml-editor.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-alt.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-enhance-stroke-alt.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-enhance-stroke.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-no-filter-alt.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-no-filter.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-outline-alt.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-outline-overlay-alt.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-outline-overlay.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display-outline.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/display.svg
%%DATADIR%%/icons/hicolor/scalable/actions/distribute-graph-directed.svg
%%DATADIR%%/icons/hicolor/scalable/actions/distribute-graph.svg
%%DATADIR%%/icons/hicolor/scalable/actions/distribute-horizontal-baseline.svg
@@ -1301,6 +1382,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/distribute-vertical-gaps.svg
%%DATADIR%%/icons/hicolor/scalable/actions/distribute-vertical-node.svg
%%DATADIR%%/icons/hicolor/scalable/actions/distribute-vertical-top.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/dnd.svg
%%DATADIR%%/icons/hicolor/scalable/actions/document-cleanup.svg
%%DATADIR%%/icons/hicolor/scalable/actions/document-export.svg
%%DATADIR%%/icons/hicolor/scalable/actions/document-import-web.svg
@@ -1310,8 +1392,10 @@
%%DATADIR%%/icons/hicolor/scalable/actions/document-open.svg
%%DATADIR%%/icons/hicolor/scalable/actions/document-print.svg
%%DATADIR%%/icons/hicolor/scalable/actions/document-properties.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/document-resources.svg
%%DATADIR%%/icons/hicolor/scalable/actions/document-revert.svg
%%DATADIR%%/icons/hicolor/scalable/actions/document-save.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/draw-booleans.svg
%%DATADIR%%/icons/hicolor/scalable/actions/draw-calligraphic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/draw-connector.svg
%%DATADIR%%/icons/hicolor/scalable/actions/draw-cuboid.svg
@@ -1345,6 +1429,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/draw-trace-background.svg
%%DATADIR%%/icons/hicolor/scalable/actions/draw-use-pressure.svg
%%DATADIR%%/icons/hicolor/scalable/actions/draw-use-tilt.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/edit-clear-value.svg
%%DATADIR%%/icons/hicolor/scalable/actions/edit-clone-link-lpe.svg
%%DATADIR%%/icons/hicolor/scalable/actions/edit-clone-link.svg
%%DATADIR%%/icons/hicolor/scalable/actions/edit-clone-unlink.svg
@@ -1385,6 +1470,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/exchange-positions-clockwise.svg
%%DATADIR%%/icons/hicolor/scalable/actions/exchange-positions-zorder.svg
%%DATADIR%%/icons/hicolor/scalable/actions/exchange-positions.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/experimental-outline.svg
%%DATADIR%%/icons/hicolor/scalable/actions/experimental.svg
%%DATADIR%%/icons/hicolor/scalable/actions/feBlend-icon.svg
%%DATADIR%%/icons/hicolor/scalable/actions/feColorMatrix-icon.svg
@@ -1402,12 +1488,15 @@
%%DATADIR%%/icons/hicolor/scalable/actions/feSpecularLighting-icon.svg
%%DATADIR%%/icons/hicolor/scalable/actions/feTile-icon.svg
%%DATADIR%%/icons/hicolor/scalable/actions/feTurbulence-icon.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/file-link.svg
%%DATADIR%%/icons/hicolor/scalable/actions/fill-between-many.svg
%%DATADIR%%/icons/hicolor/scalable/actions/fill-between-strokes.svg
%%DATADIR%%/icons/hicolor/scalable/actions/fill-rule-even-odd.svg
%%DATADIR%%/icons/hicolor/scalable/actions/fill-rule-nonzero.svg
%%DATADIR%%/icons/hicolor/scalable/actions/fillet-chamfer.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/flatten-down.svg
%%DATADIR%%/icons/hicolor/scalable/actions/flatten.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/font_collections.svg
%%DATADIR%%/icons/hicolor/scalable/actions/format-indent-less.svg
%%DATADIR%%/icons/hicolor/scalable/actions/format-indent-more.svg
%%DATADIR%%/icons/hicolor/scalable/actions/frmt-text-direction-horizontal.svg
@@ -1416,6 +1505,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/frmt-text-direction-vertical.svg
%%DATADIR%%/icons/hicolor/scalable/actions/gap-random-x.svg
%%DATADIR%%/icons/hicolor/scalable/actions/gap-random-y.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/gear.svg
%%DATADIR%%/icons/hicolor/scalable/actions/gears.svg
%%DATADIR%%/icons/hicolor/scalable/actions/glyph-copy-from.svg
%%DATADIR%%/icons/hicolor/scalable/actions/glyph-edit.svg
@@ -1427,6 +1517,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/gradient-spread-pad.svg
%%DATADIR%%/icons/hicolor/scalable/actions/gradient-spread-reflect.svg
%%DATADIR%%/icons/hicolor/scalable/actions/gradient-spread-repeat.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/grayscale-mode.svg
%%DATADIR%%/icons/hicolor/scalable/actions/grid-axonometric.svg
%%DATADIR%%/icons/hicolor/scalable/actions/grid-rectangular.svg
%%DATADIR%%/icons/hicolor/scalable/actions/guides.svg
@@ -1463,11 +1554,18 @@
%%DATADIR%%/icons/hicolor/scalable/actions/layer-raise.svg
%%DATADIR%%/icons/hicolor/scalable/actions/layer-rename.svg
%%DATADIR%%/icons/hicolor/scalable/actions/layer-top.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/layout-auto.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/layout-horizontal.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/layout-vertical.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/list-add-symbolic.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/list-remove-symbolic.svg
%%DATADIR%%/icons/hicolor/scalable/actions/lpe-connector.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/markers.svg
%%DATADIR%%/icons/hicolor/scalable/actions/matrix-2d.svg
%%DATADIR%%/icons/hicolor/scalable/actions/measure-segments.svg
%%DATADIR%%/icons/hicolor/scalable/actions/mesh-gradient-fit.svg
%%DATADIR%%/icons/hicolor/scalable/actions/mesh-gradient.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/minus.svg
%%DATADIR%%/icons/hicolor/scalable/actions/mirror-symmetry.svg
%%DATADIR%%/icons/hicolor/scalable/actions/mirroring-0000.svg
%%DATADIR%%/icons/hicolor/scalable/actions/mirroring-0001.svg
@@ -1504,6 +1602,8 @@
%%DATADIR%%/icons/hicolor/scalable/actions/node_insert_min_x.svg
%%DATADIR%%/icons/hicolor/scalable/actions/node_insert_min_y.svg
%%DATADIR%%/icons/hicolor/scalable/actions/none.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-blend-mode-normal.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-blend-mode.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-columns.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-fill.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-flip-hor.svg
@@ -1512,13 +1612,19 @@
%%DATADIR%%/icons/hicolor/scalable/actions/object-flip-vertical.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-group.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-hidden.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-level.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-locked.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-opaque.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-rotate-left.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-rotate-right.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-rows.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-select.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-stroke-style.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-stroke.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-to-path.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-translucent-blend-mode.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-translucent.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/object-transparent.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-tweak-attract.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-tweak-blur.svg
%%DATADIR%%/icons/hicolor/scalable/actions/object-tweak-duplicate.svg
@@ -1542,6 +1648,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/orient-auto.svg
%%DATADIR%%/icons/hicolor/scalable/actions/out-of-gamut-icon.svg
%%DATADIR%%/icons/hicolor/scalable/actions/overlay-clip.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/overlay-clipmask.svg
%%DATADIR%%/icons/hicolor/scalable/actions/overlay-mask.svg
%%DATADIR%%/icons/hicolor/scalable/actions/pack-less.svg
%%DATADIR%%/icons/hicolor/scalable/actions/pack-more.svg
@@ -1576,6 +1683,8 @@
%%DATADIR%%/icons/hicolor/scalable/actions/path-division.svg
%%DATADIR%%/icons/hicolor/scalable/actions/path-effect-parameter-next.svg
%%DATADIR%%/icons/hicolor/scalable/actions/path-exclusion.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/path-flatten.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/path-fracture.svg
%%DATADIR%%/icons/hicolor/scalable/actions/path-inset.svg
%%DATADIR%%/icons/hicolor/scalable/actions/path-intersection.svg
%%DATADIR%%/icons/hicolor/scalable/actions/path-mask-edit.svg
@@ -1598,12 +1707,15 @@
%%DATADIR%%/icons/hicolor/scalable/actions/perspective-envelope.svg
%%DATADIR%%/icons/hicolor/scalable/actions/perspective-parallel.svg
%%DATADIR%%/icons/hicolor/scalable/actions/pixelart-trace.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/plus.svg
%%DATADIR%%/icons/hicolor/scalable/actions/powerclip.svg
%%DATADIR%%/icons/hicolor/scalable/actions/powermask.svg
%%DATADIR%%/icons/hicolor/scalable/actions/powerstroke.svg
%%DATADIR%%/icons/hicolor/scalable/actions/preferences-system.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/preview-mode.svg
%%DATADIR%%/icons/hicolor/scalable/actions/pts2ellipse.svg
%%DATADIR%%/icons/hicolor/scalable/actions/randomize.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/rectangle-make-corners-round.svg
%%DATADIR%%/icons/hicolor/scalable/actions/rectangle-make-corners-sharp.svg
%%DATADIR%%/icons/hicolor/scalable/actions/remove-color.svg
%%DATADIR%%/icons/hicolor/scalable/actions/reset-settings.svg
@@ -1611,6 +1723,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/rotate-random.svg
%%DATADIR%%/icons/hicolor/scalable/actions/rough-hatches.svg
%%DATADIR%%/icons/hicolor/scalable/actions/roughen.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/rounding.svg
%%DATADIR%%/icons/hicolor/scalable/actions/rows.svg
%%DATADIR%%/icons/hicolor/scalable/actions/ruler.svg
%%DATADIR%%/icons/hicolor/scalable/actions/scale-random.svg
@@ -1644,6 +1757,8 @@
%%DATADIR%%/icons/hicolor/scalable/actions/shape-text-flow.svg
%%DATADIR%%/icons/hicolor/scalable/actions/shape-text.svg
%%DATADIR%%/icons/hicolor/scalable/actions/shape-unknown.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/shapebuilder-tool-difference.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/shapebuilder-tool-union.svg
%%DATADIR%%/icons/hicolor/scalable/actions/show-bounding-box.svg
%%DATADIR%%/icons/hicolor/scalable/actions/show-dialogs.svg
%%DATADIR%%/icons/hicolor/scalable/actions/show-grid.svg
@@ -1651,6 +1766,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/show-handles.svg
%%DATADIR%%/icons/hicolor/scalable/actions/show-node-handles.svg
%%DATADIR%%/icons/hicolor/scalable/actions/show-path-outline.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/show-sources.svg
%%DATADIR%%/icons/hicolor/scalable/actions/simplify.svg
%%DATADIR%%/icons/hicolor/scalable/actions/skeletal.svg
%%DATADIR%%/icons/hicolor/scalable/actions/sketch.svg
@@ -1702,6 +1818,7 @@
%%DATADIR%%/icons/hicolor/scalable/actions/taper-stroke.svg
%%DATADIR%%/icons/hicolor/scalable/actions/text-convert-to-regular.svg
%%DATADIR%%/icons/hicolor/scalable/actions/text-flow-into-frame.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/text-flow-subtract-frame.svg
%%DATADIR%%/icons/hicolor/scalable/actions/text-orientation-auto.svg
%%DATADIR%%/icons/hicolor/scalable/actions/text-orientation-sideways.svg
%%DATADIR%%/icons/hicolor/scalable/actions/text-orientation-upright.svg
@@ -1798,14 +1915,17 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/bspline-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/bug-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/clone-original-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/close-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-fill-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-gradient-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-management-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/color-palette-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-picker-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-selector-cms-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-selector-cmyk-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-selector-hsluv-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-selector-hsx-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/color-selector-okhsl-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-selector-rgb-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-selector-wheel-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/color-tag-symbolic.svg
@@ -1816,6 +1936,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/connector-orthogonal-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/construct-grid-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/copy-rotate-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/corners-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/curvestitching-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dashed-stroke-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-align-and-distribute-symbolic.svg
@@ -1829,6 +1950,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-messages-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-object-properties-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-objects-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-paint-server-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-path-effects-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-rows-and-columns-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-scripts-symbolic.svg
@@ -1839,6 +1961,16 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-tile-clones-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-transform-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/dialog-xml-editor-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-alt-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-enhance-stroke-alt-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-enhance-stroke-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-no-filter-alt-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-no-filter-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-outline-alt-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-outline-overlay-alt-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-outline-overlay-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-outline-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/display-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/distribute-graph-directed-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/distribute-graph-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/distribute-horizontal-baseline-symbolic.svg
@@ -1856,6 +1988,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/distribute-vertical-gaps-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/distribute-vertical-node-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/distribute-vertical-top-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/dnd-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/document-cleanup-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/document-export-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/document-import-symbolic.svg
@@ -1865,8 +1998,10 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/document-open-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/document-print-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/document-properties-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/document-resources-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/document-revert-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/document-save-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/draw-booleans-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/draw-calligraphic-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/draw-connector-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/draw-cuboid-symbolic.svg
@@ -1900,6 +2035,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/draw-trace-background-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/draw-use-pressure-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/draw-use-tilt-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/edit-clear-value-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/edit-clone-link-lpe-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/edit-clone-link-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/edit-clone-symbolic.svg
@@ -1940,6 +2076,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/exchange-positions-clockwise-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/exchange-positions-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/exchange-positions-zorder-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/experimental-outline-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/experimental-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/feBlend-icon-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/feColorMatrix-icon-symbolic.svg
@@ -1957,12 +2094,15 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/feSpecularLighting-icon-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/feTile-icon-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/feTurbulence-icon-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/file-link-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/fill-between-many-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/fill-between-strokes-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/fill-rule-even-odd-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/fill-rule-nonzero-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/fillet-chamfer-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/flatten-down-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/flatten-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/font_collections-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/format-indent-less-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/format-indent-more-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/frmt-text-direction-horizontal-symbolic.svg
@@ -1971,6 +2111,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/frmt-text-direction-vertical-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/gap-random-x-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/gap-random-y-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/gear-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/gears-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/glyph-copy-from-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/glyph-edit-symbolic.svg
@@ -1982,6 +2123,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/gradient-spread-pad-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/gradient-spread-reflect-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/gradient-spread-repeat-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/grayscale-mode-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/grid-axonometric-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/grid-rectangular-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/guides-symbolic.svg
@@ -2018,11 +2160,18 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/layer-raise-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/layer-rename-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/layer-top-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/layout-auto-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/layout-horizontal-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/layout-vertical-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/list-add-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/list-remove-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/lpe-connector-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/markers-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/matrix-2d-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/measure-segments-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/mesh-gradient-fit-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/mesh-gradient-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/minus-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/mirror-symmetry-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/mirroring-0000-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/mirroring-0001-symbolic.svg
@@ -2059,6 +2208,8 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/node_insert_min_x-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/node_insert_min_y-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/none-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-blend-mode-normal-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-blend-mode-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-columns-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-fill-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-flip-hor-symbolic.svg
@@ -2067,13 +2218,19 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/object-flip-vertical-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-group-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-hidden-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-level-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-locked-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-opaque-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-rotate-left-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-rotate-right-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-rows-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-select-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-stroke-style-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-stroke-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-to-path-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-translucent-blend-mode-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-translucent-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/object-transparent-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-tweak-attract-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-tweak-blur-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/object-tweak-duplicate-symbolic.svg
@@ -2097,6 +2254,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/orient-auto-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/out-of-gamut-icon-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/overlay-clip-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/overlay-clipmask-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/overlay-mask-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/pack-less-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/pack-more-symbolic.svg
@@ -2131,6 +2289,8 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/path-division-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/path-effect-parameter-next-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/path-exclusion-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/path-flatten-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/path-fracture-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/path-inset-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/path-intersection-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/path-mask-edit-symbolic.svg
@@ -2153,12 +2313,15 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/perspective-envelope-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/perspective-parallel-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/pixelart-trace-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/plus-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/powerclip-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/powermask-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/powerstroke-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/preferences-system-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/preview-mode-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/pts2ellipse-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/randomize-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/rectangle-make-corners-round-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/rectangle-make-corners-sharp-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/remove-color-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/reset-settings-symbolic.svg
@@ -2166,6 +2329,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/rotate-random-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/rough-hatches-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/roughen-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/rounding-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/rows-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/ruler-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/scale-random-symbolic.svg
@@ -2199,6 +2363,8 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/shape-text-flow-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/shape-text-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/shape-unknown-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/shapebuilder-tool-difference-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/shapebuilder-tool-union-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/show-bounding-box-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/show-dialogs-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/show-grid-symbolic.svg
@@ -2206,6 +2372,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/show-handles-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/show-node-handles-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/show-path-outline-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/show-sources-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/simplify-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/skeletal-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/sketch-symbolic.svg
@@ -2257,6 +2424,7 @@
%%DATADIR%%/icons/hicolor/symbolic/actions/taper-stroke-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/text-convert-to-regular-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/text-flow-into-frame-symbolic.svg
+%%DATADIR%%/icons/hicolor/symbolic/actions/text-flow-subtract-frame-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/text-orientation-auto-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/text-orientation-sideways-symbolic.svg
%%DATADIR%%/icons/hicolor/symbolic/actions/text-orientation-upright-symbolic.svg
@@ -2360,14 +2528,17 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/bspline-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/bug-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/clone-original-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/close-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-fill-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-gradient-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-management-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/color-palette-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-picker-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-selector-cms-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-selector-cmyk-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-selector-hsluv-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-selector-hsx-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/color-selector-okhsl-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-selector-rgb-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-selector-wheel-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/color-tag-symbolic.svg
@@ -2378,6 +2549,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/connector-orthogonal-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/construct-grid-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/copy-rotate-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/corners-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/curvestitching-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dashed-stroke-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-align-and-distribute-symbolic.svg
@@ -2391,6 +2563,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-messages-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-object-properties-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-objects-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-paint-server-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-path-effects-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-rows-and-columns-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-scripts-symbolic.svg
@@ -2401,6 +2574,16 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-tile-clones-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-transform-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/dialog-xml-editor-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-alt-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-enhance-stroke-alt-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-enhance-stroke-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-no-filter-alt-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-no-filter-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-outline-alt-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-outline-overlay-alt-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-outline-overlay-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-outline-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/display-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/distribute-graph-directed-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/distribute-graph-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/distribute-horizontal-baseline-symbolic.svg
@@ -2418,6 +2601,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/distribute-vertical-gaps-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/distribute-vertical-node-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/distribute-vertical-top-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/dnd-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/document-cleanup-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/document-export-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/document-import-symbolic.svg
@@ -2427,8 +2611,10 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/document-open-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/document-print-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/document-properties-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/document-resources-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/document-revert-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/document-save-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/draw-booleans-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/draw-calligraphic-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/draw-connector-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/draw-cuboid-symbolic.svg
@@ -2462,6 +2648,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/draw-trace-background-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/draw-use-pressure-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/draw-use-tilt-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/edit-clear-value-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/edit-clone-link-lpe-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/edit-clone-link-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/edit-clone-symbolic.svg
@@ -2502,6 +2689,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/exchange-positions-clockwise-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/exchange-positions-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/exchange-positions-zorder-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/experimental-outline-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/experimental-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/feBlend-icon-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/feColorMatrix-icon-symbolic.svg
@@ -2519,12 +2707,15 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/feSpecularLighting-icon-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/feTile-icon-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/feTurbulence-icon-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/file-link-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/fill-between-many-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/fill-between-strokes-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/fill-rule-even-odd-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/fill-rule-nonzero-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/fillet-chamfer-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/flatten-down-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/flatten-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/font_collections-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/format-indent-less-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/format-indent-more-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/frmt-text-direction-horizontal-symbolic.svg
@@ -2533,6 +2724,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/frmt-text-direction-vertical-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/gap-random-x-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/gap-random-y-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/gear-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/gears-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/glyph-copy-from-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/glyph-edit-symbolic.svg
@@ -2544,6 +2736,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/gradient-spread-pad-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/gradient-spread-reflect-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/gradient-spread-repeat-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/grayscale-mode-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/grid-axonometric-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/grid-rectangular-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/guides-symbolic.svg
@@ -2580,11 +2773,18 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/layer-raise-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/layer-rename-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/layer-top-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/layout-auto-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/layout-horizontal-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/layout-vertical-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/list-add-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/list-remove-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/lpe-connector-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/markers-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/matrix-2d-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/measure-segments-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/mesh-gradient-fit-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/mesh-gradient-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/minus-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/mirror-symmetry-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/mirroring-0000-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/mirroring-0001-symbolic.svg
@@ -2621,6 +2821,8 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/node_insert_min_x-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/node_insert_min_y-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/none-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-blend-mode-normal-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-blend-mode-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-columns-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-fill-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-flip-hor-symbolic.svg
@@ -2629,13 +2831,19 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/object-flip-vertical-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-group-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-hidden-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-level-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-locked-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-opaque-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-rotate-left-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-rotate-right-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-rows-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-select-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-stroke-style-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-stroke-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-to-path-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-translucent-blend-mode-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-translucent-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/object-transparent-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-tweak-attract-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-tweak-blur-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/object-tweak-duplicate-symbolic.svg
@@ -2659,6 +2867,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/orient-auto-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/out-of-gamut-icon-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/overlay-clip-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/overlay-clipmask-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/overlay-mask-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/pack-less-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/pack-more-symbolic.svg
@@ -2693,6 +2902,8 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/path-division-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/path-effect-parameter-next-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/path-exclusion-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/path-flatten-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/path-fracture-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/path-inset-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/path-intersection-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/path-mask-edit-symbolic.svg
@@ -2715,12 +2926,15 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/perspective-envelope-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/perspective-parallel-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/pixelart-trace-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/plus-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/powerclip-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/powermask-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/powerstroke-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/preferences-system-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/preview-mode-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/pts2ellipse-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/randomize-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/rectangle-make-corners-round-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/rectangle-make-corners-sharp-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/remove-color-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/reset-settings-symbolic.svg
@@ -2728,6 +2942,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/rotate-random-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/rough-hatches-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/roughen-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/rounding-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/rows-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/ruler-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/scale-random-symbolic.svg
@@ -2761,6 +2976,8 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/shape-text-flow-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/shape-text-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/shape-unknown-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/shapebuilder-tool-difference-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/shapebuilder-tool-union-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/show-bounding-box-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/show-dialogs-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/show-grid-symbolic.svg
@@ -2768,6 +2985,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/show-handles-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/show-node-handles-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/show-path-outline-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/show-sources-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/simplify-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/skeletal-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/sketch-symbolic.svg
@@ -2819,6 +3037,7 @@
%%DATADIR%%/icons/multicolor/symbolic/actions/taper-stroke-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/text-convert-to-regular-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/text-flow-into-frame-symbolic.svg
+%%DATADIR%%/icons/multicolor/symbolic/actions/text-flow-subtract-frame-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/text-orientation-auto-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/text-orientation-sideways-symbolic.svg
%%DATADIR%%/icons/multicolor/symbolic/actions/text-orientation-upright-symbolic.svg
@@ -2891,9 +3110,17 @@
%%DATADIR%%/keys/xara.xml
%%DATADIR%%/keys/zoner-draw.xml
%%DATADIR%%/markers/markers.svg
+%%DATADIR%%/paint/Asian patterns.svg
+%%DATADIR%%/paint/Decoratives.svg
+%%DATADIR%%/paint/Geometrical.svg
+%%DATADIR%%/paint/Grids.svg
+%%DATADIR%%/paint/Halftones.svg
+%%DATADIR%%/paint/Nature patterns.svg
+%%DATADIR%%/paint/Patterns.svg
%%DATADIR%%/paint/README
+%%DATADIR%%/paint/Shading.svg
+%%DATADIR%%/paint/Textures.svg
%%DATADIR%%/paint/hatches.svg
-%%DATADIR%%/paint/patterns.svg
%%DATADIR%%/palettes/Android-icon-palette.gpl
%%DATADIR%%/palettes/Blues.gpl
%%DATADIR%%/palettes/Bootstrap5.gpl
@@ -2909,6 +3136,7 @@
%%DATADIR%%/palettes/README
%%DATADIR%%/palettes/Reds.gpl
%%DATADIR%%/palettes/Royal.gpl
+%%DATADIR%%/palettes/Solarized.gpl
%%DATADIR%%/palettes/Tango-Palette.gpl
%%DATADIR%%/palettes/Topographic.gpl
%%DATADIR%%/palettes/Ubuntu.gpl
@@ -2922,6 +3150,7 @@
%%DATADIR%%/pixmaps/README
%%DATADIR%%/pixmaps/inkscape-logo-icons-sized.svg
%%DATADIR%%/pixmaps/inkscape.svg
+%%DATADIR%%/pixmaps/preview_loading.svg
%%DATADIR%%/pixmaps/remove-color.png
%%DATADIR%%/pixmaps/support.png
%%DATADIR%%/pixmaps/symbolic_icons.svg
@@ -2931,25 +3160,7 @@
%%DATADIR%%/screens/about.svg
%%DATADIR%%/screens/start-splash.png
%%DATADIR%%/screens/start-support.png
-%%DATADIR%%/screens/start-welcome-text.ca.svg
-%%DATADIR%%/screens/start-welcome-text.cs.svg
-%%DATADIR%%/screens/start-welcome-text.de.svg
-%%DATADIR%%/screens/start-welcome-text.es.svg
-%%DATADIR%%/screens/start-welcome-text.fr.svg
-%%DATADIR%%/screens/start-welcome-text.hu.svg
-%%DATADIR%%/screens/start-welcome-text.is.svg
-%%DATADIR%%/screens/start-welcome-text.it.svg
-%%DATADIR%%/screens/start-welcome-text.ja.svg
-%%DATADIR%%/screens/start-welcome-text.pl.svg
-%%DATADIR%%/screens/start-welcome-text.pt.svg
-%%DATADIR%%/screens/start-welcome-text.pt_BR.svg
-%%DATADIR%%/screens/start-welcome-text.ru.svg
-%%DATADIR%%/screens/start-welcome-text.sk.svg
-%%DATADIR%%/screens/start-welcome-text.sl.svg
%%DATADIR%%/screens/start-welcome-text.svg
-%%DATADIR%%/screens/start-welcome-text.uk.svg
-%%DATADIR%%/screens/start-welcome-text.zh_CN.svg
-%%DATADIR%%/screens/start-welcome-text.zh_TW.svg
%%DATADIR%%/screens/start-welcome.png
%%DATADIR%%/symbols/AigaSymbols.svg
%%DATADIR%%/symbols/BalloonSymbols.svg
@@ -2957,6 +3168,22 @@
%%DATADIR%%/symbols/LogicSymbols.svg
%%DATADIR%%/symbols/MapSymbolsNPS.svg
%%DATADIR%%/symbols/README
+%%DATADIR%%/symbols/sjjb-accommodation.svg
+%%DATADIR%%/symbols/sjjb-amenity.svg
+%%DATADIR%%/symbols/sjjb-barrier.svg
+%%DATADIR%%/symbols/sjjb-education.svg
+%%DATADIR%%/symbols/sjjb-food.svg
+%%DATADIR%%/symbols/sjjb-health.svg
+%%DATADIR%%/symbols/sjjb-landuse.svg
+%%DATADIR%%/symbols/sjjb-money.svg
+%%DATADIR%%/symbols/sjjb-poi.svg
+%%DATADIR%%/symbols/sjjb-power.svg
+%%DATADIR%%/symbols/sjjb-shopping.svg
+%%DATADIR%%/symbols/sjjb-sport.svg
+%%DATADIR%%/symbols/sjjb-tourist.svg
+%%DATADIR%%/symbols/sjjb-transport.svg
+%%DATADIR%%/symbols/sjjb-water.svg
+%%DATADIR%%/symbols/sjjb-worship.svg
%%DATADIR%%/templates/A4leaflet-3fold-Roll.svg
%%DATADIR%%/templates/CD_label_120x120.svg
%%DATADIR%%/templates/LaTeX_Beamer.svg
@@ -3037,6 +3264,32 @@
%%NLS%%%%DATADIR%%/templates/default.zh_TW.svg
%%NLS%%%%DATADIR%%/templates/default_pt.svg
%%NLS%%%%DATADIR%%/templates/default_px.svg
+%%DATADIR%%/templates/icons/about.svg
+%%DATADIR%%/templates/icons/custom.svg
+%%DATADIR%%/templates/icons/default.svg
+%%DATADIR%%/templates/icons/desktop_hd_landscape.svg
+%%DATADIR%%/templates/icons/desktop_landscape.svg
+%%DATADIR%%/templates/icons/envelope_landscape.svg
+%%DATADIR%%/templates/icons/envelope_portrait.svg
+%%DATADIR%%/templates/icons/icon_square.svg
+%%DATADIR%%/templates/icons/image_landscape.svg
+%%DATADIR%%/templates/icons/image_portrait.svg
+%%DATADIR%%/templates/icons/image_square.svg
+%%DATADIR%%/templates/icons/mobile_portrait.svg
+%%DATADIR%%/templates/icons/photo_landscape.svg
+%%DATADIR%%/templates/icons/photo_portrait.svg
+%%DATADIR%%/templates/icons/photo_square.svg
+%%DATADIR%%/templates/icons/print_US_landscape.svg
+%%DATADIR%%/templates/icons/print_US_portrait.svg
+%%DATADIR%%/templates/icons/print_landscape.svg
+%%DATADIR%%/templates/icons/print_portrait.svg
+%%DATADIR%%/templates/icons/social_landscape.svg
+%%DATADIR%%/templates/icons/social_portrait.svg
+%%DATADIR%%/templates/icons/social_square.svg
+%%DATADIR%%/templates/icons/tablet_landscape.svg
+%%DATADIR%%/templates/icons/video_landscape.svg
+%%DATADIR%%/templates/icons/video_portrait.svg
+%%DATADIR%%/templates/icons/video_square.svg
%%NLS%%%%DATADIR%%/templates/no_layers.svg
%%DATADIR%%/themes/LICENSE.txt
%%DATADIR%%/themes/Minwaita-Inkscape/gtk-3.0/assets/bullet-symbolic.symbolic.png
@@ -3201,9 +3454,11 @@
%%DATADIR%%/tutorials/edge3d.svg
%%DATADIR%%/tutorials/making_markers.svg
%%DATADIR%%/tutorials/oldguitar.jpg
+%%DATADIR%%/tutorials/pixelart-dialog.de.png
%%DATADIR%%/tutorials/pixelart-dialog.el.png
%%DATADIR%%/tutorials/pixelart-dialog.hu.png
%%DATADIR%%/tutorials/pixelart-dialog.png
+%%DATADIR%%/tutorials/potrace.de.png
%%DATADIR%%/tutorials/potrace.el.png
%%DATADIR%%/tutorials/potrace.es.png
%%DATADIR%%/tutorials/potrace.eu.png
@@ -3458,33 +3713,6 @@
%%DATADIR%%/ui/resources/canvas_cd.png
%%DATADIR%%/ui/resources/canvas_cw.png
%%DATADIR%%/ui/resources/canvas_sw.png
-%%DATADIR%%/ui/resources/template_about.svg
-%%DATADIR%%/ui/resources/template_businesscard_landscape.svg
-%%DATADIR%%/ui/resources/template_businesscard_portrait.svg
-%%DATADIR%%/ui/resources/template_businesscard_square.svg
-%%DATADIR%%/ui/resources/template_desktop_hd_landscape.svg
-%%DATADIR%%/ui/resources/template_desktop_landscape.svg
-%%DATADIR%%/ui/resources/template_envelope_landscape.svg
-%%DATADIR%%/ui/resources/template_envelope_portrait.svg
-%%DATADIR%%/ui/resources/template_icon_square.svg
-%%DATADIR%%/ui/resources/template_image_landscape.svg
-%%DATADIR%%/ui/resources/template_image_portrait.svg
-%%DATADIR%%/ui/resources/template_image_square.svg
-%%DATADIR%%/ui/resources/template_mobile_portrait.svg
-%%DATADIR%%/ui/resources/template_photo_landscape.svg
-%%DATADIR%%/ui/resources/template_photo_portrait.svg
-%%DATADIR%%/ui/resources/template_photo_square.svg
-%%DATADIR%%/ui/resources/template_print_US_landscape.svg
-%%DATADIR%%/ui/resources/template_print_US_portrait.svg
-%%DATADIR%%/ui/resources/template_print_landscape.svg
-%%DATADIR%%/ui/resources/template_print_portrait.svg
-%%DATADIR%%/ui/resources/template_social_landscape.svg
-%%DATADIR%%/ui/resources/template_social_portrait.svg
-%%DATADIR%%/ui/resources/template_social_square.svg
-%%DATADIR%%/ui/resources/template_tablet_landscape.svg
-%%DATADIR%%/ui/resources/template_video_landscape.svg
-%%DATADIR%%/ui/resources/template_video_portrait.svg
-%%DATADIR%%/ui/resources/template_video_square.svg
%%DATADIR%%/ui/spinbutton.css
%%DATADIR%%/ui/style.css
%%DATADIR%%/ui/toolbar-commands.ui
@@ -3496,6 +3724,34 @@
%%DATADIR%%/ui/toolbar-zoom.ui
%%DATADIR%%/ui/units.xml
%%DATADIR%%/ui/win32.css
+%%DATADIR%%/ui/attribute-edit-component.glade
+%%DATADIR%%/ui/canvas-notice.glade
+%%DATADIR%%/ui/completion-box.glade
+%%DATADIR%%/ui/default-dialog-state.ini
+%%DATADIR%%/ui/dialog-crash.glade
+%%DATADIR%%/ui/dialog-document-resources.glade
+%%DATADIR%%/ui/dialog-export-prefs.glade
+%%DATADIR%%/ui/dialog-font-collections.glade
+%%DATADIR%%/ui/dialog-livepatheffect-item.glade
+%%DATADIR%%/ui/dialog-livepatheffect.glade
+%%DATADIR%%/ui/dialog-objects.glade
+%%DATADIR%%/ui/dialog-paint-servers.glade
+%%DATADIR%%/ui/dialog-symbols.glade
+%%DATADIR%%/ui/dialog-xml.glade
+%%DATADIR%%/ui/display-popup.glade
+%%DATADIR%%/ui/extension-pdfinput.glade
+%%DATADIR%%/ui/image-properties.glade
+%%DATADIR%%/ui/inline-css.lang
+%%DATADIR%%/ui/object-attributes.glade
+%%DATADIR%%/ui/pattern-edit.glade
+%%DATADIR%%/ui/svgd.lang
+%%DATADIR%%/ui/svgpoints.lang
+%%DATADIR%%/ui/syntax-themes/syntax-theme-dark.xml
+%%DATADIR%%/ui/syntax-themes/syntax-theme-light.xml
+%%DATADIR%%/ui/syntax-themes/syntax-theme-none.xml
+%%DATADIR%%/ui/toolbar-booleans.ui
+%%DATADIR%%/ui/user.css
+%%DATADIR%%/ui/widget-new-from-template.ui
%%NLS%%share/locale/ar/LC_MESSAGES/inkscape.mo
%%NLS%%share/locale/as/LC_MESSAGES/inkscape.mo
%%NLS%%share/locale/az/LC_MESSAGES/inkscape.mo
@@ -3589,13 +3845,20 @@
share/man/es/man1/inkview.1.gz
share/man/fr/man1/inkscape.1.gz
share/man/fr/man1/inkview.1.gz
-share/man/hr/man1/inkscape.1.gz
share/man/hr/man1/inkview.1.gz
share/man/hu/man1/inkscape.1.gz
share/man/hu/man1/inkview.1.gz
+share/man/ko/man1/inkscape.1.gz
+share/man/ko/man1/inkview.1.gz
share/man/man1/inkscape.1.gz
share/man/man1/inkview.1.gz
share/man/pt_BR/man1/inkview.1.gz
share/man/zh_TW/man1/inkscape.1.gz
share/man/zh_TW/man1/inkview.1.gz
share/metainfo/org.inkscape.Inkscape.appdata.xml
+@dir %%DATADIR%%/extensions/inkex/__pycache__
+@dir %%DATADIR%%/extensions/inkex/deprecated/__pycache__
+@dir %%DATADIR%%/extensions/inkex/elements/__pycache__
+@dir %%DATADIR%%/extensions/inkex/interfaces/__pycache__
+@dir %%DATADIR%%/extensions/other/extension-xaml/inkxaml/__pycache__
+@dir %%DATADIR%%/extensions/other/extension-xaml/inkxaml/export/__pycache__
diff --git a/math/lib2geom/Makefile b/math/lib2geom/Makefile
--- a/math/lib2geom/Makefile
+++ b/math/lib2geom/Makefile
@@ -1,25 +1,42 @@
PORTNAME= lib2geom
-DISTVERSION= 1.2.2
+DISTVERSION= 1.3
CATEGORIES= math gnome
MAINTAINER= gnome@FreeBSD.org
COMMENT= Easy to use 2D geometry library in C++
WWW= https://gitlab.com/inkscape/lib2geom
-BUILD_DEPENDS= googletest>0:devel/googletest
+LICENSE= LGPL21 MPL11
+LICENSE_COMB= dual
+LICENSE_FILE_LGPL21= ${WRKSRC}/COPYING-LGPL-2.1
+LICENSE_FILE_MPL11= ${WRKSRC}/COPYING-MPL-1.1
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>0:graphics/py-cairo@${PY_FLAVOR} \
+ ragel:devel/ragel \
+ googletest>0:devel/googletest
LIB_DEPENDS= libdouble-conversion.so:devel/double-conversion \
libgsl.so:math/gsl \
libboost_thread.so:devel/boost-libs
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>0:graphics/py-cairo@${PY_FLAVOR}
+TEST_DEPENDS= googletest>0:devel/googletest \
+ ragel:devel/ragel
-USES= cmake gettext-runtime gnome localbase:ldflags pkgconfig
-USE_GITLAB= yes
-USE_GNOME= cairo glib20
+USES= cmake:testing gettext-runtime gnome localbase:ldflags pkgconfig \
+ python
+USE_GNOME= cairo glib20 gtk30
+USE_PYTHON= cython cython_test
+USE_GITLAB= yes
GL_ACCOUNT= inkscape
-GL_TAGNAME= a84a73ebdae50cc729f57d1ffb788aeaef0f746c
-CMAKE_ON= 2GEOM_BUILD_SHARED
+CMAKE_ON= 2GEOM_BUILD_SHARED \
+ 2GEOM_TESTING
+
+PLIST_SUB= VERSION=${PORTVERSION}.0
+
+OPTIONS_DEFINE= GPL
-PLIST_SUB= VERSION=${PORTVERSION}
+GPL_DESC= Build with GPL-licensed code
+GPL_CMAKE_BOOL= 2GEOM_USE_GPL_CODE
.include <bsd.port.mk>
diff --git a/math/lib2geom/distinfo b/math/lib2geom/distinfo
--- a/math/lib2geom/distinfo
+++ b/math/lib2geom/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1670507287
-SHA256 (inkscape-lib2geom-a84a73ebdae50cc729f57d1ffb788aeaef0f746c_GL0.tar.gz) = 3a5b38cfb611290f45475b21e8d556d80640eeee231ed588bef3d6945aedadd0
-SIZE (inkscape-lib2geom-a84a73ebdae50cc729f57d1ffb788aeaef0f746c_GL0.tar.gz) = 1397606
+TIMESTAMP = 1692190492
+SHA256 (lib2geom-1.3.tar.bz2) = bd07f2a1322fcad16a55a1901207faa55dffdecebc56a00eabd4575f62e043c9
+SIZE (lib2geom-1.3.tar.bz2) = 1275751
diff --git a/math/lib2geom/pkg-plist b/math/lib2geom/pkg-plist
--- a/math/lib2geom/pkg-plist
+++ b/math/lib2geom/pkg-plist
@@ -93,5 +93,5 @@
lib/cmake/2Geom/2GeomTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/2Geom/2GeomTargets.cmake
lib/lib2geom.so
-lib/lib2geom.so.1.2.0
+lib/lib2geom.so.%%VERSION%%
libdata/pkgconfig/2geom.pc
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Nov 11, 7:55 AM (19 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41656446
Default Alt Text
D41503.1794383727.diff (143 KB)
Attached To
Mode
D41503: graphics/inkscape: update to 1.3
Attached
Detach File
Event Timeline