Ao fazer o upload de uma imagem SVG para incluir em uma postagem onde o atributo de altura ou largura no elemento SVG principal possui um tamanho numérico menor que “1” (ignorando as unidades associadas), o processo falha com a mensagem:
Desculpe, mas não foi possível determinar o tamanho da imagem. Talvez sua imagem esteja corrompida?
Parece que os atributos de altura e largura são verificados e o upload é rejeitado antes que o código associado a FIX - use ImageMagick to determine size of SVG images by jbrw · Pull Request #12230 · discourse/discourse · GitHub tenha a chance de usar as informações de unidade para calcular o tamanho real de exibição. Uma busca no fórum por
svg “determinar o tamanho da imagem” “talvez sua imagem esteja corrompida”
atualmente retorna 9 resultados. Como incluir ícones do FontAwesome em postagens? parece ter a mesma causa, mas esse relatório é antigo e supostamente foi corrigido.
Após algumas pesquisas, isso parece ser um problema com a biblioteca fastimage utilizada. Criei um issue lá para Imagens SVG com dimensões pequenas detectadas como zero pixels, ignorando unidades, e estou fazendo referência a ela aqui. Supondo que a biblioteca fastimage seja corrigida, provavelmente ainda será necessária uma alteração no Discourse para obter a versão atualizada.
Abaixo está o código XML fonte do arquivo SVG de exemplo que falha.
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
width="1.2in" height="0.9in"
viewBox="0 0 1200 900"
>
<line x1="1100" x2="100" y1="100" y2="800" stroke="#000000" stroke-width="50"/>
</svg>
Abaixo estão as imagens que demonstram modificações menores que fazem com que a imagem acima funcione no fórum. Elas correspondem aos anexos no issue do GitHub referenciado.