Skip to content

Commit dd37fcf

Browse files
committed
Apply scale to stroke-dasharray and stroke-dashoffset
1 parent 83a03ec commit dd37fcf

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

plugins/_path.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var rNumber = String.raw`[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?\s*`,
1010
var regPathInstructions = /([MmLlHhVvCcSsQqTtAaZz])\s*/,
1111
regCoordinateSequence = new RegExp(rNumber, 'g'),
1212
regArcArgumentSequence = new RegExp(rArcSeq, 'g'),
13-
regNumericValues = /[-+]?(\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/,
13+
regNumericValues = /[-+]?(\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g,
1414
transform2js = require('./_transforms').transform2js,
1515
transformsMultiply = require('./_transforms').transformsMultiply,
1616
transformArc = require('./_transforms').transformArc,
@@ -240,6 +240,18 @@ exports.applyTransforms = function(elem, path, params) {
240240
})
241241
});
242242
}
243+
244+
if (elem.hasAttr('stroke-dashoffset')) {
245+
elem.attrs['stroke-dashoffset'].value = elem.attrs['stroke-dashoffset'].value
246+
.trim()
247+
.replace(regNumericValues, (num) => removeLeadingZero(num * scale));
248+
}
249+
250+
if (elem.hasAttr('stroke-dasharray')) {
251+
elem.attrs['stroke-dasharray'].value = elem.attrs['stroke-dasharray'].value
252+
.trim()
253+
.replace(regNumericValues, (num) => removeLeadingZero(num * scale));
254+
}
243255
}
244256
}
245257
} else if (id) { // Stroke and stroke-width can be redefined with <use>

test/plugins/convertPathData.22.svg

Lines changed: 19 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)