Я пытаюсь создать шрифт SVG, поэтому мне нужно создать несколько путей. Одно из писем определяется по следующему пути:Вычитание SVG объектов и путей
который я создал с svgwrite, создав два circles
и rect
, а затем с помощью Inkscape, чтобы взять разность двух кругов и пересечения с прямая линия:
Вопрос в том, могу ли я сделать это напрямую с помощью SVG или svgwrite? Либо делать логические операции, либо создавать путь, который ведет себя как выше.
Я пытался создать черно-белый круг с путем, как:
d="M0,128 A128,128,1,1,0 0 127.9 Z\
M 32 128 A 96 96 1 1 0 32 127.9 Z"
с fill="#000000", stroke = "none", fill-rule="evenodd"
Однако это кольцо не распознается редактором SVG шрифта (он просто создает черный диск).
Я также попытался создать комбинацию путей (внешний круг, внутренний круг, горизонтальная линия)
d="M0,128 A128,128,1,1,0 0 127.9 Z\
M 32 128 A 96 96 1 1 0 32 127.9 Z \
M 38 128 l 0 15 l 180 0 l 0 -30 l -180 0 z"
но, хотя я могу видеть правильный вид результата, когда я открываю SVG, редактор шрифта будет не распознает путь, созданный, который выглядит следующим образом:
есть ли способ программно генерировать путь первой картинке выше?
Похоже, вы могли бы сделать это в SVG в качестве прямого соединения пути, состоящего из трех отдельных подпутей - внешний круг плюс верхние и нижние почти полукругов (с помощью эллиптической кривой дуги) - вместе с соответствующим правилом заполнения. Тогда ваш редактор шрифтов сможет справиться с этим, так как ему не нужно было бы вычислять какие-либо из самих путей посредством изменения формы. – martineau
@martineau, это точно мой вопрос. Как вы создаете << явный составной путь, состоящий из 3 подпапок с эллиптическими кривыми дуги >>? Мои попытки (см. D и fill-rule = "evenodd") приведены в моем описании, но я не знаю, как их улучшить. – Massagran
Я не предлагаю те же 3 подпапки. Первый будет внешним, полным кругом (как и у вас), но остальные два будут замкнутыми эллиптическими кривыми дуги (верхние и нижние частичные кружки). К сожалению, я не могу включить изображение в свой комментарий. – martineau