]> git.eshelyaron.com Git - emacs.git/commitdiff
Further fix-ups for SVG wrapping in shr
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 19 Sep 2019 13:58:34 +0000 (15:58 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 19 Sep 2019 13:58:34 +0000 (15:58 +0200)
* lisp/net/shr.el (svg--wrap-svg): Add the size to the wrapper to
avoid having the SVG images shrink (bug#37159).

lisp/net/shr.el

index e73c7cdee1bb76d2de0d1069f1ecbd131b277518..d8a01cbbc1b60ec3b44f78eb1e028b7bdc89d04c 100644 (file)
@@ -1188,15 +1188,15 @@ Return a string with image data."
 
 (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)))
+  (let ((size (image-size (create-image data nil t :scaling 1) t)))
+    (with-temp-buffer
+      (insert
+       (format
+        "<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:xi=\"http://www.w3.org/2001/XInclude\" style=\"color: %s;\" viewBox=\"0 0 %d %d\"> <xi:include href=\"data:image/svg+xml;base64,%s \"></xi:include></svg>"
+        (face-foreground 'default)
+        (car size) (cdr size)
+        (base64-encode-string data t)))
+      (buffer-string))))
 
 (defun shr-image-displayer (content-function)
   "Return a function to display an image.