Sorry to tell but I gave up understanding this regex :
regex = /^\s(?=(?:(?:[-a-z]+\s){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s\/\s(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s([-,\"\sa-z]+?)\s*$/i;
Chrome console shows as follows :
ERROR TypeError: Cannot read property '1' of null
at ctx.push../node_modules/canvas2svg/canvas2svg.js.ctx.__parseFont (VM9279 vendor.js:90992)
at ctx.push../node_modules/canvas2svg/canvas2svg.js.ctx.__applyText (VM9279 vendor.js:91039)
at ctx.push../node_modules/canvas2svg/canvas2svg.js.ctx.fillText (VM9279 vendor.js:91066)
at fillText (VM9279 vendor.js:106831)
Seen on v1.0.15.
Sorry to tell but I gave up understanding this regex : regex = /^\s(?=(?:(?:[-a-z]+\s){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s\/\s(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s([-,\"\sa-z]+?)\s*$/i;
Shouldn't "normal 12px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif" be parseable ?
Chrome console shows as follows : ERROR TypeError: Cannot read property '1' of null at ctx.push../node_modules/canvas2svg/canvas2svg.js.ctx.__parseFont (VM9279 vendor.js:90992) at ctx.push../node_modules/canvas2svg/canvas2svg.js.ctx.__applyText (VM9279 vendor.js:91039) at ctx.push../node_modules/canvas2svg/canvas2svg.js.ctx.fillText (VM9279 vendor.js:91066) at fillText (VM9279 vendor.js:106831)