Échec du traitement d’image de certains SVG distants s’ils n’ont pas de viewbox
On le voit sur certains logo dans les listes de https://plugins.spip.net
Pas facile de trouver, mais en fait si on applique un traitement d’image sur une url SVG distante, alors si le SVG n’a pas de viewbox, le traitement (image_recadre a priori) se trompe.
Les mêmes fichiers en local directement ont des traitements qui fonctionnent.
Exemple de code pour reproduire
<h1>#SQUELETTE</h1>
#DUMP
<style>
.box { display: block; border: 1px solid red; }
.img { display: block; border: 1px solid green; }
</style>
#SET{liste,#LISTE{#CHEMIN{avec_viewbox.svg},#CHEMIN{sans_viewbox.svg}}}
#SET{liste,#LISTE{https://files.spip.org/spip-zone/spip-contrib-squelettes/escal-79c88-v4.5.43.svg,https://files.spip.org/core/forum-b85ac-v3.0.3.svg}}
<BOUCLE_svg(DATA){source table, #GET{liste}}>
<div class="box">
[(#VALEUR
|image_reduire{48}
|image_recadre{1:1,-,center,transparent}
|inserer_attribut{class,img})]
</div>
</BOUCLE_svg>
Le premier #SET{liste}
ce sont 2 fichiers téléchargés localement 1 avec viewbox, l’autre sans.
Si on l’utilise pour la boucle, ça génère bien 2 images correctes
Le second génère une image incorrecte pour Escal dont le logo n’a pas de viewBox.