yWorks/svg2pdf.js

When font-size declared in rem, text is missing in the exported file.

karolkolodziej opened this issue · 4 comments

Describe the bug
When adding the font-size expressed in rem to a text, it is not visible in the exported file.

To Reproduce
See this playground.

Expected behavior
The font-size in rem should be applied similarly to the on in px- which works well.

Desktop (please complete the following information):

  • OS: macOS Monterey 12.4
  • Browser: Chrome
  • Version: 106.0.5249.91 (Official Build) (arm64)
yGuy commented

Not sure whether "rem" is officially supported in SVGs, not even SVG2 seems to be clear on this: https://svgwg.org/svg2-draft/types.html#InterfaceSVGLength

And I don't think browsers, agree with the implementation, either: https://bugzilla.mozilla.org/show_bug.cgi?id=1231147

How should the size be determined for an SVG embedded into a PDF? Font sizes relative to what?

How should the size be determined for an SVG embedded into a PDF? Font sizes relative to what?

I guess it should work similarly to the em only being relative to the top element - demo.

Indeed the SVG2 documention doesn't mention the rem.
However percentages are there and they also don't work correctly- demo.

yGuy commented

OK - the latter should have been fixed in #100 but might not work for the CSS attributes, but only for the "real" SVG attributes.
I don't think that "rem" is something we should support until it's clear how it should behave, i.e. until there is actually a spec other than prior art in existing implementations that use the HTML document root, which really doesn't make sense in the context of svg2pdf, IMHO.

yGuy commented

Let's create another issue for the em case.
I am closing this for the "rem" case until there is a spec for this available. I don't see that this can be an important use-case as long as it only works inside the HTML DOM in a browser.