Opis glifu Metafont przetworzony przez Metapost w celu zwrócenia ścieżek svg

Jan 06 2021

Mam nadzieję wygenerować ścieżki SVG dla dużej liczby znaków i zastanawiam się, czy można to zautomatyzować za pomocą Metapost. Z tego, co przeczytałem,

mpost ’&mfplain’ cmr10

pozwoli mpostowi przetworzyć opis znaków czcionki Metafonta i wypisać po jednym pliku postscriptowym dla każdego znaku. Szukam czegoś podobnego - interpretacji opisów ścieżek Metafont i zwracania kształtów wektorowych - ale tworzenia otwartych ścieżek, w przeciwieństwie do wypełnionych konturów. Zasadniczo tylko trajektoria pióra, w przeciwieństwie do śladu, jaki pozostawia na papierze.

Czy brzmi to wykonalne w przypadku Metapost? Nie znam tego systemu, więc wolę zapytać, zanim zagłębię się zbyt głęboko i zdam sobie sprawę, że jest to beznadziejne.

Odpowiedzi

3 MarcelKrüger Jan 06 2021 at 16:46

MetaPost nie zmienia rodzaju ścieżki, którą do niego przechodzisz. Więc jeśli masz czcionkę taką jak ta, logo10która jest zdefiniowana za pomocą otwartych ścieżek, wyjście z MetaPost będzie również używać otwartych ścieżek (zarówno w PostScript, jak i SVG). Jeśli z drugiej strony użyjesz czcionki takiej jak cmr10zdefiniowana za pomocą wypełnionych konturów, to wyjście SVG lub PostScript będzie używać tego samego. (Właściwie cmr10używa kombinacji: prawie wszystkie glify używają zarówno wypełnienia, jak i obrysu, które są również kopiowane do pliku wyjściowego SVG lub PostScript)

Jedynym wyjątkiem jest użycie pióra, które nie jest okrągłe, a MetaPost musi przekształcić pociągnięcia w wypełnione kontury.

Nawiasem mówiąc, aby uzyskać mpostwyjściowe pliki SVG, możesz przekazać argument -s outputformat=\"svg\".