SVG-in-Opentype glyphs are rendered as PNG and then embedded in SVG
I was trying to render some color emojis into an SVG file. I quickly realized that Pangocairo would render the emojis into a bitmap and would then insert the bitmap into the SVG. My initial attempts were using the Noto Color Emoji font, which is a bitmap font, so it seemed reasonable. However, when I tried an SVG-in-OT font, particularly the Twitter Color Emoji font found at https://github.com/13rac1/twemoji-color-font, the issue was still there. I was able to reproduce this issue using CLI, for example:
$ pango-view --no-display --output=test.svg --markup <( echo '<span font_family="Twitter Color Emoji" fallback="false">🔥</span>' )
$ cat test.svg
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32">
<defs>
<image id="source-29" x="0" y="0" width="48" height="51" xlink:href="data:image/png;base64,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"/>
</defs>
<use xlink:href="#source-29" transform="matrix(0.24, 0, 0, 0.24, 10.32, 9.84)"/>
</svg>
imv at 5700% zoom:
I expect that rendering SVG glyphs to an SVG surface will result in fully vector output.
Is this something that could be fixed?