terrastruct / d2

D2 is a modern diagram scripting language that turns text to diagrams.
https://d2lang.com
Mozilla Public License 2.0
16.46k stars 411 forks source link

Inkscape can't read D2 SVGs #1519

Open mark-summerfield opened 1 year ago

mark-summerfield commented 1 year ago

Here is a tiny .d2 file:

Callout: Callout
Callout.shape: callout

When I run d2 callout.d2 callout.svg I get this message:

success: successfully compiled callout.d2 to callout.svg in 37.07039ms

But when I then run inkscape callout.svg I get these errors:

end_font_face_cb: font face rule limited support.
  font-family : d2-2981166441-font-bold;
  src : url(data:application/font-woff;base64,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)
parsing error: 85:76:could not recognize next production
parsing error: 85:81:while parsing rulset: current char must be a '}'
parsing error: 85:80:while parsing declaration: next property is malformed

I'm using Inkscape 1.0.2 on Debian 11. callout

FluxusMagna commented 1 year ago

I have a similar issue with inkscape, with incorrect rendering as a result. The same applies to imagemagick. The svgs render just fine in gimp and some other apps however. Does imagemagick rely on the same library somehow?