diff --git a/graph-editor.js b/graph-editor.js index f4ae666..0135e8e 100644 --- a/graph-editor.js +++ b/graph-editor.js @@ -365,8 +365,14 @@ window.onload = function() function updateSvgDownloadLink() { var rawSvg = new XMLSerializer().serializeToString(d3.select("#canvas svg" ).node()); - d3.select("#downloadSvgButton").attr('href', "data:image/svg+xml;base64," + btoa( rawSvg )); + d3.select("#downloadSvgButton").attr('href', "data:image/svg+xml;base64," + btoa( b64EncodeUnicode(rawSvg) )); } + function b64EncodeUnicode (str) { + return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, + function toSolidBytes (match, p1) { + return String.fromCharCode('0x' + p1) + })) + } var openConsoleWithCypher = function (evt) {