head 1.11; access; symbols pkgsrc-2024Q3:1.10.0.6 pkgsrc-2024Q3-base:1.10 pkgsrc-2024Q2:1.10.0.4 pkgsrc-2024Q2-base:1.10 pkgsrc-2024Q1:1.10.0.2 pkgsrc-2024Q1-base:1.10 pkgsrc-2022Q4:1.8.0.4 pkgsrc-2022Q4-base:1.8 pkgsrc-2022Q3:1.8.0.2 pkgsrc-2022Q3-base:1.8 pkgsrc-2022Q2:1.6.0.2 pkgsrc-2022Q2-base:1.6 pkgsrc-2020Q1:1.4.0.2 pkgsrc-2020Q1-base:1.4 pkgsrc-2019Q1:1.2.0.2 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.1.0.6 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.4 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.2 pkgsrc-2018Q2-base:1.1; locks; strict; comment @// @; 1.11 date 2024.10.22.09.00.11; author wiz; state dead; branches; next 1.10; commitid wokVmup8zQ5hxDuF; 1.10 date 2024.03.11.21.19.39; author wiz; state Exp; branches; next 1.9; commitid 0MB4GNcfV0VsRM1F; 1.9 date 2023.02.02.15.26.55; author tnn; state dead; branches; next 1.8; commitid 5ebBwCMLri2sRXbE; 1.8 date 2022.09.04.07.55.02; author martin; state Exp; branches; next 1.7; commitid OmFfEnsfJPdzdwSD; 1.7 date 2022.07.25.19.42.33; author wiz; state dead; branches; next 1.6; commitid DHsElsnzFJhUrjND; 1.6 date 2022.05.04.21.13.52; author wiz; state Exp; branches; next 1.5; commitid AbfqkhayyjRGAMCD; 1.5 date 2020.05.06.01.42.28; author ryoon; state dead; branches; next 1.4; commitid lHDT3lJqQW8Gv77C; 1.4 date 2020.01.11.09.59.06; author martin; state Exp; branches; next 1.3; commitid lygwVa9nlHNbZfSB; 1.3 date 2019.05.13.16.17.51; author adam; state dead; branches; next 1.2; commitid Dulxr6nnyWckT3nB; 1.2 date 2019.01.06.08.41.01; author markd; state Exp; branches; next 1.1; commitid DBw7oQYE6Tt4qH6B; 1.1 date 2018.05.01.06.17.11; author wiz; state Exp; branches; next ; commitid gzv1I5HIg2mGGyAA; desc @@ 1.11 log @inkscape: update to 1.4. Fix build with poppler 24.10.0 using a patch from OpenMandriva. Release highlights Filter Gallery: it has never been so easy to find the best filter for your needs! This new dialog features previews, categories and search. Modular grids & improved axonometric grids: set the grid angle by ratio for isometric designs and use modular grids to plan layouts and make icons! Swatches dialog and palette file handling improved: quick access to dialog layout controls, search for colors, and open different palette file formats! Unified font browser preview: when activated in the preferences, use it to quickly browse through your font collection. Try it out and give your feedback! Customizable handles: Power users with CSS knowledge can now customize the styling and basic shape of all the handles! Fast image clipping with the Shape Builder: raster graphics can now be clipped into multiple sections using the Shape Builder. Affinity Designer File Import Support for internal links in exported PDF files A whole new icon set There's even more: faster extensions, new templates for folding booklets, additional options in Ruler and Taper Stroke LPE, new keyboard shortcuts, changed node deletion behavior, preview in Spray tool, many new command line options, more supported color palette formats (e.g. CIELAB, Adobe Color Book and Adobe Swatch Exchange), updated translations and many bug fixes. @ text @$NetBSD: patch-src_extension_internal_pdfinput_svg-builder.cpp,v 1.10 2024/03/11 21:19:39 wiz Exp $ Fix build with poppler-24.03.0. https://gitlab.com/a17r/inkscape/-/commit/394c0d2a14816c1de6d34b4d505a6b5f612edc1a --- src/extension/internal/pdfinput/svg-builder.cpp.orig 2023-11-16 19:05:21.000000000 +0000 +++ src/extension/internal/pdfinput/svg-builder.cpp @@@@ -1158,9 +1158,9 @@@@ static bool svgGetShadingColor(GfxShadin #define INT_EPSILON 8 bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading, _POPPLER_CONST Function *func) { - int type = func->getType(); + auto type = func->getType(); auto space = shading->getColorSpace(); - if ( type == 0 || type == 2 ) { // Sampled or exponential function + if (type == _POPPLER_TYPE_SAMPLED || type == _POPPLER_TYPE_EXPONENTIAL) { GfxColor stop1, stop2; if (!svgGetShadingColor(shading, 0.0, &stop1) || !svgGetShadingColor(shading, 1.0, &stop2)) { return false; @@@@ -1168,7 +1168,7 @@@@ bool SvgBuilder::_addGradientStops(Inksc _addStopToGradient(gradient, 0.0, &stop1, space, 1.0); _addStopToGradient(gradient, 1.0, &stop2, space, 1.0); } - } else if ( type == 3 ) { // Stitching + } else if (type == _POPPLER_TYPE_STITCHING) { auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func); const double *bounds = stitchingFunc->getBounds(); const double *encode = stitchingFunc->getEncode(); @@@@ -1183,7 +1183,7 @@@@ bool SvgBuilder::_addGradientStops(Inksc for ( int i = 0 ; i < num_funcs ; i++ ) { svgGetShadingColor(shading, bounds[i + 1], &color); // Add stops - if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn + if (stitchingFunc->getFunc(i)->getType() == _POPPLER_TYPE_EXPONENTIAL) { double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE(); if (expE > 1.0) { expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1 @ 1.10 log @inkscape: fix build with poppler-24.03.0. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ @ 1.9 log @inkscape: update to 1.2.2 Maintenance and bugfix release, which brings 4 crash fixes, over 25 bug fixes, 5 fixes for extension bugs and 13 improved UI translations. @ text @d1 1 a1 1 $NetBSD: patch-src_extension_internal_pdfinput_svg-builder.cpp,v 1.8 2022/09/04 07:55:02 martin Exp $ d3 2 a4 1 Adapt to new poppler API d6 17 a22 21 --- src/extension/internal/pdfinput/svg-builder.cpp.orig 2022-05-07 15:43:15.000000000 +0200 +++ src/extension/internal/pdfinput/svg-builder.cpp 2022-09-04 09:46:02.599786816 +0200 @@@@ -388,15 +388,13 @@@@ void SvgBuilder::_setStrokeStyle(SPCSSAt sp_repr_css_set_property(css, "stroke-miterlimit", os_ml.str().c_str()); // Line dash - double *dash_pattern; - int dash_length; double dash_start; - state->getLineDash(&dash_pattern, &dash_length, &dash_start); - if ( dash_length > 0 ) { + auto dash_pattern = state->getLineDash(&dash_start); + if ( !dash_pattern.empty() ) { Inkscape::CSSOStringStream os_array; - for ( int i = 0 ; i < dash_length ; i++ ) { + for ( size_t i = 0; i < dash_pattern.size(); i++ ) { os_array << dash_pattern[i]; - if (i < (dash_length - 1)) { + if (i < (dash_pattern.size() - 1)) { os_array << ","; } d24 14 @ 1.8 log @Adapt to new poppler API @ text @d1 1 a1 1 $NetBSD$ @ 1.7 log @inkscape: update to 1.2.1. Release highlights Inkscape documents can now hold multiple pages, which are managed by the new Page tool Editable markers and dash patterns Layers and objects dialog merged On-canvas alignment snapping and Snap settings redesign New 'Tiling' Live Path Effect Redesigned Export dialog with preview and ability to select objects/layers/pages and even multiple file formats to export to Import SVG images from Open Clipart, Wikimedia Commons and other online sources Selectable object origin for numerical scaling and moving All alignment options in a single dialog Gradient editing in the Fill and Stroke dialog Gradient dithering SVG Font Editor updated Flowing text around shapes and text padding Convenience Boolean operation for splitting paths Configurable Tool bar, continuous icon scaling and many more new customization options Performance gains for many parts of the interface and many different functions Lots of improvements to the user interface Numerous crash & bug fixes in the main Inkscape program and in in the stock extensions and so much more! @ text @d1 1 a1 1 $NetBSD: patch-src_extension_internal_pdfinput_svg-builder.cpp,v 1.6 2022/05/04 21:13:52 wiz Exp $ d3 1 a3 2 Fix build with poppler-22.4.0 https://gitlab.com/inkscape/inkscape/-/issues/3387 d5 4 a8 30 --- src/extension/internal/pdfinput/svg-builder.cpp.orig 2022-02-05 01:21:47.000000000 +0000 +++ src/extension/internal/pdfinput/svg-builder.cpp @@@@ -108,7 +108,6 @@@@ SvgBuilder::~SvgBuilder() = default; void SvgBuilder::_init() { _font_style = nullptr; - _current_font = nullptr; _font_specification = nullptr; _font_scaling = 1; _need_font_update = true; @@@@ -1021,11 +1020,8 @@@@ void SvgBuilder::updateFont(GfxState *st _need_font_update = false; updateTextMatrix(state); // Ensure that we have a text matrix built - if (_font_style) { - //sp_repr_css_attr_unref(_font_style); - } _font_style = sp_repr_css_attr_new(); - GfxFont *font = state->getFont(); + auto font = state->getFont(); // Store original name if (font->getName()) { _font_specification = font->getName()->getCString(); @@@@ -1171,7 +1167,6 @@@@ void SvgBuilder::updateFont(GfxState *st sp_repr_css_set_property(_font_style, "writing-mode", "tb"); } - _current_font = font; _invalidated_style = true; } d10 17 @ 1.6 log @nkscape: fix build with poppler 22.04.0 Using upstream patches @ text @d1 1 a1 1 $NetBSD$ @ 1.5 log @inkscape: Update to 1.0 Changelog: Inkscape 1.0 Release highlights Theming support and more new customization options Better HiDPI (high resolution) screen support Native support for macOS with a signed and notarized .dmg file Coordinate origin in top left corner by default Canvas rotation and mirroring On-Canvas alignment of objects Split view and X-Ray modes PowerPencil for drawing editable, variable width strokes with a pressure sensitive graphics tablet New PNG export options Integrated centerline tracing for vectorization of line drawings Searchable Symbols dialog New Live Path Effect (LPE) selection dialog New Corners (Fillet/chamfer) LPE, (lossless) Boolean Operation LPE (experimental), Offset LPE and Measure Segments LPE (and more!) Path operations, deselection of a large number of paths as well as grouping/ungrouping are much faster now Much improved text line-height settings Variable fonts support (only if compiled with pango library version >= 1.41.1) Browser-compatible flowed text Extensions programming interface updated, with many new options Python 3 support for extensions @ text @d1 1 a1 1 $NetBSD: patch-src_extension_internal_pdfinput_svg-builder.cpp,v 1.4 2020/01/11 09:59:06 martin Exp $ d3 2 a4 1 Add const casts for GfxPath. d6 30 a35 10 --- src/extension/internal/pdfinput/svg-builder.cpp.orig 2019-01-15 05:29:27.000000000 +0100 +++ src/extension/internal/pdfinput/svg-builder.cpp 2020-01-11 10:25:56.021965309 +0100 @@@@ -441,7 +441,7 @@@@ */ void SvgBuilder::addPath(GfxState *state, bool fill, bool stroke, bool even_odd) { Inkscape::XML::Node *path = _xml_doc->createElement("svg:path"); - gchar *pathtext = svgInterpretPath(state->getPath()); + gchar *pathtext = svgInterpretPath(const_cast(state->getPath())); path->setAttribute("d", pathtext); g_free(pathtext); a36 9 @@@@ -528,7 +528,7 @@@@ clip_path->setAttribute("clipPathUnits", "userSpaceOnUse"); // Create the path Inkscape::XML::Node *path = _xml_doc->createElement("svg:path"); - gchar *pathtext = svgInterpretPath(state->getPath()); + gchar *pathtext = svgInterpretPath(const_cast(state->getPath())); path->setAttribute("d", pathtext); g_free(pathtext); if (even_odd) { @ 1.4 log @Make the pdf-input extension buildable with gcc 8.3. @ text @d1 1 a1 1 $NetBSD$ @ 1.3 log @inkscape: updated to 0.92.4 Inkscape 0.92.4 is a stability and bugfix release. It also brings some notable performance improvements for filter rendering, measure tool, extensions, document saving and moving paths (with a live path effect) and includes a couple of small, but impactful usage improvements. @ text @d1 1 a1 1 $NetBSD: patch-src_extension_internal_pdfinput_svg-builder.cpp,v 1.2 2019/01/06 08:41:01 markd Exp $ d3 1 a3 1 support for poppler 0.72 from upstream by way of linuxfromscratch d5 3 a7 30 --- src/extension/internal/pdfinput/svg-builder.cpp.orig 2018-03-11 20:38:09.000000000 +0000 +++ src/extension/internal/pdfinput/svg-builder.cpp @@@@ -625,7 +625,7 @@@@ gchar *SvgBuilder::_createPattern(GfxPat if ( pattern != NULL ) { if ( pattern->getType() == 2 ) { // Shading pattern GfxShadingPattern *shading_pattern = static_cast(pattern); - double *ptm; + const double *ptm; double m[6] = {1, 0, 0, 1, 0, 0}; double det; @@@@ -672,7 +672,7 @@@@ gchar *SvgBuilder::_createTilingPattern( Inkscape::XML::Node *pattern_node = _xml_doc->createElement("svg:pattern"); // Set pattern transform matrix - double *p2u = tiling_pattern->getMatrix(); + const double *p2u = tiling_pattern->getMatrix(); double m[6] = {1, 0, 0, 1, 0, 0}; double det; det = _ttm[0] * _ttm[3] - _ttm[1] * _ttm[2]; // see LP Bug 1168908 @@@@ -698,7 +698,7 @@@@ gchar *SvgBuilder::_createTilingPattern( pattern_node->setAttribute("patternUnits", "userSpaceOnUse"); // Set pattern tiling // FIXME: don't ignore XStep and YStep - double *bbox = tiling_pattern->getBBox(); + const double *bbox = tiling_pattern->getBBox(); sp_repr_set_svg_double(pattern_node, "x", 0.0); sp_repr_set_svg_double(pattern_node, "y", 0.0); sp_repr_set_svg_double(pattern_node, "width", bbox[2] - bbox[0]); @@@@ -751,7 +751,7 @@@@ gchar *SvgBuilder::_createTilingPattern( d9 16 a24 83 gchar *SvgBuilder::_createGradient(GfxShading *shading, double *matrix, bool for_shading) { Inkscape::XML::Node *gradient; - Function *func; + _POPPLER_CONST Function *func; int num_funcs; bool extend0, extend1; @@@@ -865,7 +865,7 @@@@ static bool svgGetShadingColorRGB(GfxSha #define INT_EPSILON 8 bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading, - Function *func) { + _POPPLER_CONST Function *func) { int type = func->getType(); if ( type == 0 || type == 2 ) { // Sampled or exponential function GfxRGB stop1, stop2; @@@@ -877,9 +877,9 @@@@ bool SvgBuilder::_addGradientStops(Inksc _addStopToGradient(gradient, 1.0, &stop2, 1.0); } } else if ( type == 3 ) { // Stitching - StitchingFunction *stitchingFunc = static_cast(func); - double *bounds = stitchingFunc->getBounds(); - double *encode = stitchingFunc->getEncode(); + auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func); + const double *bounds = stitchingFunc->getBounds(); + const double *encode = stitchingFunc->getEncode(); int num_funcs = stitchingFunc->getNumFuncs(); // Add stops from all the stitched functions @@@@ -890,7 +890,7 @@@@ bool SvgBuilder::_addGradientStops(Inksc svgGetShadingColorRGB(shading, bounds[i + 1], &color); // Add stops if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn - double expE = (static_cast(stitchingFunc->getFunc(i)))->getE(); + double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE(); if (expE > 1.0) { expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1 if (encode[2*i] == 0) { // normal sequence @@@@ -1022,7 +1022,7 @@@@ void SvgBuilder::updateFont(GfxState *st if (font->getName()) { _font_specification = font->getName()->getCString(); } else { - _font_specification = (char*) "Arial"; + _font_specification = "Arial"; } // Prune the font name to get the correct font family name @@@@ -1030,7 +1030,7 @@@@ void SvgBuilder::updateFont(GfxState *st char *font_family = NULL; char *font_style = NULL; char *font_style_lowercase = NULL; - char *plus_sign = strstr(_font_specification, "+"); + const char *plus_sign = strstr(_font_specification, "+"); if (plus_sign) { font_family = g_strdup(plus_sign + 1); _font_specification = plus_sign + 1; @@@@ -1148,7 +1148,7 @@@@ void SvgBuilder::updateFont(GfxState *st Inkscape::CSSOStringStream os_font_size; double css_font_size = _font_scaling * state->getFontSize(); if ( font->getType() == fontType3 ) { - double *font_matrix = font->getFontMatrix(); + const double *font_matrix = font->getFontMatrix(); if ( font_matrix[0] != 0.0 ) { css_font_size *= font_matrix[3] / font_matrix[0]; } @@@@ -1193,7 +1193,7 @@@@ void SvgBuilder::updateTextPosition(doub void SvgBuilder::updateTextMatrix(GfxState *state) { _flushText(); // Update text matrix - double *text_matrix = state->getTextMat(); + const double *text_matrix = state->getTextMat(); double w_scale = sqrt( text_matrix[0] * text_matrix[0] + text_matrix[2] * text_matrix[2] ); double h_scale = sqrt( text_matrix[1] * text_matrix[1] + text_matrix[3] * text_matrix[3] ); double max_scale; @@@@ -1361,7 +1361,7 @@@@ void SvgBuilder::_flushText() { _glyphs.clear(); } -void SvgBuilder::beginString(GfxState *state, GooString * /*s*/) { +void SvgBuilder::beginString(GfxState *state) { if (_need_font_update) { updateFont(state); } @ 1.2 log @inkscape: update to 0.92.3 Also post 0.92.3 updates from upstream for poppler-0.72 by way of linuxfromscratch. http://www.linuxfromscratch.org/patches/blfs/svn/inkscape-0.92.3-consolidated_fixes-1.patch Inkscape 0.92.3 is a maintenance release resolving numerous bugs and making this the most stable release of the series. Among the most reported bugs addressed were: * Blank pages being output when attempting to print multiple copies of a document * The inability to cancel during the export of large files * Application crashes caused by attempting to drag a path at a cap or line join * Some issues with keyboard shortcut functionality on non-Latin keyboard layouts A few performance improvements and usability enhancements that made it into the release, include: * New SVG export options from the command line * Support for right-to-left text * Improved ellipse controls * Multi-line text support for the PDF+LaTeX export * New render tile preferences for performance tuning * Better startup performance for many Windows users @ text @d1 1 a1 1 $NetBSD$ @ 1.1 log @inkscape: fix build with poppler-0.64.0 @ text @d3 1 a3 1 Support poppler-0.64.0. d5 1 a5 1 --- src/extension/internal/pdfinput/svg-builder.cpp.orig 2017-08-06 20:44:00.000000000 +0000 d7 68 a74 3 @@@@ -1020,7 +1020,7 @@@@ void SvgBuilder::updateFont(GfxState *st GfxFont *font = state->getFont(); // Store original name d76 1 a76 2 - _font_specification = font->getName()->getCString(); + _font_specification = (char*)font->getName()->getCString(); d78 40 a117 1 _font_specification = (char*) "Arial"; @