We need canvas_put_sprite_full_scaled() in the gui API to make better .svg support (regardless of the exact form of that support, and .svg in theory meaning any vector format). Existing canvas_put_sprite_full() gets the canvas size from the source sprite, not scaling in any way.
The most easily reproducible problem with canvas_put_sprite_full() and .svg is making the client prefer .svg over .png, ant to use flags.spec (not flags-large.spec - then the expected file names would not match the .svg files we have), found a city. Depending on your nation -> the image size defined for the .svg, you get either half, or all of, your screen filled with the map.
API change attached. Qt-client has also the implementation I've been testing with. Other clients have just dummies.