On Thu, 19 Sep 2019, 09:21 Tomasz Piotrowski, <tpiotrowski@is.umk.pl> wrote:
>>> Looks like whatever library Emacs is using for the svgs are saying that
>>> they're shorter than they should be:
>>>
>>> (image-size (create-image "/tmp/d.svg" nil nil :scale 1) t)
>>> => (12 . 13)
>> What would be a solution to this?
>
> I do not know.
If the patch lines are commented out in shr.el:

    ;; SVG images often do not have a specified foreground/background
    ;; color, so wrap them in styles.
    ;; (when (eq content-type 'image/svg+xml)
    ;;   (setq data (svg--wrap-svg data)))
    (list data content-type)))

(defun svg--wrap-svg (data))
  ;; "Add a default foreground colour to SVG images."
  ;; (with-temp-buffer
  ;;   (insert "<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" "
  ;;           "xmlns:xi=\"http://www.w3.org/2001/XInclude\" "
  ;;           "style=\"color: "
  ;;           (face-foreground 'default) ";\">"
  ;;           "<xi:include href=\"data:image/svg+xml;base64,"
  ;;           (base64-encode-string data t)
  ;;           "\"></xi:include></svg>")
  ;;   (buffer-string)))

then the equations (SVG images) are not overlapping with surrounding
text.

Hmm, it looks like GTK explicitly sets the width and height of the wrapper to match the SVG file. I don't know how practical that is for us, does it mean loading the file twice: once to get the size and once to wrap it?