-
-
Notifications
You must be signed in to change notification settings - Fork 696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SVG width not rendering correctly #901
Comments
Hello! Thank you for this bug report. Could you please provide one of your SVG files, so that I can test? |
Here it is:
|
The size of your SVG is not defined, that's why this problem appears. You can add I have to check the spec about that, because the 3 main web renderers increase the size of "sizeless" SVG files, just as if they had a |
There's a bug. The spec tells that
That's not what we do. EDIT: it's not related. For replaced elements, we have to follow what's in CSS2, and it doesn't rely on concrete object size. |
I'm a bit lost. I'd like to avoid |
You just have to wait for me to fix this bug 😉. |
Ok, apologies. I didn't fully understand the previous two comments. Thanks for looking into this. |
No problem, I often add technical stuff and specification quotes in comments so that I can remember what I've understood and done after a few months, when new related bugs are reported 😄. From CSS 2.1 (10.3.2):
It means that this use case is undefined, but there's a "suggestion". Browsers actually follow this suggestion. WeasyPrint didn't, because I had found a better solution (as I'm really smarter than those spec nerds, you know). I was wrong. Of course. And it's not the first time. At all. I've blindly followed what's in the spec, and the result is now the same as what browsers do. Surprise. Note that when an image with no intrinsic size is included in a block whose size depends on the children sizes (for example, an SVG |
(It's not fixed in (And I need to add a test before closing.) |
Thanks for the detailed write-up. <img src="XXX.png" /> and <img src="XXX.svg" /> I'm not using inline SVGs (for now). |
Version 50 ---------- Released on 2019-09-19. New features: * `#209 <https://github.com/Kozea/WeasyPrint/issues/209>`_: Make ``break-*`` properties work inside tables * `#661 <https://github.com/Kozea/WeasyPrint/issues/661>`_: Make blocks with ``overflow: auto`` grow to include floating children Bug fixes: * `#945 <https://github.com/Kozea/WeasyPrint/issues/945>`_: Don't break pages between a list item and its marker * `#727 <https://github.com/Kozea/WeasyPrint/issues/727>`_: Avoid tables lost between pages * `#831 <https://github.com/Kozea/WeasyPrint/issues/831>`_: Ignore auto margins on flex containers * `#923 <https://github.com/Kozea/WeasyPrint/issues/923>`_: Fix a couple of crashes when splitting a line twice * `#896 <https://github.com/Kozea/WeasyPrint/issues/896>`_: Fix skip stack order when using a reverse flex direction Contributors: - grewn0uille - Guillaume Ayoub Version 49 ---------- Released on 2019-09-11. Performance: * Speed and memory use have been largely improved. New features: * `#700 <https://github.com/Kozea/WeasyPrint/issues/700>`_: Handle ``::marker`` pseudo-selector * `135dc06c <https://github.com/Kozea/WeasyPrint/commit/135dc06c>`_: Handle ``recto`` and ``verso`` parameters for page breaks * `#907 <https://github.com/Kozea/WeasyPrint/pull/907>`_: Provide a clean way to build layout contexts Bug fixes: * `#937 <https://github.com/Kozea/WeasyPrint/issues/937>`_: Fix rendering of tables with empty lines and rowspans * `#897 <https://github.com/Kozea/WeasyPrint/issues/897>`_: Don't crash when small columns are wrapped in absolute blocks * `#913 <https://github.com/Kozea/WeasyPrint/issues/913>`_: Fix a test about gradient colors * `#924 <https://github.com/Kozea/WeasyPrint/pull/924>`_: Fix title for document with attachments * `#917 <https://github.com/Kozea/WeasyPrint/issues/917>`_: Fix tests with Pango 1.44 * `#919 <https://github.com/Kozea/WeasyPrint/issues/919>`_: Fix padding and margin management for column flex boxes * `#901 <https://github.com/Kozea/WeasyPrint/issues/901>`_: Fix width of replaced boxes with no intrinsic width * `#906 <https://github.com/Kozea/WeasyPrint/issues/906>`_: Don't respect table cell width when content doesn't fit * `#927 <https://github.com/Kozea/WeasyPrint/pull/927>`_: Don't use deprecated ``logger.warn`` anymore * `a8662794 <https://github.com/Kozea/WeasyPrint/commit/a8662794>`_: Fix margin collapsing between caption and table wrapper * `87d9e84f <https://github.com/Kozea/WeasyPrint/commit/87d9e84f>`_: Avoid infinite loops when rendering columns * `789b80e6 <https://github.com/Kozea/WeasyPrint/commit/789b80e6>`_: Only use in flow children to set columns height * `615e298a <https://github.com/Kozea/WeasyPrint/commit/615e298a>`_: Don't include floating elements each time we try to render a column * `48d8632e <https://github.com/Kozea/WeasyPrint/commit/48d8632e>`_: Avoid not in flow children to compute column height * `e7c452ce <https://github.com/Kozea/WeasyPrint/commit/e7c452ce>`_: Fix collapsing margins for columns * `fb0887cf <https://github.com/Kozea/WeasyPrint/commit/fb0887cf>`_: Fix crash when using currentColor in gradients * `f66df067 <https://github.com/Kozea/WeasyPrint/commit/f66df067>`_: Don't crash when using ex units in word-spacing in letter-spacing * `c790ff20 <https://github.com/Kozea/WeasyPrint/commit/c790ff20>`_: Don't crash when properties needing base URL use var functions * `d63eac31 <https://github.com/Kozea/WeasyPrint/commit/d63eac31>`_: Don't crash with object-fit: non images with no intrinsic size Documentation: * `#900 <https://github.com/Kozea/WeasyPrint/issues/900>`_: Add documentation about semantic versioning * `#692 <https://github.com/Kozea/WeasyPrint/issues/692>`_: Add a snippet about PDF magnification * `#899 <https://github.com/Kozea/WeasyPrint/pull/899>`_: Add .NET wrapper link * `#893 <https://github.com/Kozea/WeasyPrint/pull/893>`_: Fixed wrong nested list comprehension example * `#902 <https://github.com/Kozea/WeasyPrint/pull/902>`_: Add ``state`` to the ``make_bookmark_tree`` documentation * `#921 <https://github.com/Kozea/WeasyPrint/pull/921>`_: Fix typos in the documentation * `#328 <https://github.com/Kozea/WeasyPrint/issues/328>`_: Add CSS sample for forms Contributors: - grewn0uille - Guillaume Ayoub - Raphael Gaschignard - Stani - Szmen - Thomas Dexter - Tontyna Version 48 ---------- Released on 2019-07-08. Dependencies: * CairoSVG 2.4.0+ is now needed New features: * `#891 <https://github.com/Kozea/WeasyPrint/pull/891>`_: Handle ``text-overflow`` * `#878 <https://github.com/Kozea/WeasyPrint/pull/878>`_: Handle ``column-span`` * `#855 <https://github.com/Kozea/WeasyPrint/pull/855>`_: Handle all the ``text-decoration`` features * `#238 <https://github.com/Kozea/WeasyPrint/issues/238>`_: Don't repeat background images when it's not needed * `#875 <https://github.com/Kozea/WeasyPrint/issues/875>`_: Handle ``object-fit`` and ``object-position`` * `#870 <https://github.com/Kozea/WeasyPrint/issues/870>`_: Handle ``bookmark-state`` Bug fixes: * `#686 <https://github.com/Kozea/WeasyPrint/issues/686>`_: Fix column balance when children are not inline * `#885 <https://github.com/Kozea/WeasyPrint/issues/885>`_: Actually use the content box to resolve flex items percentages * `#867 <https://github.com/Kozea/WeasyPrint/issues/867>`_: Fix rendering of KaTeX output, including (1) set row baseline of tables when no cells are baseline-aligned, (2) set baseline for inline tables, (3) don't align lines larger than their parents, (4) force CairoSVG to respect image size defined by CSS. * `#873 <https://github.com/Kozea/WeasyPrint/issues/873>`_: Set a minimum height for empty list elements with outside marker * `#811 <https://github.com/Kozea/WeasyPrint/issues/811>`_: Don't use translations to align flex items * `#851 <https://github.com/Kozea/WeasyPrint/issues/851>`_, `#860 <https://github.com/Kozea/WeasyPrint/issues/860>`_: Don't cut pages when content overflows a very little bit * `#862 <https://github.com/Kozea/WeasyPrint/issues/862>`_: Don't crash when using UTC dates in metadata Documentation: * `#854 <https://github.com/Kozea/WeasyPrint/issues/854>`_: Add a "Tips & Tricks" section Contributors: - Gabriel Corona - Guillaume Ayoub - Manuel Barkhau - Nathan de Maestri - grewn0uille - theopeek Version 47 ---------- Released on 2019-04-12. New features: * `#843 <https://github.com/Kozea/WeasyPrint/pull/843>`_: Handle CSS variables * `#846 <https://github.com/Kozea/WeasyPrint/pull/846>`_: Handle ``:nth()`` page selector * `#847 <https://github.com/Kozea/WeasyPrint/pull/847>`_: Allow users to use a custom SSL context for HTTP requests Bug fixes: * `#797 <https://github.com/Kozea/WeasyPrint/issues/797>`_: Fix underlined justified text * `#836 <https://github.com/Kozea/WeasyPrint/issues/836>`_: Fix crash when flex items are replaced boxes * `#835 <https://github.com/Kozea/WeasyPrint/issues/835>`_: Fix ``margin-break: auto`` Version 46 ---------- Released on 2019-03-20. New features: * `#771 <https://github.com/Kozea/WeasyPrint/issues/771>`_: Handle ``box-decoration-break`` * `#115 <https://github.com/Kozea/WeasyPrint/issues/115>`_: Handle ``margin-break`` * `#821 <https://github.com/Kozea/WeasyPrint/issues/821>`_: Continuous integration includes tests on Windows Bug fixes: * `#765 <https://github.com/Kozea/WeasyPrint/issues/765>`_, `#754 <https://github.com/Kozea/WeasyPrint/issues/754>`_, `#800 <https://github.com/Kozea/WeasyPrint/issues/800>`_: Fix many crashes related to the flex layout * `#783 <https://github.com/Kozea/WeasyPrint/issues/783>`_: Fix a couple of crashes with strange texts * `#827 <https://github.com/Kozea/WeasyPrint/pull/827>`_: Named strings and counters are case-sensitive * `#823 <https://github.com/Kozea/WeasyPrint/pull/823>`_: Shrink min/max-height/width according to box-sizing * `#728 <https://github.com/Kozea/WeasyPrint/issues/728>`_, `#171 <https://github.com/Kozea/WeasyPrint/issues/171>`_: Don't crash when fixed boxes are nested * `#610 <https://github.com/Kozea/WeasyPrint/issues/610>`_, `#828 <https://github.com/Kozea/WeasyPrint/issues/828>`_: Don't crash when preformatted text lines end with a space * `#808 <https://github.com/Kozea/WeasyPrint/issues/808>`_, `#387 <https://github.com/Kozea/WeasyPrint/issues/387>`_: Fix position of some images * `#813 <https://github.com/Kozea/WeasyPrint/issues/813>`_: Don't crash when long preformatted text lines end with ``\n`` Documentation: * `#815 <https://github.com/Kozea/WeasyPrint/pull/815>`_: Add documentation about custom ``url_fetcher``
Version 50 ---------- Released on 2019-09-19. New features: * `#209 <https://github.com/Kozea/WeasyPrint/issues/209>`_: Make ``break-*`` properties work inside tables * `#661 <https://github.com/Kozea/WeasyPrint/issues/661>`_: Make blocks with ``overflow: auto`` grow to include floating children Bug fixes: * `#945 <https://github.com/Kozea/WeasyPrint/issues/945>`_: Don't break pages between a list item and its marker * `#727 <https://github.com/Kozea/WeasyPrint/issues/727>`_: Avoid tables lost between pages * `#831 <https://github.com/Kozea/WeasyPrint/issues/831>`_: Ignore auto margins on flex containers * `#923 <https://github.com/Kozea/WeasyPrint/issues/923>`_: Fix a couple of crashes when splitting a line twice * `#896 <https://github.com/Kozea/WeasyPrint/issues/896>`_: Fix skip stack order when using a reverse flex direction Contributors: - grewn0uille - Guillaume Ayoub Version 49 ---------- Released on 2019-09-11. Performance: * Speed and memory use have been largely improved. New features: * `#700 <https://github.com/Kozea/WeasyPrint/issues/700>`_: Handle ``::marker`` pseudo-selector * `135dc06c <https://github.com/Kozea/WeasyPrint/commit/135dc06c>`_: Handle ``recto`` and ``verso`` parameters for page breaks * `#907 <https://github.com/Kozea/WeasyPrint/pull/907>`_: Provide a clean way to build layout contexts Bug fixes: * `#937 <https://github.com/Kozea/WeasyPrint/issues/937>`_: Fix rendering of tables with empty lines and rowspans * `#897 <https://github.com/Kozea/WeasyPrint/issues/897>`_: Don't crash when small columns are wrapped in absolute blocks * `#913 <https://github.com/Kozea/WeasyPrint/issues/913>`_: Fix a test about gradient colors * `#924 <https://github.com/Kozea/WeasyPrint/pull/924>`_: Fix title for document with attachments * `#917 <https://github.com/Kozea/WeasyPrint/issues/917>`_: Fix tests with Pango 1.44 * `#919 <https://github.com/Kozea/WeasyPrint/issues/919>`_: Fix padding and margin management for column flex boxes * `#901 <https://github.com/Kozea/WeasyPrint/issues/901>`_: Fix width of replaced boxes with no intrinsic width * `#906 <https://github.com/Kozea/WeasyPrint/issues/906>`_: Don't respect table cell width when content doesn't fit * `#927 <https://github.com/Kozea/WeasyPrint/pull/927>`_: Don't use deprecated ``logger.warn`` anymore * `a8662794 <https://github.com/Kozea/WeasyPrint/commit/a8662794>`_: Fix margin collapsing between caption and table wrapper * `87d9e84f <https://github.com/Kozea/WeasyPrint/commit/87d9e84f>`_: Avoid infinite loops when rendering columns * `789b80e6 <https://github.com/Kozea/WeasyPrint/commit/789b80e6>`_: Only use in flow children to set columns height * `615e298a <https://github.com/Kozea/WeasyPrint/commit/615e298a>`_: Don't include floating elements each time we try to render a column * `48d8632e <https://github.com/Kozea/WeasyPrint/commit/48d8632e>`_: Avoid not in flow children to compute column height * `e7c452ce <https://github.com/Kozea/WeasyPrint/commit/e7c452ce>`_: Fix collapsing margins for columns * `fb0887cf <https://github.com/Kozea/WeasyPrint/commit/fb0887cf>`_: Fix crash when using currentColor in gradients * `f66df067 <https://github.com/Kozea/WeasyPrint/commit/f66df067>`_: Don't crash when using ex units in word-spacing in letter-spacing * `c790ff20 <https://github.com/Kozea/WeasyPrint/commit/c790ff20>`_: Don't crash when properties needing base URL use var functions * `d63eac31 <https://github.com/Kozea/WeasyPrint/commit/d63eac31>`_: Don't crash with object-fit: non images with no intrinsic size Documentation: * `#900 <https://github.com/Kozea/WeasyPrint/issues/900>`_: Add documentation about semantic versioning * `#692 <https://github.com/Kozea/WeasyPrint/issues/692>`_: Add a snippet about PDF magnification * `#899 <https://github.com/Kozea/WeasyPrint/pull/899>`_: Add .NET wrapper link * `#893 <https://github.com/Kozea/WeasyPrint/pull/893>`_: Fixed wrong nested list comprehension example * `#902 <https://github.com/Kozea/WeasyPrint/pull/902>`_: Add ``state`` to the ``make_bookmark_tree`` documentation * `#921 <https://github.com/Kozea/WeasyPrint/pull/921>`_: Fix typos in the documentation * `#328 <https://github.com/Kozea/WeasyPrint/issues/328>`_: Add CSS sample for forms Contributors: - grewn0uille - Guillaume Ayoub - Raphael Gaschignard - Stani - Szmen - Thomas Dexter - Tontyna Version 48 ---------- Released on 2019-07-08. Dependencies: * CairoSVG 2.4.0+ is now needed New features: * `#891 <https://github.com/Kozea/WeasyPrint/pull/891>`_: Handle ``text-overflow`` * `#878 <https://github.com/Kozea/WeasyPrint/pull/878>`_: Handle ``column-span`` * `#855 <https://github.com/Kozea/WeasyPrint/pull/855>`_: Handle all the ``text-decoration`` features * `#238 <https://github.com/Kozea/WeasyPrint/issues/238>`_: Don't repeat background images when it's not needed * `#875 <https://github.com/Kozea/WeasyPrint/issues/875>`_: Handle ``object-fit`` and ``object-position`` * `#870 <https://github.com/Kozea/WeasyPrint/issues/870>`_: Handle ``bookmark-state`` Bug fixes: * `#686 <https://github.com/Kozea/WeasyPrint/issues/686>`_: Fix column balance when children are not inline * `#885 <https://github.com/Kozea/WeasyPrint/issues/885>`_: Actually use the content box to resolve flex items percentages * `#867 <https://github.com/Kozea/WeasyPrint/issues/867>`_: Fix rendering of KaTeX output, including (1) set row baseline of tables when no cells are baseline-aligned, (2) set baseline for inline tables, (3) don't align lines larger than their parents, (4) force CairoSVG to respect image size defined by CSS. * `#873 <https://github.com/Kozea/WeasyPrint/issues/873>`_: Set a minimum height for empty list elements with outside marker * `#811 <https://github.com/Kozea/WeasyPrint/issues/811>`_: Don't use translations to align flex items * `#851 <https://github.com/Kozea/WeasyPrint/issues/851>`_, `#860 <https://github.com/Kozea/WeasyPrint/issues/860>`_: Don't cut pages when content overflows a very little bit * `#862 <https://github.com/Kozea/WeasyPrint/issues/862>`_: Don't crash when using UTC dates in metadata Documentation: * `#854 <https://github.com/Kozea/WeasyPrint/issues/854>`_: Add a "Tips & Tricks" section Contributors: - Gabriel Corona - Guillaume Ayoub - Manuel Barkhau - Nathan de Maestri - grewn0uille - theopeek Version 47 ---------- Released on 2019-04-12. New features: * `#843 <https://github.com/Kozea/WeasyPrint/pull/843>`_: Handle CSS variables * `#846 <https://github.com/Kozea/WeasyPrint/pull/846>`_: Handle ``:nth()`` page selector * `#847 <https://github.com/Kozea/WeasyPrint/pull/847>`_: Allow users to use a custom SSL context for HTTP requests Bug fixes: * `#797 <https://github.com/Kozea/WeasyPrint/issues/797>`_: Fix underlined justified text * `#836 <https://github.com/Kozea/WeasyPrint/issues/836>`_: Fix crash when flex items are replaced boxes * `#835 <https://github.com/Kozea/WeasyPrint/issues/835>`_: Fix ``margin-break: auto`` Version 46 ---------- Released on 2019-03-20. New features: * `#771 <https://github.com/Kozea/WeasyPrint/issues/771>`_: Handle ``box-decoration-break`` * `#115 <https://github.com/Kozea/WeasyPrint/issues/115>`_: Handle ``margin-break`` * `#821 <https://github.com/Kozea/WeasyPrint/issues/821>`_: Continuous integration includes tests on Windows Bug fixes: * `#765 <https://github.com/Kozea/WeasyPrint/issues/765>`_, `#754 <https://github.com/Kozea/WeasyPrint/issues/754>`_, `#800 <https://github.com/Kozea/WeasyPrint/issues/800>`_: Fix many crashes related to the flex layout * `#783 <https://github.com/Kozea/WeasyPrint/issues/783>`_: Fix a couple of crashes with strange texts * `#827 <https://github.com/Kozea/WeasyPrint/pull/827>`_: Named strings and counters are case-sensitive * `#823 <https://github.com/Kozea/WeasyPrint/pull/823>`_: Shrink min/max-height/width according to box-sizing * `#728 <https://github.com/Kozea/WeasyPrint/issues/728>`_, `#171 <https://github.com/Kozea/WeasyPrint/issues/171>`_: Don't crash when fixed boxes are nested * `#610 <https://github.com/Kozea/WeasyPrint/issues/610>`_, `#828 <https://github.com/Kozea/WeasyPrint/issues/828>`_: Don't crash when preformatted text lines end with a space * `#808 <https://github.com/Kozea/WeasyPrint/issues/808>`_, `#387 <https://github.com/Kozea/WeasyPrint/issues/387>`_: Fix position of some images * `#813 <https://github.com/Kozea/WeasyPrint/issues/813>`_: Don't crash when long preformatted text lines end with ``\n`` Documentation: * `#815 <https://github.com/Kozea/WeasyPrint/pull/815>`_: Add documentation about custom ``url_fetcher``
I'm not sure this is a bug.
I use images in my document with the regular
<img src="url" />
tag.The image tag can contain regular images and SVGs.
The parent tag has a width set to
width: 60%
and all the images havemax-width: 100%
.All the non-SVG images are rendering correctly:
All the SVGs are not:
They are tiny.
I can manually set a width on the images, and that seems to do a good job. However, it's not ideal because of the aspect ratio (taller images are breaking the layout).
Usually, this is a rendering engine specific issue, and several workarounds can be applied. However, I'm not sure what rendering engine is in place here, so I don't know how I can go about debugging it.
The text was updated successfully, but these errors were encountered: