diff options
author | Norbert Preining <norbert@preining.info> | 2022-01-21 03:01:16 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-01-21 03:01:16 +0000 |
commit | 5d5f239204f5c0d1f7573c9ebc64b5ad1ae75b49 (patch) | |
tree | dd2a2d9a64fd0be0785bc558a4872a3c8185af23 /dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp | |
parent | 217d27e597baa589f8e115e1b44eef51c7bb5dd0 (diff) |
CTAN sync 202201210301
Diffstat (limited to 'dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp')
-rw-r--r-- | dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp b/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp index 8f9635a836..9ff1b8163f 100644 --- a/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp +++ b/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp @@ -2,7 +2,7 @@ ** SVGOptimizer.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2021 Martin Gieseking <martin.gieseking@uos.de> ** +** Copyright (C) 2005-2022 Martin Gieseking <martin.gieseking@uos.de> ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -51,15 +51,21 @@ void SVGOptimizer::execute () { return; if (MODULE_SEQUENCE.empty()) MODULE_SEQUENCE = "remove-clippath"; // default behaviour of previous dvisvgm releases - if (MODULE_SEQUENCE == "all") { - for (const auto &entry : _moduleEntries) - entry.module->execute(_svg->defsNode(), _svg->pageNode()); - } else { - vector<string> names = util::split(MODULE_SEQUENCE, ","); - for (const string &name : names) { - if (OptimizerModule *module = getModule(name)) - module->execute(_svg->defsNode(), _svg->pageNode()); + if (MODULE_SEQUENCE == "all") { + for (const auto &entry: _moduleEntries) + entry.module->execute(_svg->defsNode(), _svg->pageNode()); + } + else { + vector<string> names = util::split(MODULE_SEQUENCE, ","); + auto it = find_if(names.begin(), names.end(), [](const string &name) { + return name == "simplify-transform"; + }); + GroupCollapser::COMBINE_TRANSFORMS = (it != names.end()); + for (const string &name: names) { + if (OptimizerModule *module = getModule(name)) + module->execute(_svg->defsNode(), _svg->pageNode()); + } } } } |