From d7e5bd071d6e800c003a4db96b16e443c2167730 Mon Sep 17 00:00:00 2001 From: Validark Date: Mon, 7 Mar 2022 06:06:44 -0600 Subject: [PATCH] Update Regular Expression to handle decimal values From https://github.com/gliffy/canvas2svg/issues/85 --- context.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/context.js b/context.js index b1b801b..37b90d8 100644 --- a/context.js +++ b/context.js @@ -199,7 +199,7 @@ export default (function () { stop.setAttribute("offset", offset); if (utils.toString(color).indexOf("rgba") !== -1) { //separate alpha value, since webkit can't handle it - regex = /rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi; + regex = /rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi; matches = regex.exec(color); stop.setAttribute("stop-color", format("rgb({r},{g},{b})", {r:matches[1], g:matches[2], b:matches[3]})); stop.setAttribute("stop-opacity", matches[4]); @@ -415,7 +415,7 @@ export default (function () { } else if (style.apply.indexOf(type)!==-1 && style.svg !== value) { if ((style.svgAttr === "stroke" || style.svgAttr === "fill") && value.indexOf("rgba") !== -1) { //separate alpha value, since illustrator can't handle it - regex = /rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi; + regex = /rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi; matches = regex.exec(value); currentElement.setAttribute(style.svgAttr, format("rgb({r},{g},{b})", {r:matches[1], g:matches[2], b:matches[3]})); //should take globalAlpha here