Opis glifu Metafont przetworzony przez Metapost w celu zwrócenia ścieżek svg
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
MetaPost nie zmienia rodzaju ścieżki, którą do niego przechodzisz. Więc jeśli masz czcionkę taką jak ta, logo10
któ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 cmr10
zdefiniowana za pomocą wypełnionych konturów, to wyjście SVG lub PostScript będzie używać tego samego. (Właściwie cmr10
uż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ć mpost
wyjściowe pliki SVG, możesz przekazać argument -s outputformat=\"svg\"
.