1
0
mirror of https://github.com/svg/svgo.git synced 2025-07-29 20:21:14 +03:00

round viewBox too

This commit is contained in:
caub
2017-04-09 16:49:07 +02:00
parent 98369def3a
commit 5828949c21
2 changed files with 21 additions and 16 deletions

View File

@ -37,24 +37,32 @@ exports.fn = function(item, params) {
if (item.isElem()) {
var match;
var floatPrecision = params.floatPrecision;
if (item.hasAttr('viewBox')) {
var nums = item.attr('viewBox').value.split(/[ ,]/g);
item.attr('viewBox').value = nums.map(function(num) {
return +num.toFixed(floatPrecision);
}).join(' ');
}
item.eachAttr(function(attr) {
match = attr.value.match(regNumericValues);
var match = attr.value.match(regNumericValues);
// if attribute value matches regNumericValues
if (match) {
// round it to the fixed precision
var num = +(+match[1]).toFixed(params.floatPrecision),
var num = +(+match[1]).toFixed(floatPrecision),
units = match[3] || '';
// convert absolute values to pixels
if (params.convertToPx && units && (units in absoluteLengths)) {
var pxNum = +(absoluteLengths[units] * match[1]).toFixed(params.floatPrecision);
var pxNum = +(absoluteLengths[units] * match[1]).toFixed(floatPrecision);
if (String(pxNum).length < match[0].length)
num = pxNum,
if (String(pxNum).length < match[0].length) {
num = pxNum;
units = 'px';
}
}
// and remove leading zero