Subject: bug#77841: Some svg image's black color is replaced by emacs's theme foreground color

From: Billy Lei <[email-masked]>
Date: Wed, 16 Apr 2025 20:09:46 +0800

I found this issue when debugging org LaTeX preview, see 
https://list.orgmode.org/[email-masked]/T/#ed7ba8310f82e8be8a2e7360df1568ed485434df3

> When using themes with background color set to #000000, and org-preview-default-process is set to dvisvgm, the LaTeX fragments are displayed incorrectly.
> 
> To reduplicate:
> 
> 1. Switch to a theme with background color set to #000000 (like Modus Vivendi)
> 2. Set org-preview-default-latex-process to dvisvgm
> 3. Create an org-mode document. Write some LaTeX fragment and press C-c C-x C-l to preview LaTeX fragment.
> 4. The LaTeX preview is displayed as a white rectangle.
> 
> After debugging, I found that it is because dvisvgm omitts the default #000 color value when generating SVG file, and emacs has a unique way of displaying the SVG, which caused foreground color to be applied to it.
> 
> A solution is to change org-format-latex-options to use transparent background by default. I've attached this fix.

It turned out that emacs displays svg images differently compared to an 
image viewer. I can reduplicate this issue when I use emacs to view this 
svg image, which emacs replaces the image's black color with the current 
theme's foreground color:

https://commons.wikimedia.org/wiki/File:Flag_of_the_German_Democratic_Republic.svg

See also (Chinese): https://emacs-china.org/t/emacs-30-1-svg/29217