Index: head/graphics/inkscape/Makefile =================================================================== --- head/graphics/inkscape/Makefile (revision 501295) +++ head/graphics/inkscape/Makefile (revision 501296) @@ -1,92 +1,91 @@ # Created by: Alexander Nedotsukov # $FreeBSD$ PORTNAME= inkscape -PORTVERSION= 0.92.3 -PORTREVISION= 10 +PORTVERSION= 0.92.4 CATEGORIES= graphics gnome -MASTER_SITES= https://inkscape.org/en/gallery/item/12187/ +MASTER_SITES= https://media.inkscape.org/dl/resources/file/ MAINTAINER= gnome@FreeBSD.org COMMENT= Full featured open source SVG editor LICENSE= GPLv2+ GPLv3+ LGPL21 MPL11 LICENSE_COMB= multi LICENSE_FILE_GPLv2= ${WRKSRC}/GPL2.txt LICENSE_FILE_GPLv3= ${WRKSRC}/GPL3.txt LICENSE_FILE_LGPL21= ${WRKSRC}/LGPL2.1.txt BUILD_DEPENDS= ${LOCALBASE}/include/boost/concept_check.hpp:devel/boost-libs LIB_DEPENDS= libpopt.so:devel/popt \ libgc.so:devel/boehm-gc \ libgsl.so:math/gsl \ libgtkspell.so:textproc/gtkspell \ liblcms2.so:graphics/lcms2 \ libfribidi.so:converters/fribidi \ libaspell.so:textproc/aspell \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libpotrace.so:graphics/libpotrace \ libpng.so:graphics/png \ libMagick++-6.so:graphics/ImageMagick6 USES= compiler:c++11-lib cmake cpe desktop-file-utils gnome \ iconv:wchar_t jpeg pathfix pkgconfig python:2.7,build \ shebangfix tar:bzip2 USE_GNOME= gtkmm24 libxml2 libxslt USE_XORG= x11 INSTALLS_ICONS= yes CMAKE_ARGS+= -DWITH_GNOME_VFS:BOOL=NO SHEBANG_FILES= cxxtest/cxxtestgen.pl share/extensions/*.p[lm] \ share/extensions/*.py share/extensions/genpofiles.sh \ fix-roff-punct OPTIONS_DEFINE= POPPLER VISIO CDR DBUS WPG OPTIONS_DEFAULT=POPPLER VISIO CDR WPG OPTIONS_SUB= yes CDR_DESC= Support for CorelDRAW diagrams CDR_CMAKE_BOOL= WITH_LIBCDR 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 #OPENMP_USES= compiler:openmp #OPENMP_USES_OFF= compiler:c++11-lib #OPENMP_CMAKE_BOOL= WITH_OPENMP CMAKE_ARGS+= -DWITH_OPENMP:BOOL=NO POPPLER_DESC= PDF preview rendering POPPLER_CMAKE_BOOL= ENABLE_POPPLER ENABLE_POPPLER_CAIRO POPPLER_LIB_DEPENDS= libpoppler.so:graphics/poppler \ libpoppler-glib.so:graphics/poppler-glib VISIO_DESC= Support for Microsoft Visio diagrams VISIO_CMAKE_BOOL= WITH_LIBVISIO VISIO_LIB_DEPENDS= librevenge-stream-0.0.so:textproc/librevenge \ libvisio-0.1.so:textproc/libvisio01 WPG_DESC= Support for WordPerfect graphics WPG_CMAKE_BOOL= WITH_LIBWPG WPG_LIB_DEPENDS= libwpg-0.3.so:graphics/libwpg03 # temporary until the build works for the !NLS case USES+= gettext #NLS_CMAKE_BOOL= WITH_NLS #NLS_USES= gettext post-patch: @${REINPLACE_CMD} -e 's|COMMAND python|COMMAND ${PYTHON_VERSION}|g' \ ${WRKSRC}/share/*/CMakeLists.txt # Obtained from Arch Linux @${REINPLACE_CMD} -e 's|gTrue|true|g' -e 's|gFalse|false|g' -e 's|GBool|bool|g' \ ${WRKSRC}/src/extension/internal/pdfinput/pdf-parser.* # Fix with poppler 0.73 @${REINPLACE_CMD} -E '/#include "goo\/gtypes.h"/d' \ ${WRKSRC}/src/extension/internal/pdfinput/pdf-parser.h .include Index: head/graphics/inkscape/distinfo =================================================================== --- head/graphics/inkscape/distinfo (revision 501295) +++ head/graphics/inkscape/distinfo (revision 501296) @@ -1,3 +1,3 @@ -TIMESTAMP = 1531743547 -SHA256 (inkscape-0.92.3.tar.bz2) = 063296c05a65d7a92a0f627485b66221487acfc64a24f712eb5237c4bd7816b2 -SIZE (inkscape-0.92.3.tar.bz2) = 31606442 +TIMESTAMP = 1557601550 +SHA256 (inkscape-0.92.4.tar.bz2) = 57ec2da8177b36614a513e2822efd73af721e690f7ddc6bd0a5fbb1525b4515e +SIZE (inkscape-0.92.4.tar.bz2) = 31929728 Index: head/graphics/inkscape/files/patch-archgit_bee18ea =================================================================== --- head/graphics/inkscape/files/patch-archgit_bee18ea (revision 501295) +++ head/graphics/inkscape/files/patch-archgit_bee18ea (nonexistent) @@ -1,1156 +0,0 @@ ---- CMakeScripts/DefineDependsandFlags.cmake.orig 2018-03-11 20:38:09 UTC -+++ CMakeScripts/DefineDependsandFlags.cmake -@@ -116,18 +116,6 @@ if(ENABLE_POPPLER) - set(HAVE_POPPLER_GLIB ON) - endif() - endif() -- if(POPPLER_VERSION VERSION_GREATER "0.26.0" OR -- POPPLER_VERSION VERSION_EQUAL "0.26.0") -- set(POPPLER_EVEN_NEWER_COLOR_SPACE_API ON) -- endif() -- if(POPPLER_VERSION VERSION_GREATER "0.29.0" OR -- POPPLER_VERSION VERSION_EQUAL "0.29.0") -- set(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API ON) -- endif() -- if(POPPLER_VERSION VERSION_GREATER "0.58.0" OR -- POPPLER_VERSION VERSION_EQUAL "0.58.0") -- set(POPPLER_NEW_OBJECT_API ON) -- endif() - else() - set(ENABLE_POPPLER_CAIRO OFF) - endif() ---- src/extension/internal/pdfinput/pdf-input.cpp.orig 2018-03-11 20:38:09 UTC -+++ src/extension/internal/pdfinput/pdf-input.cpp -@@ -319,7 +319,7 @@ PdfImportDialog::PdfImportDialog(PDFDoc *doc, const gc - _render_thumb = true; - - // Create PopplerDocument -- Glib::ustring filename = _pdf_doc->getFileName()->getCString(); -+ Glib::ustring filename = _pdf_doc->getFileName()->c_str(); - if (!Glib::path_is_absolute(filename)) { - filename = Glib::build_filename(Glib::get_current_dir(),filename); - } -@@ -793,7 +793,7 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, - dlg->getImportSettings(prefs); - - // Apply crop settings -- PDFRectangle *clipToBox = NULL; -+ _POPPLER_CONST PDFRectangle *clipToBox = NULL; - double crop_setting; - sp_repr_get_double(prefs, "cropTo", &crop_setting); - ---- src/extension/internal/pdfinput/pdf-input.h.orig 2018-03-11 20:38:09 UTC -+++ src/extension/internal/pdfinput/pdf-input.h -@@ -15,6 +15,7 @@ - #endif - - #ifdef HAVE_POPPLER -+#include "poppler-transition-api.h" - - #include - ---- src/extension/internal/pdfinput/pdf-parser.cpp.orig 2018-03-11 20:38:09 UTC -+++ src/extension/internal/pdfinput/pdf-parser.cpp -@@ -38,7 +38,6 @@ extern "C" { - - #include "goo/gmem.h" - #include "goo/GooTimer.h" --#include "goo/GooHash.h" - #include "GlobalParams.h" - #include "CharTypes.h" - #include "Object.h" -@@ -271,7 +270,7 @@ class ClipHistoryEntry { (public) - // Manipulate clip path stack - ClipHistoryEntry *save(); - ClipHistoryEntry *restore(); -- GBool hasSaves() { return saved != NULL; } -+ bool hasSaves() { return saved != NULL; } - void setClip(GfxPath *newClipPath, GfxClipType newClipType = clipNormal); - GfxPath *getClipPath() { return clipPath; } - GfxClipType getClipType() { return clipType; } -@@ -295,15 +294,15 @@ PdfParser::PdfParser(XRef *xrefA, - int /*pageNum*/, - int rotate, - Dict *resDict, -- PDFRectangle *box, -- PDFRectangle *cropBox) : -+ _POPPLER_CONST PDFRectangle *box, -+ _POPPLER_CONST PDFRectangle *cropBox) : - xref(xrefA), - builder(builderA), -- subPage(gFalse), -+ subPage(false), - printCommands(false), - res(new GfxResources(xref, resDict, NULL)), // start the resource stack -- state(new GfxState(72.0, 72.0, box, rotate, gTrue)), -- fontChanged(gFalse), -+ state(new GfxState(72.0, 72.0, box, rotate, true)), -+ fontChanged(false), - clip(clipNone), - ignoreUndef(0), - baseMatrix(), -@@ -318,7 +317,7 @@ PdfParser::PdfParser(XRef *xrefA, - builder->setDocumentSize(Inkscape::Util::Quantity::convert(state->getPageWidth(), "pt", "px"), - Inkscape::Util::Quantity::convert(state->getPageHeight(), "pt", "px")); - -- double *ctm = state->getCTM(); -+ const double *ctm = state->getCTM(); - double scaledCTM[6]; - for (int i = 0; i < 6; ++i) { - baseMatrix[i] = ctm[i]; -@@ -353,14 +352,14 @@ PdfParser::PdfParser(XRef *xrefA, - PdfParser::PdfParser(XRef *xrefA, - Inkscape::Extension::Internal::SvgBuilder *builderA, - Dict *resDict, -- PDFRectangle *box) : -+ _POPPLER_CONST PDFRectangle *box) : - xref(xrefA), - builder(builderA), -- subPage(gTrue), -+ subPage(true), - printCommands(false), - res(new GfxResources(xref, resDict, NULL)), // start the resource stack -- state(new GfxState(72, 72, box, 0, gFalse)), -- fontChanged(gFalse), -+ state(new GfxState(72, 72, box, 0, false)), -+ fontChanged(false), - clip(clipNone), - ignoreUndef(0), - baseMatrix(), -@@ -409,7 +408,7 @@ PdfParser::~PdfParser() { - } - } - --void PdfParser::parse(Object *obj, GBool topLevel) { -+void PdfParser::parse(Object *obj, bool topLevel) { - Object obj2; - - if (obj->isArray()) { -@@ -434,13 +433,13 @@ void PdfParser::parse(Object *obj, GBool topLevel) { - error(errInternal, -1, "Weird page contents"); - return; - } -- parser = new Parser(xref, new Lexer(xref, obj), gFalse); -+ parser = new Parser(xref, new Lexer(xref, obj), false); - go(topLevel); - delete parser; - parser = NULL; - } - --void PdfParser::go(GBool /*topLevel*/) -+void PdfParser::go(bool /*topLevel*/) - { - Object obj; - Object args[maxArgs]; -@@ -572,7 +571,7 @@ const char *PdfParser::getPreviousOperator(unsigned in - - void PdfParser::execOp(Object *cmd, Object args[], int numArgs) { - PdfOperator *op; -- char *name; -+ const char *name; - Object *argPtr; - int i; - -@@ -620,7 +619,7 @@ void PdfParser::execOp(Object *cmd, Object args[], int - (this->*op->func)(argPtr, numArgs); - } - --PdfOperator* PdfParser::findOp(char *name) { -+PdfOperator* PdfParser::findOp(const char *name) { - int a = -1; - int b = numOps; - int cmp = -1; -@@ -640,7 +639,7 @@ PdfOperator* PdfParser::findOp(char *name) { - return &opTab[a]; - } - --GBool PdfParser::checkArg(Object *arg, TchkType type) { -+bool PdfParser::checkArg(Object *arg, TchkType type) { - switch (type) { - case tchkBool: return arg->isBool(); - case tchkInt: return arg->isInt(); -@@ -650,9 +649,9 @@ GBool PdfParser::checkArg(Object *arg, TchkType type) - case tchkArray: return arg->isArray(); - case tchkProps: return arg->isDict() || arg->isName(); - case tchkSCN: return arg->isNum() || arg->isName(); -- case tchkNone: return gFalse; -+ case tchkNone: return false; - } -- return gFalse; -+ return false; - } - - int PdfParser::getPos() { -@@ -707,7 +706,7 @@ void PdfParser::opConcat(Object args[], int /*numArgs* - builder->pushGroup(); - builder->setTransform(a0, a1, a2, a3, a4, a5); - } -- fontChanged = gTrue; -+ fontChanged = true; - } - - // TODO not good that numArgs is ignored but args[] is used: -@@ -773,8 +772,8 @@ void PdfParser::opSetExtGState(Object args[], int /*nu - Object obj1, obj2, obj3, obj4, obj5; - Function *funcs[4] = {0, 0, 0, 0}; - GfxColor backdropColor; -- GBool haveBackdropColor = gFalse; -- GBool alpha = gFalse; -+ bool haveBackdropColor = false; -+ bool alpha = false; - - #if defined(POPPLER_NEW_OBJECT_API) - if ((obj1 = res->lookupGState(args[0].getName())).isNull()) { -@@ -830,7 +829,7 @@ void PdfParser::opSetExtGState(Object args[], int /*nu - #endif - - // fill/stroke overprint -- GBool haveFillOP = gFalse; -+ bool haveFillOP = false; - #if defined(POPPLER_NEW_OBJECT_API) - if ((haveFillOP = (obj2 = obj1.dictLookup(const_cast("op"))).isBool())) { - #else -@@ -925,9 +924,9 @@ void PdfParser::opSetExtGState(Object args[], int /*nu - #else - if (obj2.dictLookup(const_cast("S"), &obj3)->isName(const_cast("Alpha"))) { - #endif -- alpha = gTrue; -+ alpha = true; - } else { // "Luminosity" -- alpha = gFalse; -+ alpha = false; - } - #if !defined(POPPLER_NEW_OBJECT_API) - obj3.free(); -@@ -978,8 +977,8 @@ void PdfParser::opSetExtGState(Object args[], int /*nu - if (obj3.streamGetDict()->lookup(const_cast("Group"), &obj4)->isDict()) { - #endif - GfxColorSpace *blendingColorSpace = 0; -- GBool isolated = gFalse; -- GBool knockout = gFalse; -+ bool isolated = false; -+ bool knockout = false; - #if defined(POPPLER_NEW_OBJECT_API) - if (!((obj5 = obj4.dictLookup(const_cast("CS"))).isNull())) { - #else -@@ -1050,9 +1049,9 @@ void PdfParser::opSetExtGState(Object args[], int /*nu - #endif - } - --void PdfParser::doSoftMask(Object *str, GBool alpha, -+void PdfParser::doSoftMask(Object *str, bool alpha, - GfxColorSpace *blendingColorSpace, -- GBool isolated, GBool knockout, -+ bool isolated, bool knockout, - Function *transferFunc, GfxColor *backdropColor) { - Dict *dict, *resDict; - double m[6], bbox[4]; -@@ -1145,7 +1144,7 @@ void PdfParser::doSoftMask(Object *str, GBool alpha, - - // draw it - ++formDepth; -- doForm1(str, resDict, m, bbox, gTrue, gTrue, -+ doForm1(str, resDict, m, bbox, true, true, - blendingColorSpace, isolated, knockout, - alpha, transferFunc, backdropColor); - --formDepth; -@@ -1615,7 +1614,7 @@ void PdfParser::opFill(Object /*args*/[], int /*numArg - if (state->isPath()) { - if (state->getFillColorSpace()->getMode() == csPattern && - !builder->isPatternTypeSupported(state->getFillPattern())) { -- doPatternFillFallback(gFalse); -+ doPatternFillFallback(false); - } else { - builder->addPath(state, true, false); - } -@@ -1632,7 +1631,7 @@ void PdfParser::opEOFill(Object /*args*/[], int /*numA - if (state->isPath()) { - if (state->getFillColorSpace()->getMode() == csPattern && - !builder->isPatternTypeSupported(state->getFillPattern())) { -- doPatternFillFallback(gTrue); -+ doPatternFillFallback(true); - } else { - builder->addPath(state, true, false, true); - } -@@ -1647,7 +1646,7 @@ void PdfParser::opFillStroke(Object /*args*/[], int /* - return; - } - if (state->isPath()) { -- doFillAndStroke(gFalse); -+ doFillAndStroke(false); - } else { - builder->addPath(state, true, true); - } -@@ -1662,7 +1661,7 @@ void PdfParser::opCloseFillStroke(Object /*args*/[], i - } - if (state->isPath()) { - state->closePath(); -- doFillAndStroke(gFalse); -+ doFillAndStroke(false); - } - doEndPath(); - } -@@ -1674,7 +1673,7 @@ void PdfParser::opEOFillStroke(Object /*args*/[], int - return; - } - if (state->isPath()) { -- doFillAndStroke(gTrue); -+ doFillAndStroke(true); - } - doEndPath(); - } -@@ -1687,20 +1686,20 @@ void PdfParser::opCloseEOFillStroke(Object /*args*/[], - } - if (state->isPath()) { - state->closePath(); -- doFillAndStroke(gTrue); -+ doFillAndStroke(true); - } - doEndPath(); - } - --void PdfParser::doFillAndStroke(GBool eoFill) { -- GBool fillOk = gTrue, strokeOk = gTrue; -+void PdfParser::doFillAndStroke(bool eoFill) { -+ bool fillOk = true, strokeOk = true; - if (state->getFillColorSpace()->getMode() == csPattern && - !builder->isPatternTypeSupported(state->getFillPattern())) { -- fillOk = gFalse; -+ fillOk = false; - } - if (state->getStrokeColorSpace()->getMode() == csPattern && - !builder->isPatternTypeSupported(state->getStrokePattern())) { -- strokeOk = gFalse; -+ strokeOk = false; - } - if (fillOk && strokeOk) { - builder->addPath(state, true, true, eoFill); -@@ -1710,7 +1709,7 @@ void PdfParser::doFillAndStroke(GBool eoFill) { - } - } - --void PdfParser::doPatternFillFallback(GBool eoFill) { -+void PdfParser::doPatternFillFallback(bool eoFill) { - GfxPattern *pattern; - - if (!(pattern = state->getFillPattern())) { -@@ -1720,7 +1719,7 @@ void PdfParser::doPatternFillFallback(GBool eoFill) { - case 1: - break; - case 2: -- doShadingPatternFillFallback(static_cast(pattern), gFalse, eoFill); -+ doShadingPatternFillFallback(static_cast(pattern), false, eoFill); - break; - default: - error(errUnimplemented, getPos(), "Unimplemented pattern type (%d) in fill", -@@ -1739,7 +1738,7 @@ void PdfParser::doPatternStrokeFallback() { - case 1: - break; - case 2: -- doShadingPatternFillFallback(static_cast(pattern), gTrue, gFalse); -+ doShadingPatternFillFallback(static_cast(pattern), true, false); - break; - default: - error(errUnimplemented, getPos(), "Unimplemented pattern type ({0:d}) in stroke", -@@ -1749,10 +1748,10 @@ void PdfParser::doPatternStrokeFallback() { - } - - void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat, -- GBool stroke, GBool eoFill) { -+ bool stroke, bool eoFill) { - GfxShading *shading; - GfxPath *savedPath; -- double *ctm, *btm, *ptm; -+ const double *ctm, *btm, *ptm; - double m[6], ictm[6], m1[6]; - double xMin, yMin, xMax, yMax; - double det; -@@ -1863,7 +1862,7 @@ void PdfParser::opShFill(Object args[], int /*numArgs* - double xTemp, yTemp; - double gradientTransform[6]; - double *matrix = NULL; -- GBool savedState = gFalse; -+ bool savedState = false; - - #if defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API) - if (!(shading = res->lookupShading(args[0].getName(), NULL, NULL))) { -@@ -1879,13 +1878,13 @@ void PdfParser::opShFill(Object args[], int /*numArgs* - if (shading->getType() != 2 && shading->getType() != 3) { - savedPath = state->getPath()->copy(); - saveState(); -- savedState = gTrue; -+ savedState = true; - } else { // get gradient transform if possible - // check proper operator sequence - // first there should be one W(*) and then one 'cm' somewhere before 'sh' -- GBool seenClip, seenConcat; -+ bool seenClip, seenConcat; - seenClip = (clipHistory->getClipPath() != NULL); -- seenConcat = gFalse; -+ seenConcat = false; - int i = 1; - while (i <= maxOperatorHistoryDepth) { - const char *opName = getPreviousOperator(i); -@@ -1893,7 +1892,7 @@ void PdfParser::opShFill(Object args[], int /*numArgs* - if (seenConcat) { // more than one 'cm' - break; - } else { -- seenConcat = gTrue; -+ seenConcat = true; - } - } - i++; -@@ -1994,7 +1993,7 @@ void PdfParser::doFunctionShFill1(GfxFunctionShading * - GfxColor color0M, color1M, colorM0, colorM1, colorMM; - GfxColor colors2[4]; - double functionColorDelta = colorDeltas[pdfFunctionShading-1]; -- double *matrix; -+ const double *matrix; - double xM, yM; - int nComps, i, j; - -@@ -2174,7 +2173,7 @@ void PdfParser::doPatchMeshShFill(GfxPatchMeshShading - } - } - --void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) { -+void PdfParser::fillPatch(_POPPLER_CONST GfxPatch *patch, int nComps, int depth) { - GfxPatch patch00 = blankPatch(); - GfxPatch patch01 = blankPatch(); - GfxPatch patch10 = blankPatch(); -@@ -2348,7 +2347,7 @@ void PdfParser::opBeginText(Object /*args*/[], int /*n - state->setTextMat(1, 0, 0, 1, 0, 0); - state->textMoveTo(0, 0); - builder->updateTextPosition(0.0, 0.0); -- fontChanged = gTrue; -+ fontChanged = true; - builder->beginTextObject(state); - } - -@@ -2376,20 +2375,20 @@ void PdfParser::opSetFont(Object args[], int /*numArgs - // unsetting the font (drawing no text) is better than using the - // previous one and drawing random glyphs from it - state->setFont(NULL, args[1].getNum()); -- fontChanged = gTrue; -+ fontChanged = true; - return; - } - if (printCommands) { - printf(" font: tag=%s name='%s' %g\n", -- font->getTag()->getCString(), -- font->getName() ? font->getName()->getCString() : "???", -+ font->getTag()->c_str(), -+ font->getName() ? font->getName()->c_str() : "???", - args[1].getNum()); - fflush(stdout); - } - - font->incRefCnt(); - state->setFont(font, args[1].getNum()); -- fontChanged = gTrue; -+ fontChanged = true; - } - - // TODO not good that numArgs is ignored but args[] is used: -@@ -2422,7 +2421,7 @@ void PdfParser::opSetHorizScaling(Object args[], int / - { - state->setHorizScaling(args[0].getNum()); - builder->updateTextMatrix(state); -- fontChanged = gTrue; -+ fontChanged = true; - } - - //------------------------------------------------------------------------ -@@ -2462,7 +2461,7 @@ void PdfParser::opSetTextMatrix(Object args[], int /*n - state->textMoveTo(0, 0); - builder->updateTextMatrix(state); - builder->updateTextPosition(0.0, 0.0); -- fontChanged = gTrue; -+ fontChanged = true; - } - - void PdfParser::opTextNextLine(Object /*args*/[], int /*numArgs*/) -@@ -2488,7 +2487,7 @@ void PdfParser::opShowText(Object args[], int /*numArg - } - if (fontChanged) { - builder->updateFont(state); -- fontChanged = gFalse; -+ fontChanged = false; - } - doShowText(args[0].getString()); - } -@@ -2505,7 +2504,7 @@ void PdfParser::opMoveShowText(Object args[], int /*nu - } - if (fontChanged) { - builder->updateFont(state); -- fontChanged = gFalse; -+ fontChanged = false; - } - tx = state->getLineX(); - ty = state->getLineY() - state->getLeading(); -@@ -2526,7 +2525,7 @@ void PdfParser::opMoveSetShowText(Object args[], int / - } - if (fontChanged) { - builder->updateFont(state); -- fontChanged = gFalse; -+ fontChanged = false; - } - state->setWordSpace(args[0].getNum()); - state->setCharSpace(args[1].getNum()); -@@ -2550,7 +2549,7 @@ void PdfParser::opShowSpaceText(Object args[], int /*n - } - if (fontChanged) { - builder->updateFont(state); -- fontChanged = gFalse; -+ fontChanged = false; - } - wMode = state->getFont()->getWMode(); - a = args[0].getArray(); -@@ -2582,7 +2581,7 @@ void PdfParser::opShowSpaceText(Object args[], int /*n - } - } - --void PdfParser::doShowText(GooString *s) { -+void PdfParser::doShowText(const GooString *s) { - GfxFont *font; - int wMode; - double riseX, riseY; -@@ -2591,11 +2590,11 @@ void PdfParser::doShowText(GooString *s) { - double x, y, dx, dy, tdx, tdy; - double originX, originY, tOriginX, tOriginY; - double oldCTM[6], newCTM[6]; -- double *mat; -+ const double *mat; - Object charProc; - Dict *resDict; - Parser *oldParser; -- char *p; -+ const char *p; - int len, n, uLen; - - font = state->getFont(); -@@ -2631,7 +2630,7 @@ void PdfParser::doShowText(GooString *s) { - double lineX = state->getLineX(); - double lineY = state->getLineY(); - oldParser = parser; -- p = s->getCString(); -+ p = s->c_str(); - len = s->getLength(); - while (len > 0) { - n = font->getNextChar(p, len, &code, -@@ -2660,7 +2659,7 @@ void PdfParser::doShowText(GooString *s) { - pushResources(resDict); - } - if (charProc.isStream()) { -- //parse(&charProc, gFalse); // TODO: parse into SVG font -+ //parse(&charProc, false); // TODO: parse into SVG font - } else { - error(errSyntaxError, getPos(), "Missing or bad Type3 CharProc entry"); - } -@@ -2686,7 +2685,7 @@ void PdfParser::doShowText(GooString *s) { - - } else { - state->textTransformDelta(0, state->getRise(), &riseX, &riseY); -- p = s->getCString(); -+ p = s->c_str(); - len = s->getLength(); - while (len > 0) { - n = font->getNextChar(p, len, &code, -@@ -2732,7 +2731,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs - { - Object obj1, obj2, obj3, refObj; - -- char *name = args[0].getName(); -+ const char *name = args[0].getName(); - #if defined(POPPLER_NEW_OBJECT_API) - if ((obj1 = res->lookupXObject(name)).isNull()) { - #else -@@ -2758,7 +2757,7 @@ void PdfParser::opXObject(Object args[], int /*numArgs - #else - res->lookupXObjectNF(name, &refObj); - #endif -- doImage(&refObj, obj1.getStream(), gFalse); -+ doImage(&refObj, obj1.getStream(), false); - #if !defined(POPPLER_NEW_OBJECT_API) - refObj.free(); - #endif -@@ -2783,19 +2782,19 @@ void PdfParser::opXObject(Object args[], int /*numArgs - #endif - } - --void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) -+void PdfParser::doImage(Object * /*ref*/, Stream *str, bool inlineImg) - { - Dict *dict; - int width, height; - int bits; -- GBool interpolate; -+ bool interpolate; - StreamColorSpaceMode csMode; -- GBool mask; -- GBool invert; -+ bool mask; -+ bool invert; - Object maskObj, smaskObj; -- GBool haveColorKeyMask, haveExplicitMask, haveSoftMask; -- GBool maskInvert; -- GBool maskInterpolate; -+ bool haveColorKeyMask, haveExplicitMask, haveSoftMask; -+ bool maskInvert; -+ bool maskInterpolate; - Object obj1, obj2; - - // get info from the stream -@@ -2873,11 +2872,11 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - if (obj1.isBool()) - interpolate = obj1.getBool(); - else -- interpolate = gFalse; -+ interpolate = false; - #if !defined(POPPLER_NEW_OBJECT_API) - obj1.free(); - #endif -- maskInterpolate = gFalse; -+ maskInterpolate = false; - - // image or mask? - #if defined(POPPLER_NEW_OBJECT_API) -@@ -2893,7 +2892,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - dict->lookup(const_cast("IM"), &obj1); - #endif - } -- mask = gFalse; -+ mask = false; - if (obj1.isBool()) { - mask = obj1.getBool(); - } -@@ -2937,7 +2936,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - if (bits != 1) { - goto err1; - } -- invert = gFalse; -+ invert = false; - #if defined(POPPLER_NEW_OBJECT_API) - obj1 = dict->lookup(const_cast("Decode")); - #else -@@ -2958,7 +2957,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - obj1.arrayGet(0, &obj2); - #endif - if (obj2.isInt() && obj2.getInt() == 1) { -- invert = gTrue; -+ invert = true; - } - #if !defined(POPPLER_NEW_OBJECT_API) - obj2.free(); -@@ -3055,11 +3054,11 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - - // get the mask - int maskColors[2*gfxColorMaxComps]; -- haveColorKeyMask = haveExplicitMask = haveSoftMask = gFalse; -+ haveColorKeyMask = haveExplicitMask = haveSoftMask = false; - Stream *maskStr = NULL; - int maskWidth = 0; - int maskHeight = 0; -- maskInvert = gFalse; -+ maskInvert = false; - GfxImageColorMap *maskColorMap = NULL; - #if defined(POPPLER_NEW_OBJECT_API) - maskObj = dict->lookup(const_cast("Mask")); -@@ -3146,7 +3145,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - if (obj1.isBool()) - maskInterpolate = obj1.getBool(); - else -- maskInterpolate = gFalse; -+ maskInterpolate = false; - #if defined(POPPLER_NEW_OBJECT_API) - obj1 = maskDict->lookup(const_cast("ColorSpace")); - #else -@@ -3215,7 +3214,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - goto err1; - } - //~ handle the Matte entry -- haveSoftMask = gTrue; -+ haveSoftMask = true; - } else if (maskObj.isArray()) { - // color key mask - int i; -@@ -3230,7 +3229,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - obj1.free(); - #endif - } -- haveColorKeyMask = gTrue; -+ haveColorKeyMask = true; - } else if (maskObj.isStream()) { - // explicit mask - if (inlineImg) { -@@ -3307,11 +3306,11 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - if (obj1.isBool()) - maskInterpolate = obj1.getBool(); - else -- maskInterpolate = gFalse; -+ maskInterpolate = false; - #if !defined(POPPLER_NEW_OBJECT_API) - obj1.free(); - #endif -- maskInvert = gFalse; -+ maskInvert = false; - #if defined(POPPLER_NEW_OBJECT_API) - obj1 = maskDict->lookup(const_cast("Decode")); - #else -@@ -3332,7 +3331,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - obj1.arrayGet(0, &obj2); - #endif - if (obj2.isInt() && obj2.getInt() == 1) { -- maskInvert = gTrue; -+ maskInvert = true; - } - #if !defined(POPPLER_NEW_OBJECT_API) - obj2.free(); -@@ -3343,7 +3342,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - #if !defined(POPPLER_NEW_OBJECT_API) - obj1.free(); - #endif -- haveExplicitMask = gTrue; -+ haveExplicitMask = true; - } - - // draw it -@@ -3378,7 +3377,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, - - void PdfParser::doForm(Object *str) { - Dict *dict; -- GBool transpGroup, isolated, knockout; -+ bool transpGroup, isolated, knockout; - GfxColorSpace *blendingColorSpace; - Object matrixObj, bboxObj; - double m[6], bbox[4]; -@@ -3472,7 +3471,7 @@ void PdfParser::doForm(Object *str) { - resDict = resObj.isDict() ? resObj.getDict() : (Dict *)NULL; - - // check for a transparency group -- transpGroup = isolated = knockout = gFalse; -+ transpGroup = isolated = knockout = false; - blendingColorSpace = NULL; - #if defined(POPPLER_NEW_OBJECT_API) - if ((obj1 = dict->lookup(const_cast("Group"))).isDict()) { -@@ -3481,7 +3480,7 @@ void PdfParser::doForm(Object *str) { - if (dict->lookup(const_cast("Group"), &obj1)->isDict()) { - if (obj1.dictLookup(const_cast("S"), &obj2)->isName(const_cast("Transparency"))) { - #endif -- transpGroup = gTrue; -+ transpGroup = true; - #if defined(POPPLER_NEW_OBJECT_API) - if (!((obj3 = obj1.dictLookup(const_cast("CS"))).isNull())) { - #else -@@ -3525,7 +3524,7 @@ void PdfParser::doForm(Object *str) { - // draw it - ++formDepth; - doForm1(str, resDict, m, bbox, -- transpGroup, gFalse, blendingColorSpace, isolated, knockout); -+ transpGroup, false, blendingColorSpace, isolated, knockout); - --formDepth; - - if (blendingColorSpace) { -@@ -3537,10 +3536,10 @@ void PdfParser::doForm(Object *str) { - } - - void PdfParser::doForm1(Object *str, Dict *resDict, double *matrix, double *bbox, -- GBool transpGroup, GBool softMask, -+ bool transpGroup, bool softMask, - GfxColorSpace *blendingColorSpace, -- GBool isolated, GBool knockout, -- GBool alpha, Function *transferFunc, -+ bool isolated, bool knockout, -+ bool alpha, Function *transferFunc, - GfxColor *backdropColor) { - Parser *oldParser; - double oldBaseMatrix[6]; -@@ -3601,7 +3600,7 @@ void PdfParser::doForm1(Object *str, Dict *resDict, do - } - - // draw the form -- parse(str, gFalse); -+ parse(str, false); - - // restore base matrix - for (i = 0; i < 6; ++i) { -@@ -3641,7 +3640,7 @@ void PdfParser::opBeginImage(Object /*args*/[], int /* - - // display the image - if (str) { -- doImage(NULL, str, gTrue); -+ doImage(NULL, str, true); - - // skip 'EI' tag - int c1 = str->getUndecodedStream()->getChar(); -@@ -3657,7 +3656,6 @@ void PdfParser::opBeginImage(Object /*args*/[], int /* - Stream *PdfParser::buildImageStream() { - Object dict; - Object obj; -- char *key; - Stream *str; - - // build dictionary -@@ -3675,26 +3673,17 @@ Stream *PdfParser::buildImageStream() { - obj.free(); - #endif - } else { -- key = copyString(obj.getName()); --#if defined(POPPLER_NEW_OBJECT_API) -- obj = parser->getObj(); --#else -- obj.free(); -- parser->getObj(&obj); --#endif -- if (obj.isEOF() || obj.isError()) { -- gfree(key); -+ Object obj2; -+ _POPPLER_CALL(obj2, parser->getObj); -+ if (obj2.isEOF() || obj2.isError()) { -+ _POPPLER_FREE(obj); - break; - } --#if defined(POPPLER_NEW_OBJECT_API) -- dict.dictAdd(key, std::move(obj)); -+ _POPPLER_DICTADD(dict, obj.getName(), obj2); -+ _POPPLER_FREE(obj); -+ _POPPLER_FREE(obj2); - } -- obj = parser->getObj(); --#else -- dict.dictAdd(key, &obj); -- } -- parser->getObj(&obj); --#endif -+ _POPPLER_CALL(obj, parser->getObj); - } - if (obj.isEOF()) { - error(errSyntaxError, getPos(), "End of file in inline image"); -@@ -3710,10 +3699,10 @@ Stream *PdfParser::buildImageStream() { - - // make stream - #if defined(POPPLER_NEW_OBJECT_API) -- str = new EmbedStream(parser->getStream(), dict.copy(), gFalse, 0); -+ str = new EmbedStream(parser->getStream(), dict.copy(), false, 0); - str = str->addFilters(dict.getDict()); - #else -- str = new EmbedStream(parser->getStream(), &dict, gFalse, 0); -+ str = new EmbedStream(parser->getStream(), &dict, false, 0); - str = str->addFilters(&dict); - #endif - ---- src/extension/internal/pdfinput/pdf-parser.h.orig 2018-03-11 20:38:09 UTC -+++ src/extension/internal/pdfinput/pdf-parser.h -@@ -9,6 +9,7 @@ - #define PDF_PARSER_H - - #ifdef HAVE_POPPLER -+#include "poppler-transition-api.h" - - #ifdef USE_GCC_PRAGMAS - #pragma interface -@@ -96,7 +97,7 @@ struct PdfOperator { - struct OpHistoryEntry { - const char *name; // operator's name - GfxState *state; // saved state, NULL if none -- GBool executed; // whether the operator has been executed -+ bool executed; // whether the operator has been executed - - OpHistoryEntry *next; // next entry on stack - unsigned depth; // total number of entries descending from this -@@ -127,16 +128,19 @@ class PdfParser { (public) - - // Constructor for regular output. - PdfParser(XRef *xrefA, SvgBuilder *builderA, int pageNum, int rotate, -- Dict *resDict, PDFRectangle *box, PDFRectangle *cropBox); -+ Dict *resDict, -+ _POPPLER_CONST PDFRectangle *box, -+ _POPPLER_CONST PDFRectangle *cropBox); - - // Constructor for a sub-page object. - PdfParser(XRef *xrefA, Inkscape::Extension::Internal::SvgBuilder *builderA, -- Dict *resDict, PDFRectangle *box); -+ Dict *resDict, -+ _POPPLER_CONST PDFRectangle *box); - - virtual ~PdfParser(); - - // Interpret a stream or array of streams. -- void parse(Object *obj, GBool topLevel = gTrue); -+ void parse(Object *obj, bool topLevel = true); - - // Save graphics state. - void saveState(); -@@ -154,12 +158,12 @@ class PdfParser { (public) - - XRef *xref; // the xref table for this PDF file - SvgBuilder *builder; // SVG generator -- GBool subPage; // is this a sub-page object? -- GBool printCommands; // print the drawing commands (for debugging) -+ bool subPage; // is this a sub-page object? -+ bool printCommands; // print the drawing commands (for debugging) - GfxResources *res; // resource stack - - GfxState *state; // current graphics state -- GBool fontChanged; // set if font or text matrix has changed -+ bool fontChanged; // set if font or text matrix has changed - GfxClipType clip; // do a clip? - int ignoreUndef; // current BX/EX nesting level - double baseMatrix[6]; // default matrix for most recent -@@ -183,10 +187,10 @@ class PdfParser { (public) - OpHistoryEntry *popOperator(); - const char *getPreviousOperator(unsigned int look_back=1); // returns the nth previous operator's name - -- void go(GBool topLevel); -+ void go(bool topLevel); - void execOp(Object *cmd, Object args[], int numArgs); -- PdfOperator *findOp(char *name); -- GBool checkArg(Object *arg, TchkType type); -+ PdfOperator *findOp(const char *name); -+ bool checkArg(Object *arg, TchkType type); - int getPos(); - - // graphics state operators -@@ -200,9 +204,9 @@ class PdfParser { (public) - void opSetMiterLimit(Object args[], int numArgs); - void opSetLineWidth(Object args[], int numArgs); - void opSetExtGState(Object args[], int numArgs); -- void doSoftMask(Object *str, GBool alpha, -+ void doSoftMask(Object *str, bool alpha, - GfxColorSpace *blendingColorSpace, -- GBool isolated, GBool knockout, -+ bool isolated, bool knockout, - Function *transferFunc, GfxColor *backdropColor); - void opSetRenderingIntent(Object args[], int numArgs); - -@@ -239,11 +243,11 @@ class PdfParser { (public) - void opCloseFillStroke(Object args[], int numArgs); - void opEOFillStroke(Object args[], int numArgs); - void opCloseEOFillStroke(Object args[], int numArgs); -- void doFillAndStroke(GBool eoFill); -- void doPatternFillFallback(GBool eoFill); -+ void doFillAndStroke(bool eoFill); -+ void doPatternFillFallback(bool eoFill); - void doPatternStrokeFallback(); - void doShadingPatternFillFallback(GfxShadingPattern *sPat, -- GBool stroke, GBool eoFill); -+ bool stroke, bool eoFill); - void opShFill(Object args[], int numArgs); - void doFunctionShFill(GfxFunctionShading *shading); - void doFunctionShFill1(GfxFunctionShading *shading, -@@ -256,7 +260,7 @@ class PdfParser { (public) - double x2, double y2, GfxColor *color2, - int nComps, int depth); - void doPatchMeshShFill(GfxPatchMeshShading *shading); -- void fillPatch(GfxPatch *patch, int nComps, int depth); -+ void fillPatch(_POPPLER_CONST GfxPatch *patch, int nComps, int depth); - void doEndPath(); - - // path clipping operators -@@ -287,17 +291,17 @@ class PdfParser { (public) - void opMoveShowText(Object args[], int numArgs); - void opMoveSetShowText(Object args[], int numArgs); - void opShowSpaceText(Object args[], int numArgs); -- void doShowText(GooString *s); -+ void doShowText(const GooString *s); - - // XObject operators - void opXObject(Object args[], int numArgs); -- void doImage(Object *ref, Stream *str, GBool inlineImg); -+ void doImage(Object *ref, Stream *str, bool inlineImg); - void doForm(Object *str); - void doForm1(Object *str, Dict *resDict, double *matrix, double *bbox, -- GBool transpGroup = gFalse, GBool softMask = gFalse, -+ bool transpGroup = false, bool softMask = false, - GfxColorSpace *blendingColorSpace = NULL, -- GBool isolated = gFalse, GBool knockout = gFalse, -- GBool alpha = gFalse, Function *transferFunc = NULL, -+ bool isolated = false, bool knockout = false, -+ bool alpha = false, Function *transferFunc = NULL, - GfxColor *backdropColor = NULL); - - // in-line image operators ---- src/extension/internal/pdfinput/poppler-transition-api.h.orig 2018-12-09 09:09:13 UTC -+++ src/extension/internal/pdfinput/poppler-transition-api.h -@@ -0,0 +1,39 @@ -+#ifndef SEEN_POPPLER_TRANSITION_API_H -+#define SEEN_POPPLER_TRANSITION_API_H -+ -+#include -+ -+#if POPPLER_CHECK_VERSION(0,70,0) -+#define _POPPLER_CONST const -+#else -+#define _POPPLER_CONST -+#endif -+ -+#if POPPLER_CHECK_VERSION(0,69,0) -+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(key, std::move(obj)) -+#elif POPPLER_CHECK_VERSION(0,58,0) -+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(copyString(key), std::move(obj)) -+#else -+#define _POPPLER_DICTADD(dict, key, obj) (dict).dictAdd(copyString(key), &obj) -+#endif -+ -+#if POPPLER_CHECK_VERSION(0,58,0) -+#define POPPLER_NEW_OBJECT_API -+#define _POPPLER_FREE(obj) -+#define _POPPLER_CALL(ret, func) (ret = func()) -+#define _POPPLER_CALL_ARGS(ret, func, ...) (ret = func(__VA_ARGS__)) -+#else -+#define _POPPLER_FREE(obj) (obj).free() -+#define _POPPLER_CALL(ret, func) (*func(&ret)) -+#define _POPPLER_CALL_ARGS(ret, func, ...) (*func(__VA_ARGS__, &ret)) -+#endif -+ -+#if POPPLER_CHECK_VERSION(0, 29, 0) -+#define POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API -+#endif -+ -+#if POPPLER_CHECK_VERSION(0, 25, 0) -+#define POPPLER_EVEN_NEWER_COLOR_SPACE_API -+#endif -+ -+#endif ---- src/extension/internal/pdfinput/svg-builder.cpp.orig 2018-03-11 20:38:09 UTC -+++ src/extension/internal/pdfinput/svg-builder.cpp -@@ -625,7 +625,7 @@ gchar *SvgBuilder::_createPattern(GfxPattern *pattern, - 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(GfxTilingPatte - - 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(GfxTilingPatte - 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(GfxTilingPatte - */ - 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(GfxShading *shading, - - #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(Inkscape::XML::Node - _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(Inkscape::XML::Node - 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 -@@ -1020,7 +1020,7 @@ void SvgBuilder::updateFont(GfxState *state) { - GfxFont *font = state->getFont(); - // Store original name - if (font->getName()) { -- _font_specification = font->getName()->getCString(); -+ _font_specification = g_strdup(font->getName()->c_str()); - } else { - _font_specification = (char*) "Arial"; - } -@@ -1047,7 +1047,7 @@ void SvgBuilder::updateFont(GfxState *state) { - - // Font family - if (font->getFamily()) { // if font family is explicitly given use it. -- sp_repr_css_set_property(_font_style, "font-family", font->getFamily()->getCString()); -+ sp_repr_css_set_property(_font_style, "font-family", font->getFamily()->c_str()); - } else { - int attr_value = 1; - sp_repr_get_int(_preferences, "localFonts", &attr_value); -@@ -1148,7 +1148,7 @@ void SvgBuilder::updateFont(GfxState *state) { - 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(double tx, double - 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, const GooString * /*s*/) { - if (_need_font_update) { - updateFont(state); - } ---- src/extension/internal/pdfinput/svg-builder.h.orig 2018-03-11 20:38:09 UTC -+++ src/extension/internal/pdfinput/svg-builder.h -@@ -15,6 +15,7 @@ - #endif - - #ifdef HAVE_POPPLER -+#include "poppler-transition-api.h" - - class SPDocument; - namespace Inkscape { -@@ -136,7 +137,7 @@ class SvgBuilder { (public) - void clearSoftMask(GfxState *state); - - // Text handling -- void beginString(GfxState *state, GooString *s); -+ void beginString(GfxState *state, const GooString *s); - void endString(GfxState *state); - void addChar(GfxState *state, double x, double y, - double dx, double dy, -@@ -175,7 +176,7 @@ class SvgBuilder { (public) - void _addStopToGradient(Inkscape::XML::Node *gradient, double offset, - GfxRGB *color, double opacity); - bool _addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading, -- Function *func); -+ _POPPLER_CONST Function *func); - gchar *_createTilingPattern(GfxTilingPattern *tiling_pattern, GfxState *state, - bool is_stroke=false); - // Image/mask creation Property changes on: head/graphics/inkscape/files/patch-archgit_bee18ea ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/graphics/inkscape/pkg-plist =================================================================== --- head/graphics/inkscape/pkg-plist (revision 501295) +++ head/graphics/inkscape/pkg-plist (revision 501296) @@ -1,1016 +1,1027 @@ bin/inkscape bin/inkview lib/inkscape/lib2geom_LIB.a lib/inkscape/libavoid_LIB.a lib/inkscape/libcola_LIB.a lib/inkscape/libcroco_LIB.a lib/inkscape/libdepixelize_LIB.a lib/inkscape/libgc_LIB.a lib/inkscape/libgdl_LIB.a lib/inkscape/libinkscape_base.so lib/inkscape/liblivarot_LIB.a lib/inkscape/libnrtype_LIB.a lib/inkscape/libuemf_LIB.a lib/inkscape/libutil_LIB.a lib/inkscape/libvpsc_LIB.a man/man1/inkscape.1.gz man/man1/inkscape.de.1.gz man/man1/inkscape.el.1.gz man/man1/inkscape.fr.1.gz man/man1/inkscape.ja.1.gz man/man1/inkscape.sk.1.gz man/man1/inkscape.zh_TW.1.gz man/man1/inkview.1.gz share/applications/inkscape.desktop share/icons/hicolor/16x16/apps/inkscape.png share/icons/hicolor/22x22/apps/inkscape.png share/icons/hicolor/24x24/apps/inkscape.png share/icons/hicolor/256x256/apps/inkscape.png share/icons/hicolor/32x32/apps/inkscape.png share/icons/hicolor/48x48/apps/inkscape.png %%DATADIR%%/attributes/README %%DATADIR%%/attributes/css_defaults %%DATADIR%%/attributes/cssprops %%DATADIR%%/attributes/svgprops %%DATADIR%%/branding/README %%DATADIR%%/branding/inkscape-flat.svg %%DATADIR%%/branding/inkscape-text.svg %%DATADIR%%/branding/inkscape.logo.svg %%DATADIR%%/branding/inkscape.svg %%DATADIR%%/branding/sodipodi.svg %%DATADIR%%/branding/tux.svg %%DATADIR%%/examples/README %%DATADIR%%/examples/animated-clock.svg %%DATADIR%%/examples/art-nouveau-P3.svg %%DATADIR%%/examples/blend_modes.svg %%DATADIR%%/examples/car.svgz %%DATADIR%%/examples/data_uri.svg %%DATADIR%%/examples/eastern-motive-P4G.svg %%DATADIR%%/examples/filters.svg %%DATADIR%%/examples/flow-go.svg %%DATADIR%%/examples/flowsample.svg %%DATADIR%%/examples/gallardo.svgz %%DATADIR%%/examples/glass.svg %%DATADIR%%/examples/gradient-mesh-experimental.svgz %%DATADIR%%/examples/gradient.svg %%DATADIR%%/examples/i18n.svg %%DATADIR%%/examples/istest.pov %%DATADIR%%/examples/l-systems.svgz %%DATADIR%%/examples/lighting_filters.svg %%DATADIR%%/examples/live-path-effects-curvestitch.svg %%DATADIR%%/examples/live-path-effects-gears.svg %%DATADIR%%/examples/live-path-effects-pathalongpath.svg %%DATADIR%%/examples/markers.svg %%DATADIR%%/examples/replace-hue.svg %%DATADIR%%/examples/rope-3D.svg %%DATADIR%%/examples/stars.svgz %%DATADIR%%/examples/svgfont.svg %%DATADIR%%/examples/tesselation-P3.svg %%DATADIR%%/examples/text-on-path.svg %%DATADIR%%/examples/tiger.svgz %%DATADIR%%/examples/tref.svg %%DATADIR%%/examples/turbulence_filters.svg %%DATADIR%%/extensions/Barcode/Base.py %%DATADIR%%/extensions/Barcode/BaseEan.py %%DATADIR%%/extensions/Barcode/Code128.py %%DATADIR%%/extensions/Barcode/Code25i.py %%DATADIR%%/extensions/Barcode/Code39.py %%DATADIR%%/extensions/Barcode/Code39Ext.py %%DATADIR%%/extensions/Barcode/Code93.py %%DATADIR%%/extensions/Barcode/Ean13.py %%DATADIR%%/extensions/Barcode/Ean2.py %%DATADIR%%/extensions/Barcode/Ean5.py %%DATADIR%%/extensions/Barcode/Ean8.py %%DATADIR%%/extensions/Barcode/Rm4scc.py %%DATADIR%%/extensions/Barcode/Upca.py %%DATADIR%%/extensions/Barcode/Upce.py %%DATADIR%%/extensions/Barcode/__init__.py %%DATADIR%%/extensions/Poly3DObjects/cube.obj %%DATADIR%%/extensions/Poly3DObjects/cuboct.obj %%DATADIR%%/extensions/Poly3DObjects/dodec.obj %%DATADIR%%/extensions/Poly3DObjects/great_dodec.obj %%DATADIR%%/extensions/Poly3DObjects/great_rhombicosidodec.obj %%DATADIR%%/extensions/Poly3DObjects/great_rhombicuboct.obj %%DATADIR%%/extensions/Poly3DObjects/great_stel_dodec.obj %%DATADIR%%/extensions/Poly3DObjects/icos.obj %%DATADIR%%/extensions/Poly3DObjects/icosidodec.obj %%DATADIR%%/extensions/Poly3DObjects/jessens_orthog_icos.obj %%DATADIR%%/extensions/Poly3DObjects/methane.obj %%DATADIR%%/extensions/Poly3DObjects/oct.obj %%DATADIR%%/extensions/Poly3DObjects/rh_axes.obj %%DATADIR%%/extensions/Poly3DObjects/rhomb_dodec.obj %%DATADIR%%/extensions/Poly3DObjects/rhomb_triacont.obj %%DATADIR%%/extensions/Poly3DObjects/small_rhombicosidodec.obj %%DATADIR%%/extensions/Poly3DObjects/small_rhombicuboct.obj %%DATADIR%%/extensions/Poly3DObjects/small_triam_icos.obj %%DATADIR%%/extensions/Poly3DObjects/snub_cube.obj %%DATADIR%%/extensions/Poly3DObjects/snub_dodec.obj %%DATADIR%%/extensions/Poly3DObjects/szilassi.obj %%DATADIR%%/extensions/Poly3DObjects/tet.obj %%DATADIR%%/extensions/Poly3DObjects/trunc_cube.obj %%DATADIR%%/extensions/Poly3DObjects/trunc_dodec.obj %%DATADIR%%/extensions/Poly3DObjects/trunc_icos.obj %%DATADIR%%/extensions/Poly3DObjects/trunc_oct.obj %%DATADIR%%/extensions/Poly3DObjects/trunc_tet.obj %%DATADIR%%/extensions/README %%DATADIR%%/extensions/addnodes.inx %%DATADIR%%/extensions/addnodes.py %%DATADIR%%/extensions/ai_input.inx %%DATADIR%%/extensions/aisvg.inx %%DATADIR%%/extensions/aisvg.xslt %%DATADIR%%/extensions/alphabet_soup/2.svg %%DATADIR%%/extensions/alphabet_soup/3.svg %%DATADIR%%/extensions/alphabet_soup/6.svg %%DATADIR%%/extensions/alphabet_soup/7.svg %%DATADIR%%/extensions/alphabet_soup/Cblob.svg %%DATADIR%%/extensions/alphabet_soup/Chook.svg %%DATADIR%%/extensions/alphabet_soup/Ctail.svg %%DATADIR%%/extensions/alphabet_soup/Delta.svg %%DATADIR%%/extensions/alphabet_soup/Eb.svg %%DATADIR%%/extensions/alphabet_soup/Eserif.svg %%DATADIR%%/extensions/alphabet_soup/Et.svg %%DATADIR%%/extensions/alphabet_soup/G.svg %%DATADIR%%/extensions/alphabet_soup/IBSerif.svg %%DATADIR%%/extensions/alphabet_soup/ITSerif.svg %%DATADIR%%/extensions/alphabet_soup/Lb.svg %%DATADIR%%/extensions/alphabet_soup/Lt.svg %%DATADIR%%/extensions/alphabet_soup/Ocross.svg %%DATADIR%%/extensions/alphabet_soup/Oterm.svg %%DATADIR%%/extensions/alphabet_soup/P.svg %%DATADIR%%/extensions/alphabet_soup/Q.svg %%DATADIR%%/extensions/alphabet_soup/Rblock.svg %%DATADIR%%/extensions/alphabet_soup/Tb.svg %%DATADIR%%/extensions/alphabet_soup/Tt.svg %%DATADIR%%/extensions/alphabet_soup/U.svg %%DATADIR%%/extensions/alphabet_soup/Vser.svg %%DATADIR%%/extensions/alphabet_soup/Xh.svg %%DATADIR%%/extensions/alphabet_soup/Xne.svg %%DATADIR%%/extensions/alphabet_soup/Xnw.svg %%DATADIR%%/extensions/alphabet_soup/Xvb.svg %%DATADIR%%/extensions/alphabet_soup/Xvt.svg %%DATADIR%%/extensions/alphabet_soup/a.svg %%DATADIR%%/extensions/alphabet_soup/abase.svg %%DATADIR%%/extensions/alphabet_soup/acap.svg %%DATADIR%%/extensions/alphabet_soup/b.svg %%DATADIR%%/extensions/alphabet_soup/bar.svg %%DATADIR%%/extensions/alphabet_soup/bar2.svg %%DATADIR%%/extensions/alphabet_soup/barcap.svg %%DATADIR%%/extensions/alphabet_soup/c.svg %%DATADIR%%/extensions/alphabet_soup/cross.svg %%DATADIR%%/extensions/alphabet_soup/cserif.svg %%DATADIR%%/extensions/alphabet_soup/e.svg %%DATADIR%%/extensions/alphabet_soup/epsilon.svg %%DATADIR%%/extensions/alphabet_soup/f.svg %%DATADIR%%/extensions/alphabet_soup/gamma.svg %%DATADIR%%/extensions/alphabet_soup/h.svg %%DATADIR%%/extensions/alphabet_soup/h2.svg %%DATADIR%%/extensions/alphabet_soup/hcap.svg %%DATADIR%%/extensions/alphabet_soup/idot.svg %%DATADIR%%/extensions/alphabet_soup/j.svg %%DATADIR%%/extensions/alphabet_soup/k.svg %%DATADIR%%/extensions/alphabet_soup/l.svg %%DATADIR%%/extensions/alphabet_soup/lserif.svg %%DATADIR%%/extensions/alphabet_soup/m.svg %%DATADIR%%/extensions/alphabet_soup/mcap.svg %%DATADIR%%/extensions/alphabet_soup/n.svg %%DATADIR%%/extensions/alphabet_soup/o.svg %%DATADIR%%/extensions/alphabet_soup/ocap.svg %%DATADIR%%/extensions/alphabet_soup/question.svg %%DATADIR%%/extensions/alphabet_soup/r.svg %%DATADIR%%/extensions/alphabet_soup/rcap.svg %%DATADIR%%/extensions/alphabet_soup/s.svg %%DATADIR%%/extensions/alphabet_soup/serif.svg %%DATADIR%%/extensions/alphabet_soup/t.svg %%DATADIR%%/extensions/alphabet_soup/tserif.svg %%DATADIR%%/extensions/alphabet_soup/v.svg %%DATADIR%%/extensions/alphabet_soup/vcap.svg %%DATADIR%%/extensions/alphabet_soup/vserl.svg %%DATADIR%%/extensions/alphabet_soup/vserr.svg %%DATADIR%%/extensions/alphabet_soup/x.svg %%DATADIR%%/extensions/alphabet_soup/y.svg %%DATADIR%%/extensions/alphabet_soup/yogh.svg %%DATADIR%%/extensions/alphabet_soup/z.svg %%DATADIR%%/extensions/bezmisc.py %%DATADIR%%/extensions/ccx_input.inx %%DATADIR%%/extensions/cdr_input.inx %%DATADIR%%/extensions/cdt_input.inx %%DATADIR%%/extensions/cgm_input.inx %%DATADIR%%/extensions/chardataeffect.py %%DATADIR%%/extensions/cmx_input.inx %%DATADIR%%/extensions/color_HSL_adjust.inx %%DATADIR%%/extensions/color_HSL_adjust.py %%DATADIR%%/extensions/color_blackandwhite.inx %%DATADIR%%/extensions/color_blackandwhite.py %%DATADIR%%/extensions/color_brighter.inx %%DATADIR%%/extensions/color_brighter.py %%DATADIR%%/extensions/color_custom.inx %%DATADIR%%/extensions/color_custom.py %%DATADIR%%/extensions/color_darker.inx %%DATADIR%%/extensions/color_darker.py %%DATADIR%%/extensions/color_desaturate.inx %%DATADIR%%/extensions/color_desaturate.py %%DATADIR%%/extensions/color_grayscale.inx %%DATADIR%%/extensions/color_grayscale.py %%DATADIR%%/extensions/color_lesshue.inx %%DATADIR%%/extensions/color_lesshue.py %%DATADIR%%/extensions/color_lesslight.inx %%DATADIR%%/extensions/color_lesslight.py %%DATADIR%%/extensions/color_lesssaturation.inx %%DATADIR%%/extensions/color_lesssaturation.py %%DATADIR%%/extensions/color_morehue.inx %%DATADIR%%/extensions/color_morehue.py %%DATADIR%%/extensions/color_morelight.inx %%DATADIR%%/extensions/color_morelight.py %%DATADIR%%/extensions/color_moresaturation.inx %%DATADIR%%/extensions/color_moresaturation.py %%DATADIR%%/extensions/color_negative.inx %%DATADIR%%/extensions/color_negative.py %%DATADIR%%/extensions/color_randomize.inx %%DATADIR%%/extensions/color_randomize.py %%DATADIR%%/extensions/color_removeblue.inx %%DATADIR%%/extensions/color_removeblue.py %%DATADIR%%/extensions/color_removegreen.inx %%DATADIR%%/extensions/color_removegreen.py %%DATADIR%%/extensions/color_removered.inx %%DATADIR%%/extensions/color_removered.py %%DATADIR%%/extensions/color_replace.inx %%DATADIR%%/extensions/color_replace.py %%DATADIR%%/extensions/color_rgbbarrel.inx %%DATADIR%%/extensions/color_rgbbarrel.py %%DATADIR%%/extensions/coloreffect.py %%DATADIR%%/extensions/colors.xml %%DATADIR%%/extensions/convert2dashes.inx %%DATADIR%%/extensions/convert2dashes.py %%DATADIR%%/extensions/cspsubdiv.py %%DATADIR%%/extensions/cubicsuperpath.py %%DATADIR%%/extensions/dhw_input.inx %%DATADIR%%/extensions/dia.inx %%DATADIR%%/extensions/dia2svg.sh %%DATADIR%%/extensions/dimension.inx %%DATADIR%%/extensions/dimension.py %%DATADIR%%/extensions/dm2svg.py %%DATADIR%%/extensions/docinfo.inx %%DATADIR%%/extensions/dots.inx %%DATADIR%%/extensions/dots.py %%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/dxf_input.inx %%DATADIR%%/extensions/dxf_input.py %%DATADIR%%/extensions/dxf_outlines.inx %%DATADIR%%/extensions/dxf_outlines.py %%DATADIR%%/extensions/dxf_output.inx %%DATADIR%%/extensions/dxf_templates.py %%DATADIR%%/extensions/edge3d.inx %%DATADIR%%/extensions/edge3d.py %%DATADIR%%/extensions/embed_raster_in_svg.pl %%DATADIR%%/extensions/embedimage.inx %%DATADIR%%/extensions/embedimage.py %%DATADIR%%/extensions/embedselectedimages.inx %%DATADIR%%/extensions/empty_business_card.inx %%DATADIR%%/extensions/empty_business_card.py %%DATADIR%%/extensions/empty_desktop.inx %%DATADIR%%/extensions/empty_desktop.py %%DATADIR%%/extensions/empty_dvd_cover.inx %%DATADIR%%/extensions/empty_dvd_cover.py %%DATADIR%%/extensions/empty_generic.inx %%DATADIR%%/extensions/empty_generic.py %%DATADIR%%/extensions/empty_icon.inx %%DATADIR%%/extensions/empty_icon.py %%DATADIR%%/extensions/empty_page.inx %%DATADIR%%/extensions/empty_page.py %%DATADIR%%/extensions/empty_video.inx %%DATADIR%%/extensions/empty_video.py %%DATADIR%%/extensions/eps_input.inx %%DATADIR%%/extensions/eqtexsvg.inx %%DATADIR%%/extensions/eqtexsvg.py %%DATADIR%%/extensions/export_gimp_palette.inx %%DATADIR%%/extensions/export_gimp_palette.py %%DATADIR%%/extensions/extractimage.inx %%DATADIR%%/extensions/extractimage.py %%DATADIR%%/extensions/extrude.inx %%DATADIR%%/extensions/extrude.py %%DATADIR%%/extensions/ffgeom.py %%DATADIR%%/extensions/fig2dev-ext.py %%DATADIR%%/extensions/fig_input.inx %%DATADIR%%/extensions/flatten.inx %%DATADIR%%/extensions/flatten.py %%DATADIR%%/extensions/foldablebox.inx %%DATADIR%%/extensions/foldablebox.py %%DATADIR%%/extensions/fontfix.conf %%DATADIR%%/extensions/fractalize.inx %%DATADIR%%/extensions/fractalize.py %%DATADIR%%/extensions/funcplot.inx %%DATADIR%%/extensions/funcplot.py %%DATADIR%%/extensions/gcodetools.py %%DATADIR%%/extensions/gcodetools_about.inx %%DATADIR%%/extensions/gcodetools_area.inx %%DATADIR%%/extensions/gcodetools_check_for_updates.inx %%DATADIR%%/extensions/gcodetools_dxf_points.inx %%DATADIR%%/extensions/gcodetools_engraving.inx %%DATADIR%%/extensions/gcodetools_graffiti.inx %%DATADIR%%/extensions/gcodetools_lathe.inx %%DATADIR%%/extensions/gcodetools_orientation_points.inx %%DATADIR%%/extensions/gcodetools_path_to_gcode.inx %%DATADIR%%/extensions/gcodetools_prepare_path_for_plasma.inx %%DATADIR%%/extensions/gcodetools_tools_library.inx %%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 %%DATADIR%%/extensions/grid_cartesian.py %%DATADIR%%/extensions/grid_isometric.inx %%DATADIR%%/extensions/grid_isometric.py %%DATADIR%%/extensions/grid_polar.inx %%DATADIR%%/extensions/grid_polar.py %%DATADIR%%/extensions/guides_creator.inx %%DATADIR%%/extensions/guides_creator.py %%DATADIR%%/extensions/guillotine.inx %%DATADIR%%/extensions/guillotine.py %%DATADIR%%/extensions/handles.inx %%DATADIR%%/extensions/handles.py %%DATADIR%%/extensions/hershey.inx %%DATADIR%%/extensions/hershey.py %%DATADIR%%/extensions/hersheydata.py %%DATADIR%%/extensions/hpgl_decoder.py %%DATADIR%%/extensions/hpgl_encoder.py %%DATADIR%%/extensions/hpgl_input.inx %%DATADIR%%/extensions/hpgl_input.py %%DATADIR%%/extensions/hpgl_output.inx %%DATADIR%%/extensions/hpgl_output.py %%DATADIR%%/extensions/image_attributes.inx %%DATADIR%%/extensions/image_attributes.py %%DATADIR%%/extensions/ink2canvas.inx %%DATADIR%%/extensions/ink2canvas.py %%DATADIR%%/extensions/ink2canvas/__init__.py %%DATADIR%%/extensions/ink2canvas/canvas.py %%DATADIR%%/extensions/ink2canvas/svg.py %%DATADIR%%/extensions/inkex.py %%DATADIR%%/extensions/inkscape.extension.rng %%DATADIR%%/extensions/inkscape_follow_link.inx %%DATADIR%%/extensions/inkscape_follow_link.py %%DATADIR%%/extensions/inkscape_help_askaquestion.inx %%DATADIR%%/extensions/inkscape_help_commandline.inx %%DATADIR%%/extensions/inkscape_help_faq.inx %%DATADIR%%/extensions/inkscape_help_keys.inx %%DATADIR%%/extensions/inkscape_help_manual.inx %%DATADIR%%/extensions/inkscape_help_relnotes.inx %%DATADIR%%/extensions/inkscape_help_reportabug.inx %%DATADIR%%/extensions/inkscape_help_svgspec.inx %%DATADIR%%/extensions/inkweb.js %%DATADIR%%/extensions/inkwebeffect.py %%DATADIR%%/extensions/interp.inx %%DATADIR%%/extensions/interp.py %%DATADIR%%/extensions/interp_att_g.inx %%DATADIR%%/extensions/interp_att_g.py %%DATADIR%%/extensions/jessyInk.js %%DATADIR%%/extensions/jessyInk_autoTexts.inx %%DATADIR%%/extensions/jessyInk_autoTexts.py %%DATADIR%%/extensions/jessyInk_core_mouseHandler_noclick.js %%DATADIR%%/extensions/jessyInk_core_mouseHandler_zoomControl.js %%DATADIR%%/extensions/jessyInk_effects.inx %%DATADIR%%/extensions/jessyInk_effects.py %%DATADIR%%/extensions/jessyInk_export.inx %%DATADIR%%/extensions/jessyInk_export.py %%DATADIR%%/extensions/jessyInk_install.inx %%DATADIR%%/extensions/jessyInk_install.py %%DATADIR%%/extensions/jessyInk_keyBindings.inx %%DATADIR%%/extensions/jessyInk_keyBindings.py %%DATADIR%%/extensions/jessyInk_masterSlide.inx %%DATADIR%%/extensions/jessyInk_masterSlide.py %%DATADIR%%/extensions/jessyInk_mouseHandler.inx %%DATADIR%%/extensions/jessyInk_mouseHandler.py %%DATADIR%%/extensions/jessyInk_summary.inx %%DATADIR%%/extensions/jessyInk_summary.py %%DATADIR%%/extensions/jessyInk_transitions.inx %%DATADIR%%/extensions/jessyInk_transitions.py %%DATADIR%%/extensions/jessyInk_uninstall.inx %%DATADIR%%/extensions/jessyInk_uninstall.py %%DATADIR%%/extensions/jessyInk_video.inx %%DATADIR%%/extensions/jessyInk_video.py %%DATADIR%%/extensions/jessyInk_video.svg %%DATADIR%%/extensions/jessyInk_view.inx %%DATADIR%%/extensions/jessyInk_view.py %%DATADIR%%/extensions/jitternodes.inx %%DATADIR%%/extensions/jitternodes.py %%DATADIR%%/extensions/launch_webbrowser.py %%DATADIR%%/extensions/layers2svgfont.inx %%DATADIR%%/extensions/layers2svgfont.py %%DATADIR%%/extensions/layout_nup.inx %%DATADIR%%/extensions/layout_nup.py %%DATADIR%%/extensions/lindenmayer.inx %%DATADIR%%/extensions/lindenmayer.py %%DATADIR%%/extensions/lorem_ipsum.inx %%DATADIR%%/extensions/lorem_ipsum.py %%DATADIR%%/extensions/markers_strokepaint.inx %%DATADIR%%/extensions/markers_strokepaint.py %%DATADIR%%/extensions/measure.inx %%DATADIR%%/extensions/measure.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 %%DATADIR%%/extensions/next_glyph_layer.py %%DATADIR%%/extensions/nicechart.inx %%DATADIR%%/extensions/nicechart.py %%DATADIR%%/extensions/param_curves.inx %%DATADIR%%/extensions/param_curves.py %%DATADIR%%/extensions/pathalongpath.inx %%DATADIR%%/extensions/pathalongpath.py %%DATADIR%%/extensions/pathmodifier.py %%DATADIR%%/extensions/pathscatter.inx %%DATADIR%%/extensions/pathscatter.py %%DATADIR%%/extensions/perfectboundcover.inx %%DATADIR%%/extensions/perfectboundcover.py %%DATADIR%%/extensions/perspective.inx %%DATADIR%%/extensions/perspective.py %%DATADIR%%/extensions/pixelsnap.inx %%DATADIR%%/extensions/pixelsnap.py %%DATADIR%%/extensions/plotter.inx %%DATADIR%%/extensions/plotter.py %%DATADIR%%/extensions/plt_input.inx %%DATADIR%%/extensions/plt_output.inx %%DATADIR%%/extensions/plt_output.py %%DATADIR%%/extensions/polyhedron_3d.inx %%DATADIR%%/extensions/polyhedron_3d.py %%DATADIR%%/extensions/previous_glyph_layer.inx %%DATADIR%%/extensions/previous_glyph_layer.py %%DATADIR%%/extensions/print_win32_vector.inx %%DATADIR%%/extensions/print_win32_vector.py %%DATADIR%%/extensions/printing_marks.inx %%DATADIR%%/extensions/printing_marks.py %%DATADIR%%/extensions/ps2dxf.sh %%DATADIR%%/extensions/ps2pdf-ext.py %%DATADIR%%/extensions/ps_input.inx %%DATADIR%%/extensions/pturtle.py %%DATADIR%%/extensions/render_alphabetsoup.inx %%DATADIR%%/extensions/render_alphabetsoup.py %%DATADIR%%/extensions/render_alphabetsoup_config.py %%DATADIR%%/extensions/render_barcode.inx %%DATADIR%%/extensions/render_barcode.py %%DATADIR%%/extensions/render_barcode_datamatrix.inx %%DATADIR%%/extensions/render_barcode_datamatrix.py %%DATADIR%%/extensions/render_barcode_qrcode.inx %%DATADIR%%/extensions/render_barcode_qrcode.py %%DATADIR%%/extensions/render_gear_rack.inx %%DATADIR%%/extensions/render_gear_rack.py %%DATADIR%%/extensions/render_gears.inx %%DATADIR%%/extensions/render_gears.py %%DATADIR%%/extensions/replace_font.inx %%DATADIR%%/extensions/replace_font.py %%DATADIR%%/extensions/restack.inx %%DATADIR%%/extensions/restack.py %%DATADIR%%/extensions/rtree.inx %%DATADIR%%/extensions/rtree.py %%DATADIR%%/extensions/rubberstretch.inx %%DATADIR%%/extensions/rubberstretch.py %%DATADIR%%/extensions/run_command.py %%DATADIR%%/extensions/scour.inkscape.py %%DATADIR%%/extensions/scour.inx %%DATADIR%%/extensions/seamless_pattern.inx %%DATADIR%%/extensions/seamless_pattern.py %%DATADIR%%/extensions/seamless_pattern.svg %%DATADIR%%/extensions/seamless_pattern_procedural.inx %%DATADIR%%/extensions/setup_typography_canvas.inx %%DATADIR%%/extensions/setup_typography_canvas.py %%DATADIR%%/extensions/simplepath.py %%DATADIR%%/extensions/simplepath.rb %%DATADIR%%/extensions/simplestyle.py %%DATADIR%%/extensions/simpletransform.py %%DATADIR%%/extensions/sk1_input.inx %%DATADIR%%/extensions/sk1_output.inx %%DATADIR%%/extensions/sk1_output.py %%DATADIR%%/extensions/sk2svg.sh %%DATADIR%%/extensions/sk_input.inx %%DATADIR%%/extensions/spirograph.inx %%DATADIR%%/extensions/spirograph.py %%DATADIR%%/extensions/split.inx %%DATADIR%%/extensions/split.py %%DATADIR%%/extensions/straightseg.inx %%DATADIR%%/extensions/straightseg.py %%DATADIR%%/extensions/summersnight.inx %%DATADIR%%/extensions/summersnight.py %%DATADIR%%/extensions/svg2fxg.inx %%DATADIR%%/extensions/svg2fxg.xsl %%DATADIR%%/extensions/svg2xaml.inx %%DATADIR%%/extensions/svg2xaml.xsl %%DATADIR%%/extensions/svg_and_media_zip_output.inx %%DATADIR%%/extensions/svg_and_media_zip_output.py %%DATADIR%%/extensions/svgcalendar.inx %%DATADIR%%/extensions/svgcalendar.py %%DATADIR%%/extensions/svgfont2layers.inx %%DATADIR%%/extensions/svgfont2layers.py %%DATADIR%%/extensions/synfig_fileformat.py %%DATADIR%%/extensions/synfig_output.inx %%DATADIR%%/extensions/synfig_output.py %%DATADIR%%/extensions/synfig_prepare.py %%DATADIR%%/extensions/tar_layers.inx %%DATADIR%%/extensions/tar_layers.py %%DATADIR%%/extensions/text_braille.inx %%DATADIR%%/extensions/text_braille.py %%DATADIR%%/extensions/text_extract.inx %%DATADIR%%/extensions/text_extract.py %%DATADIR%%/extensions/text_flipcase.inx %%DATADIR%%/extensions/text_flipcase.py %%DATADIR%%/extensions/text_lowercase.inx %%DATADIR%%/extensions/text_lowercase.py %%DATADIR%%/extensions/text_merge.inx %%DATADIR%%/extensions/text_merge.py %%DATADIR%%/extensions/text_randomcase.inx %%DATADIR%%/extensions/text_randomcase.py %%DATADIR%%/extensions/text_sentencecase.inx %%DATADIR%%/extensions/text_sentencecase.py %%DATADIR%%/extensions/text_titlecase.inx %%DATADIR%%/extensions/text_titlecase.py %%DATADIR%%/extensions/text_uppercase.inx %%DATADIR%%/extensions/text_uppercase.py %%DATADIR%%/extensions/triangle.inx %%DATADIR%%/extensions/triangle.py %%DATADIR%%/extensions/ungroup_deep.inx %%DATADIR%%/extensions/ungroup_deep.py %%DATADIR%%/extensions/uniconv-ext.py %%DATADIR%%/extensions/uniconv_output.py %%DATADIR%%/extensions/voronoi.py %%DATADIR%%/extensions/voronoi2svg.inx %%DATADIR%%/extensions/voronoi2svg.py %%DATADIR%%/extensions/web-set-att.inx %%DATADIR%%/extensions/web-set-att.py %%DATADIR%%/extensions/web-transmit-att.inx %%DATADIR%%/extensions/web-transmit-att.py %%DATADIR%%/extensions/webslicer_create_group.inx %%DATADIR%%/extensions/webslicer_create_group.py %%DATADIR%%/extensions/webslicer_create_rect.inx %%DATADIR%%/extensions/webslicer_create_rect.py %%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/wmf_input.inx %%DATADIR%%/extensions/wmf_output.inx %%DATADIR%%/extensions/wmf_output.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 %%DATADIR%%/gradients/README %%DATADIR%%/icons/OCAL.png %%DATADIR%%/icons/README %%DATADIR%%/icons/color-management-icon.png %%DATADIR%%/icons/feBlend-icon.png %%DATADIR%%/icons/feBlend-icon.svg %%DATADIR%%/icons/feColorMatrix-icon.png %%DATADIR%%/icons/feColorMatrix-icon.svg %%DATADIR%%/icons/feComposite-icon.png %%DATADIR%%/icons/feComposite-icon.svg %%DATADIR%%/icons/feConvolveMatrix-icon.png %%DATADIR%%/icons/feConvolveMatrix-icon.svg %%DATADIR%%/icons/feDiffuseLighting-icon.png %%DATADIR%%/icons/feDiffuseLighting-icon.svg %%DATADIR%%/icons/feDisplacementMap-icon.png %%DATADIR%%/icons/feDisplacementMap-icon.svg %%DATADIR%%/icons/feFlood-icon.png %%DATADIR%%/icons/feFlood-icon.svg %%DATADIR%%/icons/feGaussianBlur-icon.png %%DATADIR%%/icons/feGaussianBlur-icon.svg %%DATADIR%%/icons/feImage-icon.png %%DATADIR%%/icons/feImage-icon.svg %%DATADIR%%/icons/feMerge-icon.png %%DATADIR%%/icons/feMerge-icon.svg %%DATADIR%%/icons/feMorphology-icon.png %%DATADIR%%/icons/feMorphology-icon.svg %%DATADIR%%/icons/feOffset-icon.png %%DATADIR%%/icons/feOffset-icon.svg %%DATADIR%%/icons/feSpecularLighting-icon.png %%DATADIR%%/icons/feSpecularLighting-icon.svg %%DATADIR%%/icons/feTurbulence-icon.png %%DATADIR%%/icons/feTurbulence-icon.svg %%DATADIR%%/icons/icons.svg %%DATADIR%%/icons/inkscape-logo-icons-sized.svg %%DATADIR%%/icons/inkscape.file.png %%DATADIR%%/icons/inkscape.file.svg %%DATADIR%%/icons/inkscape.svg %%DATADIR%%/icons/out-of-gamut-icon.png %%DATADIR%%/icons/out-of-gamut-icon.svg %%DATADIR%%/icons/remove-color.png %%DATADIR%%/icons/remove-color.svg %%DATADIR%%/icons/symbolic_icons.svg %%DATADIR%%/icons/tango_icons.svg %%DATADIR%%/icons/ticotico.jpg %%DATADIR%%/icons/too-much-ink-icon.png %%DATADIR%%/icons/too-much-ink-icon.svg %%DATADIR%%/keys/acd-canvas.xml %%DATADIR%%/keys/adobe-illustrator-cs2.xml %%DATADIR%%/keys/corel-draw-x4.xml %%DATADIR%%/keys/corel-draw-x8.xml %%DATADIR%%/keys/default.xml %%DATADIR%%/keys/inkscape.xml %%DATADIR%%/keys/macromedia-freehand-mx.xml %%DATADIR%%/keys/right-handed-illustration.xml %%DATADIR%%/keys/xara.xml %%DATADIR%%/keys/zoner-draw.xml %%DATADIR%%/markers/markers.svg %%DATADIR%%/palettes/Android-icon-palette.gpl %%DATADIR%%/palettes/Blues.gpl %%DATADIR%%/palettes/Gold.gpl %%DATADIR%%/palettes/Gray.gpl %%DATADIR%%/palettes/Greens.gpl %%DATADIR%%/palettes/Hilite.gpl %%DATADIR%%/palettes/Khaki.gpl %%DATADIR%%/palettes/LaTeX-Beamer.gpl %%DATADIR%%/palettes/MATLAB-Jet-72.gpl %%DATADIR%%/palettes/README %%DATADIR%%/palettes/Reds.gpl %%DATADIR%%/palettes/Royal.gpl %%DATADIR%%/palettes/Tango-Palette.gpl %%DATADIR%%/palettes/Topographic.gpl %%DATADIR%%/palettes/Ubuntu.gpl %%DATADIR%%/palettes/echo-palette.gpl %%DATADIR%%/palettes/inkscape.gpl %%DATADIR%%/palettes/svg.gpl %%DATADIR%%/palettes/webhex.gpl %%DATADIR%%/palettes/websafe22.gpl %%DATADIR%%/palettes/windowsXP.gpl %%DATADIR%%/patterns/README %%DATADIR%%/patterns/patterns.svg %%DATADIR%%/screens/README %%DATADIR%%/screens/about.svg %%DATADIR%%/symbols/AigaSymbols.svg %%DATADIR%%/symbols/BalloonSymbols.svg %%DATADIR%%/symbols/FlowSymbols.svg %%DATADIR%%/symbols/LogicSymbols.svg %%DATADIR%%/symbols/MapSymbolsNPS.svg %%DATADIR%%/symbols/README %%DATADIR%%/templates/CD_label_120x120.svg %%DATADIR%%/templates/LaTeX_Beamer.svg %%DATADIR%%/templates/README %%DATADIR%%/templates/Typography_Canvas.svg %%DATADIR%%/templates/default.be.svg %%DATADIR%%/templates/default.ca.svg %%DATADIR%%/templates/default.cs.svg %%DATADIR%%/templates/default.de.svg %%DATADIR%%/templates/default.en_US.svg %%DATADIR%%/templates/default.eo.svg %%DATADIR%%/templates/default.es.svg %%DATADIR%%/templates/default.eu.svg %%DATADIR%%/templates/default.fi.svg %%DATADIR%%/templates/default.fr.svg %%DATADIR%%/templates/default.hu.svg %%DATADIR%%/templates/default.is.svg %%DATADIR%%/templates/default.it.svg %%DATADIR%%/templates/default.ja.svg %%DATADIR%%/templates/default.lt.svg %%DATADIR%%/templates/default.nl.svg %%DATADIR%%/templates/default.pl.svg %%DATADIR%%/templates/default.pt_BR.svg %%DATADIR%%/templates/default.ro.svg %%DATADIR%%/templates/default.sk.svg %%DATADIR%%/templates/default.svg %%DATADIR%%/templates/default.zh_TW.svg %%DATADIR%%/templates/default_pt.svg %%DATADIR%%/templates/default_px.svg %%DATADIR%%/templates/no_layers.svg %%DATADIR%%/tutorials/README %%DATADIR%%/tutorials/edge3d.svg %%DATADIR%%/tutorials/gpl-2.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.en.png %%DATADIR%%/tutorials/pixelart-dialog.fr.png %%DATADIR%%/tutorials/pixelart-dialog.nl.png %%DATADIR%%/tutorials/pixelart-dialog.png %%DATADIR%%/tutorials/pixelart-dialog.pt.png %%DATADIR%%/tutorials/pixelart-dialog.ru.png %%DATADIR%%/tutorials/pixelart-dialog.sk.png %%DATADIR%%/tutorials/pixelart-dialog.zh_TW.png %%DATADIR%%/tutorials/potrace.de.png %%DATADIR%%/tutorials/potrace.el.png %%DATADIR%%/tutorials/potrace.en.png %%DATADIR%%/tutorials/potrace.es.png %%DATADIR%%/tutorials/potrace.eu.png %%DATADIR%%/tutorials/potrace.fr.png %%DATADIR%%/tutorials/potrace.gl.png %%DATADIR%%/tutorials/potrace.hu.png %%DATADIR%%/tutorials/potrace.id.png %%DATADIR%%/tutorials/potrace.ja.png %%DATADIR%%/tutorials/potrace.nl.png %%DATADIR%%/tutorials/potrace.pl.png %%DATADIR%%/tutorials/potrace.png %%DATADIR%%/tutorials/potrace.pt.png %%DATADIR%%/tutorials/potrace.pt_BR.png %%DATADIR%%/tutorials/potrace.ru.png %%DATADIR%%/tutorials/potrace.sk.png %%DATADIR%%/tutorials/potrace.sl.png %%DATADIR%%/tutorials/potrace.vi.png %%DATADIR%%/tutorials/potrace.zh_TW.png %%DATADIR%%/tutorials/tutorial-advanced.be.svg %%DATADIR%%/tutorials/tutorial-advanced.ca.svg %%DATADIR%%/tutorials/tutorial-advanced.cs.svg %%DATADIR%%/tutorials/tutorial-advanced.de.svg %%DATADIR%%/tutorials/tutorial-advanced.el.svg %%DATADIR%%/tutorials/tutorial-advanced.es.svg %%DATADIR%%/tutorials/tutorial-advanced.eu.svg %%DATADIR%%/tutorials/tutorial-advanced.fa.svg %%DATADIR%%/tutorials/tutorial-advanced.fr.svg %%DATADIR%%/tutorials/tutorial-advanced.gl.svg %%DATADIR%%/tutorials/tutorial-advanced.hu.svg %%DATADIR%%/tutorials/tutorial-advanced.id.svg %%DATADIR%%/tutorials/tutorial-advanced.it.svg %%DATADIR%%/tutorials/tutorial-advanced.ja.svg %%DATADIR%%/tutorials/tutorial-advanced.nl.svg %%DATADIR%%/tutorials/tutorial-advanced.pl.svg %%DATADIR%%/tutorials/tutorial-advanced.pt.svg %%DATADIR%%/tutorials/tutorial-advanced.pt_BR.svg %%DATADIR%%/tutorials/tutorial-advanced.ru.svg %%DATADIR%%/tutorials/tutorial-advanced.sk.svg %%DATADIR%%/tutorials/tutorial-advanced.sl.svg %%DATADIR%%/tutorials/tutorial-advanced.svg +%%DATADIR%%/tutorials/tutorial-advanced.uk.svg %%DATADIR%%/tutorials/tutorial-advanced.vi.svg %%DATADIR%%/tutorials/tutorial-advanced.zh_CN.svg %%DATADIR%%/tutorials/tutorial-advanced.zh_TW.svg %%DATADIR%%/tutorials/tutorial-basic.be.svg %%DATADIR%%/tutorials/tutorial-basic.bg.svg %%DATADIR%%/tutorials/tutorial-basic.ca.svg %%DATADIR%%/tutorials/tutorial-basic.cs.svg %%DATADIR%%/tutorials/tutorial-basic.da.svg %%DATADIR%%/tutorials/tutorial-basic.de.svg %%DATADIR%%/tutorials/tutorial-basic.el.svg %%DATADIR%%/tutorials/tutorial-basic.eo.svg %%DATADIR%%/tutorials/tutorial-basic.es.svg %%DATADIR%%/tutorials/tutorial-basic.eu.svg %%DATADIR%%/tutorials/tutorial-basic.fa.svg %%DATADIR%%/tutorials/tutorial-basic.fr.svg %%DATADIR%%/tutorials/tutorial-basic.gl.svg %%DATADIR%%/tutorials/tutorial-basic.hu.svg %%DATADIR%%/tutorials/tutorial-basic.id.svg %%DATADIR%%/tutorials/tutorial-basic.it.svg %%DATADIR%%/tutorials/tutorial-basic.ja.svg %%DATADIR%%/tutorials/tutorial-basic.nl.svg %%DATADIR%%/tutorials/tutorial-basic.nn.svg %%DATADIR%%/tutorials/tutorial-basic.pl.svg %%DATADIR%%/tutorials/tutorial-basic.pt.svg %%DATADIR%%/tutorials/tutorial-basic.pt_BR.svg %%DATADIR%%/tutorials/tutorial-basic.ru.svg %%DATADIR%%/tutorials/tutorial-basic.sk.svg %%DATADIR%%/tutorials/tutorial-basic.sl.svg %%DATADIR%%/tutorials/tutorial-basic.svg %%DATADIR%%/tutorials/tutorial-basic.tr.svg +%%DATADIR%%/tutorials/tutorial-basic.uk.svg %%DATADIR%%/tutorials/tutorial-basic.vi.svg %%DATADIR%%/tutorials/tutorial-basic.zh_CN.svg %%DATADIR%%/tutorials/tutorial-basic.zh_TW.svg %%DATADIR%%/tutorials/tutorial-calligraphy.be.svg %%DATADIR%%/tutorials/tutorial-calligraphy.ca.svg %%DATADIR%%/tutorials/tutorial-calligraphy.cs.svg %%DATADIR%%/tutorials/tutorial-calligraphy.de.svg %%DATADIR%%/tutorials/tutorial-calligraphy.el.svg %%DATADIR%%/tutorials/tutorial-calligraphy.es.svg %%DATADIR%%/tutorials/tutorial-calligraphy.eu.svg %%DATADIR%%/tutorials/tutorial-calligraphy.fa.svg %%DATADIR%%/tutorials/tutorial-calligraphy.fr.svg %%DATADIR%%/tutorials/tutorial-calligraphy.gl.svg %%DATADIR%%/tutorials/tutorial-calligraphy.hu.svg %%DATADIR%%/tutorials/tutorial-calligraphy.id.svg %%DATADIR%%/tutorials/tutorial-calligraphy.ja.svg %%DATADIR%%/tutorials/tutorial-calligraphy.nl.svg %%DATADIR%%/tutorials/tutorial-calligraphy.pl.svg %%DATADIR%%/tutorials/tutorial-calligraphy.pt.svg %%DATADIR%%/tutorials/tutorial-calligraphy.pt_BR.svg %%DATADIR%%/tutorials/tutorial-calligraphy.ru.svg %%DATADIR%%/tutorials/tutorial-calligraphy.sk.svg %%DATADIR%%/tutorials/tutorial-calligraphy.sl.svg %%DATADIR%%/tutorials/tutorial-calligraphy.svg +%%DATADIR%%/tutorials/tutorial-calligraphy.uk.svg %%DATADIR%%/tutorials/tutorial-calligraphy.vi.svg %%DATADIR%%/tutorials/tutorial-calligraphy.zh_TW.svg %%DATADIR%%/tutorials/tutorial-elements.be.svg %%DATADIR%%/tutorials/tutorial-elements.ca.svg %%DATADIR%%/tutorials/tutorial-elements.de.svg %%DATADIR%%/tutorials/tutorial-elements.el.svg %%DATADIR%%/tutorials/tutorial-elements.es.svg %%DATADIR%%/tutorials/tutorial-elements.eu.svg %%DATADIR%%/tutorials/tutorial-elements.fa.svg %%DATADIR%%/tutorials/tutorial-elements.fr.svg %%DATADIR%%/tutorials/tutorial-elements.gl.svg %%DATADIR%%/tutorials/tutorial-elements.hu.svg %%DATADIR%%/tutorials/tutorial-elements.id.svg %%DATADIR%%/tutorials/tutorial-elements.it.svg %%DATADIR%%/tutorials/tutorial-elements.ja.svg %%DATADIR%%/tutorials/tutorial-elements.nl.svg %%DATADIR%%/tutorials/tutorial-elements.pl.svg %%DATADIR%%/tutorials/tutorial-elements.pt.svg %%DATADIR%%/tutorials/tutorial-elements.pt_BR.svg %%DATADIR%%/tutorials/tutorial-elements.ru.svg %%DATADIR%%/tutorials/tutorial-elements.sk.svg %%DATADIR%%/tutorials/tutorial-elements.sl.svg %%DATADIR%%/tutorials/tutorial-elements.svg +%%DATADIR%%/tutorials/tutorial-elements.uk.svg %%DATADIR%%/tutorials/tutorial-elements.zh_TW.svg %%DATADIR%%/tutorials/tutorial-interpolate.be.svg %%DATADIR%%/tutorials/tutorial-interpolate.de.svg %%DATADIR%%/tutorials/tutorial-interpolate.el.svg %%DATADIR%%/tutorials/tutorial-interpolate.fr.svg %%DATADIR%%/tutorials/tutorial-interpolate.gl.svg %%DATADIR%%/tutorials/tutorial-interpolate.hu.svg %%DATADIR%%/tutorials/tutorial-interpolate.ja.svg %%DATADIR%%/tutorials/tutorial-interpolate.nl.svg %%DATADIR%%/tutorials/tutorial-interpolate.pl.svg %%DATADIR%%/tutorials/tutorial-interpolate.pt.svg %%DATADIR%%/tutorials/tutorial-interpolate.pt_BR.svg %%DATADIR%%/tutorials/tutorial-interpolate.ru.svg %%DATADIR%%/tutorials/tutorial-interpolate.sk.svg %%DATADIR%%/tutorials/tutorial-interpolate.sl.svg %%DATADIR%%/tutorials/tutorial-interpolate.svg +%%DATADIR%%/tutorials/tutorial-interpolate.uk.svg %%DATADIR%%/tutorials/tutorial-interpolate.vi.svg %%DATADIR%%/tutorials/tutorial-interpolate.zh_TW.svg %%DATADIR%%/tutorials/tutorial-shapes.be.svg %%DATADIR%%/tutorials/tutorial-shapes.ca.svg %%DATADIR%%/tutorials/tutorial-shapes.cs.svg %%DATADIR%%/tutorials/tutorial-shapes.de.svg %%DATADIR%%/tutorials/tutorial-shapes.el.svg %%DATADIR%%/tutorials/tutorial-shapes.es.svg %%DATADIR%%/tutorials/tutorial-shapes.eu.svg %%DATADIR%%/tutorials/tutorial-shapes.fa.svg %%DATADIR%%/tutorials/tutorial-shapes.fr.svg %%DATADIR%%/tutorials/tutorial-shapes.gl.svg %%DATADIR%%/tutorials/tutorial-shapes.hu.svg %%DATADIR%%/tutorials/tutorial-shapes.id.svg %%DATADIR%%/tutorials/tutorial-shapes.it.svg %%DATADIR%%/tutorials/tutorial-shapes.ja.svg %%DATADIR%%/tutorials/tutorial-shapes.nl.svg %%DATADIR%%/tutorials/tutorial-shapes.pl.svg %%DATADIR%%/tutorials/tutorial-shapes.pt.svg %%DATADIR%%/tutorials/tutorial-shapes.pt_BR.svg %%DATADIR%%/tutorials/tutorial-shapes.ru.svg %%DATADIR%%/tutorials/tutorial-shapes.sk.svg %%DATADIR%%/tutorials/tutorial-shapes.sl.svg %%DATADIR%%/tutorials/tutorial-shapes.svg +%%DATADIR%%/tutorials/tutorial-shapes.uk.svg %%DATADIR%%/tutorials/tutorial-shapes.vi.svg %%DATADIR%%/tutorials/tutorial-shapes.zh_CN.svg %%DATADIR%%/tutorials/tutorial-shapes.zh_TW.svg %%DATADIR%%/tutorials/tutorial-tips.be.svg %%DATADIR%%/tutorials/tutorial-tips.ca.svg %%DATADIR%%/tutorials/tutorial-tips.de.svg %%DATADIR%%/tutorials/tutorial-tips.el.svg %%DATADIR%%/tutorials/tutorial-tips.es.svg %%DATADIR%%/tutorials/tutorial-tips.eu.svg %%DATADIR%%/tutorials/tutorial-tips.fa.svg %%DATADIR%%/tutorials/tutorial-tips.fr.svg %%DATADIR%%/tutorials/tutorial-tips.gl.svg %%DATADIR%%/tutorials/tutorial-tips.hu.svg %%DATADIR%%/tutorials/tutorial-tips.id.svg %%DATADIR%%/tutorials/tutorial-tips.it.svg %%DATADIR%%/tutorials/tutorial-tips.ja.svg %%DATADIR%%/tutorials/tutorial-tips.nl.svg %%DATADIR%%/tutorials/tutorial-tips.pl.svg %%DATADIR%%/tutorials/tutorial-tips.pt.svg %%DATADIR%%/tutorials/tutorial-tips.pt_BR.svg %%DATADIR%%/tutorials/tutorial-tips.ru.svg %%DATADIR%%/tutorials/tutorial-tips.sk.svg %%DATADIR%%/tutorials/tutorial-tips.sl.svg %%DATADIR%%/tutorials/tutorial-tips.svg +%%DATADIR%%/tutorials/tutorial-tips.uk.svg %%DATADIR%%/tutorials/tutorial-tips.vi.svg %%DATADIR%%/tutorials/tutorial-tips.zh_TW.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.de.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.el.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.fr.svg +%%DATADIR%%/tutorials/tutorial-tracing-pixelart.hu.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.nl.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.pt.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.ru.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.sk.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.svg +%%DATADIR%%/tutorials/tutorial-tracing-pixelart.uk.svg %%DATADIR%%/tutorials/tutorial-tracing-pixelart.zh_TW.svg %%DATADIR%%/tutorials/tutorial-tracing.be.svg %%DATADIR%%/tutorials/tutorial-tracing.ca.svg %%DATADIR%%/tutorials/tutorial-tracing.de.svg %%DATADIR%%/tutorials/tutorial-tracing.el.svg %%DATADIR%%/tutorials/tutorial-tracing.es.svg %%DATADIR%%/tutorials/tutorial-tracing.eu.svg %%DATADIR%%/tutorials/tutorial-tracing.fa.svg %%DATADIR%%/tutorials/tutorial-tracing.fr.svg %%DATADIR%%/tutorials/tutorial-tracing.gl.svg %%DATADIR%%/tutorials/tutorial-tracing.hu.svg %%DATADIR%%/tutorials/tutorial-tracing.id.svg %%DATADIR%%/tutorials/tutorial-tracing.ja.svg %%DATADIR%%/tutorials/tutorial-tracing.nl.svg %%DATADIR%%/tutorials/tutorial-tracing.pl.svg %%DATADIR%%/tutorials/tutorial-tracing.pt.svg %%DATADIR%%/tutorials/tutorial-tracing.pt_BR.svg %%DATADIR%%/tutorials/tutorial-tracing.ru.svg %%DATADIR%%/tutorials/tutorial-tracing.sk.svg %%DATADIR%%/tutorials/tutorial-tracing.sl.svg %%DATADIR%%/tutorials/tutorial-tracing.svg +%%DATADIR%%/tutorials/tutorial-tracing.uk.svg %%DATADIR%%/tutorials/tutorial-tracing.vi.svg %%DATADIR%%/tutorials/tutorial-tracing.zh_TW.svg %%DATADIR%%/tutorials/tux.png %%DATADIR%%/ui/keybindings.rc %%DATADIR%%/ui/menus-bars.xml %%DATADIR%%/ui/style.css %%DATADIR%%/ui/toolbox.xml %%DATADIR%%/ui/units.xml share/locale/am/LC_MESSAGES/inkscape.mo share/locale/ar/LC_MESSAGES/inkscape.mo share/locale/as/LC_MESSAGES/inkscape.mo share/locale/az/LC_MESSAGES/inkscape.mo share/locale/be/LC_MESSAGES/inkscape.mo share/locale/bg/LC_MESSAGES/inkscape.mo share/locale/bn/LC_MESSAGES/inkscape.mo share/locale/bn_BD/LC_MESSAGES/inkscape.mo share/locale/br/LC_MESSAGES/inkscape.mo share/locale/brx/LC_MESSAGES/inkscape.mo share/locale/ca/LC_MESSAGES/inkscape.mo share/locale/ca@valencia/LC_MESSAGES/inkscape.mo share/locale/cs/LC_MESSAGES/inkscape.mo share/locale/da/LC_MESSAGES/inkscape.mo share/locale/de/LC_MESSAGES/inkscape.mo share/locale/doi/LC_MESSAGES/inkscape.mo share/locale/dz/LC_MESSAGES/inkscape.mo share/locale/el/LC_MESSAGES/inkscape.mo share/locale/en_AU/LC_MESSAGES/inkscape.mo share/locale/en_CA/LC_MESSAGES/inkscape.mo share/locale/en_GB/LC_MESSAGES/inkscape.mo share/locale/en_US@piglatin/LC_MESSAGES/inkscape.mo share/locale/eo/LC_MESSAGES/inkscape.mo share/locale/es/LC_MESSAGES/inkscape.mo share/locale/es_MX/LC_MESSAGES/inkscape.mo share/locale/et/LC_MESSAGES/inkscape.mo share/locale/eu/LC_MESSAGES/inkscape.mo share/locale/fa/LC_MESSAGES/inkscape.mo share/locale/fi/LC_MESSAGES/inkscape.mo share/locale/fr/LC_MESSAGES/inkscape.mo share/locale/ga/LC_MESSAGES/inkscape.mo share/locale/gl/LC_MESSAGES/inkscape.mo share/locale/gu/LC_MESSAGES/inkscape.mo share/locale/he/LC_MESSAGES/inkscape.mo share/locale/hi/LC_MESSAGES/inkscape.mo share/locale/hr/LC_MESSAGES/inkscape.mo share/locale/hu/LC_MESSAGES/inkscape.mo share/locale/hy/LC_MESSAGES/inkscape.mo share/locale/id/LC_MESSAGES/inkscape.mo share/locale/is/LC_MESSAGES/inkscape.mo share/locale/it/LC_MESSAGES/inkscape.mo share/locale/ja/LC_MESSAGES/inkscape.mo share/locale/km/LC_MESSAGES/inkscape.mo share/locale/kn/LC_MESSAGES/inkscape.mo share/locale/ko/LC_MESSAGES/inkscape.mo share/locale/kok/LC_MESSAGES/inkscape.mo share/locale/kok@latin/LC_MESSAGES/inkscape.mo share/locale/ks@aran/LC_MESSAGES/inkscape.mo share/locale/ks@deva/LC_MESSAGES/inkscape.mo share/locale/lt/LC_MESSAGES/inkscape.mo share/locale/lv/LC_MESSAGES/inkscape.mo share/locale/mai/LC_MESSAGES/inkscape.mo share/locale/mk/LC_MESSAGES/inkscape.mo share/locale/ml/LC_MESSAGES/inkscape.mo share/locale/mn/LC_MESSAGES/inkscape.mo share/locale/mni/LC_MESSAGES/inkscape.mo share/locale/mni@beng/LC_MESSAGES/inkscape.mo share/locale/mr/LC_MESSAGES/inkscape.mo share/locale/nb/LC_MESSAGES/inkscape.mo share/locale/ne/LC_MESSAGES/inkscape.mo share/locale/nl/LC_MESSAGES/inkscape.mo share/locale/nn/LC_MESSAGES/inkscape.mo share/locale/or/LC_MESSAGES/inkscape.mo share/locale/pa/LC_MESSAGES/inkscape.mo share/locale/pl/LC_MESSAGES/inkscape.mo share/locale/pt/LC_MESSAGES/inkscape.mo share/locale/pt_BR/LC_MESSAGES/inkscape.mo share/locale/ro/LC_MESSAGES/inkscape.mo share/locale/ru/LC_MESSAGES/inkscape.mo share/locale/rw/LC_MESSAGES/inkscape.mo share/locale/sa/LC_MESSAGES/inkscape.mo share/locale/sat/LC_MESSAGES/inkscape.mo share/locale/sat@deva/LC_MESSAGES/inkscape.mo share/locale/sd/LC_MESSAGES/inkscape.mo share/locale/sd@deva/LC_MESSAGES/inkscape.mo share/locale/sk/LC_MESSAGES/inkscape.mo share/locale/sl/LC_MESSAGES/inkscape.mo share/locale/sq/LC_MESSAGES/inkscape.mo share/locale/sr/LC_MESSAGES/inkscape.mo share/locale/sr@latin/LC_MESSAGES/inkscape.mo share/locale/sv/LC_MESSAGES/inkscape.mo share/locale/ta/LC_MESSAGES/inkscape.mo share/locale/te/LC_MESSAGES/inkscape.mo share/locale/th/LC_MESSAGES/inkscape.mo share/locale/tr/LC_MESSAGES/inkscape.mo share/locale/uk/LC_MESSAGES/inkscape.mo share/locale/ur/LC_MESSAGES/inkscape.mo share/locale/vi/LC_MESSAGES/inkscape.mo share/locale/zh_CN/LC_MESSAGES/inkscape.mo share/locale/zh_TW/LC_MESSAGES/inkscape.mo +share/metainfo/inkscape.appdata.xml