Описание глифа Metafont, обработанное Metapost для возврата путей svg

Jan 06 2021

Я надеюсь сгенерировать пути SVG для большого количества символов, и мне интересно, можно ли это автоматизировать с помощью Metapost. Из того, что я прочитал,

mpost ’&mfplain’ cmr10

позволит mpost обработать описание символов шрифта Metafont и вывести по одному файлу postscript для каждого символа. Я ищу что-то подобное - интерпретацию описаний путей Metafont и возвращение векторных фигур - но создание открытых путей, в отличие от заполненных контуров. По сути, это просто траектория пера, а не след, который она оставляет на бумаге.

Возможно ли это с Metapost? Я очень незнаком с системой, поэтому предпочитаю спросить, прежде чем углубляться в нее и понимать, что это безнадежно.

Ответы

3 MarcelKrüger Jan 06 2021 at 16:46

MetaPost не меняет путь, по которому вы переходите. Поэтому, если у вас есть шрифт, подобный тому, logo10который определен с использованием открытых путей, то в выводе MetaPost также будут использоваться открытые пути (как в PostScript, так и в SVG). Если, с другой стороны, вы используете шрифт, подобный тому, cmr10который определен с использованием закрашенных контуров, то при выводе SVG или PostScript будет использоваться то же самое. (На самом деле cmr10используется комбинация: почти все глифы используют как заливку, так и обводку, которая также копируется в выходные данные SVG или PostScript)

Единственное исключение - если вы используете некруглое перо, MetaPost должен преобразовать штрихи в закрашенные контуры.

Кстати, для mpostвывода файлов SVG вы можете передать аргумент -s outputformat=\"svg\".