>>> 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?