Я недавно импортировал и отредактировал файл в Inkscape. Я сохранил изображение как «оптимизированный SVG» в Inkscape, но когда я открывал полученный файл в разных программах, некоторые отображали его так же, как Inkscape, в то время как другие не применяли определенный линейный градиент (в то время как все другие части изображения , в том числе градиенты, работали нормально).
Пока что для предыстории. Я сжал свое исходное изображение в минимальном примере и определил, какая часть источника SVG заставляет разных зрителей вести себя по-разному. Это мой пример файла SVG:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" height="982" width="982" version="1.1"
viewBox="0 0 982 982">
<defs>
<linearGradient id="a" gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-62.075 1070.8 1070.8 62.075 521.8 -42.09)">
<stop stop-color="#bbb9c2" offset="0"/>
<stop stop-color="#3f3" offset="1"/>
</linearGradient>
</defs>
<path fill="url(#a)" d="m0 491.11c0 271.12 219.78 490.89 490.85 490.89 271.13 0 490.92-219.77 490.92-490.89 0-271.07-219.79-490.86-490.92-490.86-271.07 0-490.85 219.79-490.85 490.86"/>
</svg>
Вот как это выглядит в Inkscape и в программе просмотра изображений GNOME («Глаз GNOME»):
Вот как это выглядит в браузерах Firefox и Chromium:
Однако я заметил, что если вы добавите атрибут x2="1"
к <linearGradient>
, изображение будет выглядеть одинаково во всех этих средствах просмотра.
К сожалению, я недостаточно знаком с деталями формата файла SVG и стандарта SVG, но мне кажется ясным, что одна из этих интерпретаций моего файла должна быть неправильной (то есть нарушать стандарт). Кто-нибудь знает, чья сторона права (например, для каких программ я должен подать отчет об ошибке)?