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 -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 - #include -- - #endif - --typedef std::unordered_map 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 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 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 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 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(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()) - { -- 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 fontNameMap; -- std::map::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 const& first, std::pair const& second) -@@ -418,20 +496,20 @@ static bool ustringPairSort(std::pair const& fi - return first.second < second.second; - } - --void FontFactory::GetUIFamilies(std::vector& out) -+void FontFactory::GetUIFamilies(std::vector &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 > sorted; -+ std::vector> 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& 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(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(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 - #include - #include -+#include - - #include - #include "style.h" - --/* Freetype */ - #include - #include - #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 { -- size_t operator()(PangoFontDescription *const &x) const; --}; --struct font_descr_equal : public std::binary_function { -- 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 > 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& out); -+ void GetUIFamilies(std::vector &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 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 UIStringToPangoStringMap; -- // UIStringToPangoStringMap fontStringMap; -+ class Private; -+ std::unique_ptr 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(_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(_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)->FontSlope(caret_slope_run, caret_slope_rise); -+ const_cast(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(span->font)->FontSlope(caret_slope_run, caret_slope_rise); -+ const_cast(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 ( or 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::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 -+#include - #include - #include - #include 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 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