Hi again, In tex/texmf-context/tex/context/base/mkxl/mlib-svg.lmt the following regex appears a few times (line 1502, 1556, and 1570): gmatch(VAR,"%s*([^:]+):%s*([^;]+);?") It may be helpful to first normalize the string by appending a semicolon to the end, allowing for: for w in (VAR .. ";"):gmatch("([^;]*);") do ... Splitting 'w' afterwards on the colon within key:value pairs would still be necessary, so maybe that approach is a wash. Aside, when I made changes to the file, I couldn't get either a report() or a print() statement to show up in the output, even when running with --debug. Any hints on how to sprinkle debug info into the code? Or was I barking up the wrong source file? Cheers! On Sun, May 8, 2022 at 1:33 AM Thangalin wrote: > Hey hey, > > The following produces a filled square, rather than an empty one: > > \startbuffer[svg] > > style="stroke:rgb(0,0,0);;fill:none" /> > > \stopbuffer > > \starttext > \placefigure{}{\includesvgbuffer[svg][conversion=mp]} > \stoptext > > Remove the extra semicolon to get the expected result: > > > style="stroke:rgb(0,0,0);fill:none" /> > > > It appears that a style immediately following two semicolons is ignored. > > The SVG was generated using the following R code: > > svg("filename.svg"); > plot(rnorm(200)); > dev.off() > > Arguably, R's SVG routines could be a bit tighter. Can the MP SVG parser > code be relaxed to skip "empty" semicolons? > > $ context --version > mtx-context | current version: 2022.05.02 16:19 > > Much appreciated. >