<html><head></head><body><div class="ydp5c5d9ea1yahoo-style-wrap" style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 13px;"><div><div dir="ltr" data-setdir="false">Thanks for looking at this.</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Specifying the version, I can see the same result.  It seems likely there is a way to achieve the expected output, but I think I need to understand SVG a bit more first.   <br></div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">I failed on my first pass understanding the filter dialog in Inkscape but will try again from that end, or just editing the raw SVG.<br></div><div dir="ltr" data-setdir="false"><br></div><div><br></div><div class="ydp5c5d9ea1signature">S++</div></div>
        <div><br></div><div><br></div>
        
        </div><div id="yahoo_quoted_6979809570" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Thursday, March 25, 2021, 4:06:43 PM GMT, Uli Schlachter <psychon@znc.in> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div dir="ltr">Hi,<br clear="none"><div class="yqt2324800707" id="yqtfd44312"><br clear="none">Am 24.03.21 um 02:22 schrieb Stuart Axon:<br clear="none">> I've been trying to generate an SVG using SVGSurface with a fill and an alpha stroke, <br clear="none">> with OPERATOR_SOURCE to ensure the stroke draws over the fill, but this seemsto generate <image> tags in the SVG.<br clear="none">> Toy example and output + XML:<br clear="none">> <a shape="rect" href="https://gist.github.com/stuaxo/b525a47d33f5f3074b1be7c693f6b6e6" target="_blank">https://gist.github.com/stuaxo/b525a47d33f5f3074b1be7c693f6b6e6</a><br clear="none">> Is there any way to render fill + stroke (with alpha) and only output vector data ?This seems like a common operation, but whatever I try outputs SVGs full of <image>s.<br clear="none">> <br clear="none">> For Shoebot, this has meant our SVGs become very very large, enough to eat all your ram if you try and open them in Inkscape.</div><br clear="none"><br clear="none">I ported your example code to C (attached). Don't ask me why, but I<br clear="none">experimented with the SVG version. And it helped!<br clear="none"><br clear="none">More specifically, adding this line:<br clear="none"><br clear="none">  cairo_svg_surface_restrict_to_version(s, CAIRO_SVG_VERSION_1_2);<br clear="none"><br clear="none">...causes a small difference in the output with/without operator SOURCE:<br clear="none">The path's style gets a new "comp-op:src;clip-to-self:true" entry.<br clear="none">Everything else stays the same (well, except the header saying<br clear="none">version="1.2" instead of the previous version="1.1").<br clear="none"><br clear="none">So, I do not really have much clue about SVG, but I guess this means that:<br clear="none">- cairo defaults to SVG 1.1<br clear="none">- SVG 1.1 does not support operator SOURCE<br clear="none"><br clear="none">Cheers,<br clear="none">Uli<br clear="none">-- <br clear="none">Homophobia - The fear that another man will treat you the way you treat<br clear="none">women.<div class="yqt2324800707" id="yqtfd57371"><br clear="none"></div></div></div>
            </div>
        </div></body></html>