graphviz: узлы изображений SVG не вставляются, если вывод SVG
Я создал небольшое изображение SVG. В Firefox он прекрасно воспроизводится. Затем я создал файл graphviz, который содержал (среди прочего):
mynote [label="", image="mybox.svg"];
Затем я запустил это на этом:
$ dot -Tsvg:svg:core infile.dot -o outfile.svg
Я получаю следующее:
Warning: "mybox.svg" was not found as a file or as a shape library member
Warning: No or improper shapefile="mybox.svg" for node "mynote"
PS: с png файлами работают нормально.
2 ответа
Я боролся с этой проблемой в течение дня или около того, думал, что поделюсь решением, которое я нашел.
Я пытался использовать потрясающие иконки внутри моего графика graphviz.
Svgs, которые вы получаете от fontawesome, не отформатированы в соответствии со стандартом xml. Им не хватает декларации xml.
Убедиться, что svg, который вы пытаетесь импортировать, начинается со следующей строки, решило проблему для меня.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
У меня была такая же проблема. Файл svg был правильно создан, но вызвал эти ошибки.
SVG хранился в UTF-8 со спецификацией. Ошибка исчезла при сохранении без BOM. Других изменений не потребовалось.