SVG comments, transparency, and extended font styles
Issues encountered with version 2021.03.31 18:04. 1. Comments in SVG % SOF \startbuffer[svg] <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <!-- Hello --><g><circle cx="50" cy="50" r="20"/></g></svg> \stopbuffer \starttext \placefigure{}{\includesvgbuffer[svg][conversion=mp]} \stoptext % EOF Expected: Black circle, no border, comment lines ignored. Actual: Empty square. 2. Transparent stroke % SOF \startbuffer[svg] <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <polygon fill="#eeffff" stroke="transparent" points="500,10 500,0 0,0 0,10" /> </svg> \stopbuffer \starttext \placefigure{}{\includesvgbuffer[svg][conversion=mp]} \stoptext % EOF Expected: Light cyan rectangle, no border (it's transparent). Actual: Light cyan rectangle with visible border. 3. Inkscape font specification We discussed this previously: Inkscape extends the SVG specification with a custom style class ("-inkscape-font-specification") that allows its users to refine font styles. % SOF \startbuffer[svg] <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 154.6 19.3" width="155" height="19"><text x="-6.7" y="-2.3"><tspan x="-1.9" y="15" style="-inkscape-font-specification:'Roboto, Ultra-Light';font-family:Roboto;font-size:20px;font-weight:200">Roboto Ultra-Light</tspan></text></svg> \stopbuffer \starttext \placefigure{}{\includesvgbuffer[svg][conversion=mp]} \stoptext % EOF Expected: "Roboto Ultra-Light" appears in Roboto Ultra-Light font. Actual: Empty square. Supporting this via MetaPost would help maintain backwards compatibility (with ConTeXt invoking Inkscape). Thank you!
On 4/3/2021 8:10 PM, Thangalin wrote:
Issues encountered with version 2021.03.31 18:04.
1. Comments in SVG
% SOF \startbuffer[svg] <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg <http://www.w3.org/2000/svg>"> <!-- Hello --><g><circle cx="50" cy="50" r="20"/></g></svg> \stopbuffer
\starttext \placefigure{}{\includesvgbuffer[svg][conversion=mp]} \stoptext % EOF
Expected: Black circle, no border, comment lines ignored. Actual: Empty square.
2. Transparent stroke
% SOF \startbuffer[svg] <svg xmlns="http://www.w3.org/2000/svg <http://www.w3.org/2000/svg>" version="1.1"> <polygon fill="#eeffff" stroke="transparent" points="500,10 500,0 0,0 0,10" /> </svg> \stopbuffer
\starttext \placefigure{}{\includesvgbuffer[svg][conversion=mp]} \stoptext % EOF
Expected: Light cyan rectangle, no border (it's transparent). Actual: Light cyan rectangle with visible border.
i'll check it .. if I forget, remind me.
3. Inkscape font specification
We discussed this previously: Inkscape extends the SVG specification with a custom style class ("-inkscape-font-specification") that allows its users to refine font styles.
% SOF \startbuffer[svg] <svg xmlns="http://www.w3.org/2000/svg <http://www.w3.org/2000/svg>" viewBox="0 0 154.6 19.3" width="155" height="19"><text x="-6.7" y="-2.3"><tspan x="-1.9" y="15" style="-inkscape-font-specification:'Roboto, Ultra-Light';font-family:Roboto;font-size:20px;font-weight:200">Roboto Ultra-Light</tspan></text></svg> \stopbuffer
\starttext \placefigure{}{\includesvgbuffer[svg][conversion=mp]} \stoptext % EOF
Expected: "Roboto Ultra-Light" appears in Roboto Ultra-Light font. Actual: Empty square.
Supporting this via MetaPost would help maintain backwards compatibility (with ConTeXt invoking Inkscape). Hm, one should export the 'simple' SVG from inkscape, not the bloated stuff. This is a bit like Adobe illustrator and its AI files: tons of crap needed for an editor but not really an 'eps' file for which there is a normal export. Once we decide to support all the weirdness there is no end. It's like the browser css madness.
Now, with regards to remapping fonts, doing that at the tex end should work ok (maybe some extra helper for svg to make it easier). Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
A bug report exists for the -inkscape-font-specification issue: https://bugs.launchpad.net/inkscape/+bug/1324809 I've migrated it, so hopefully it'll get some traction: https://gitlab.com/inkscape/inbox/-/issues/4704 It'd be nice to support that particular extension; however, the reason for not supporting it is sound. It sucks because end users don't care about such technical minutiae and can't readily unravel such font discrepancy issues when encountered. TX
A bug report exists for the -inkscape-font-specification issue:
https://bugs.launchpad.net/inkscape/+bug/1324809 https://bugs.launchpad.net/inkscape/+bug/1324809
I've migrated it, so hopefully it'll get some traction:
https://gitlab.com/inkscape/inbox/-/issues/4704 https://gitlab.com/inkscape/inbox/-/issues/4704
It'd be nice to support that particular extension; however, the reason for not supporting it is sound. It sucks because end users don't care about such technical minutiae and can't readily unravel such font discrepancy issues when encountered. maybe later as an add-on .. adding heuristics like that always are to be
On 4/3/2021 9:46 PM, Thangalin wrote: optional Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
participants (2)
-
Hans Hagen
-
Thangalin