Das archivierte Lilypond-Forum von 2017 ist hier als Lese-Archiv wieder verfügbar!

Hauptmenü

SVG Pfad in Lilypond Pfad umwandeln

Begonnen von Manuela, Mittwoch, 24. Mai 2023, 22:15

Vorheriges Thema - Nächstes Thema

Manuela

Ich habe hier und hier hübsche Muster gefunden, die ich gerne in Lilypond verwenden möchte.

Von der Verwendung von Postscript in Lilypond wird dringend abgeraten, es wird empfohlen, statt dessen Pfad zu verwenden.

Die Pfadnotation von Lilypond ist etwas eigenwillig, außerdem ist die Zahl der Befehle im Vergleich zu SVG eingeschränkt.

Ich habe daher ein Programm geschrieben, das einen SVG-Pfad als Eingabe hat und einen Lilypond-Pfad ausgibt. Falls Interesse besteht, veröffentliche ich hier den Code.

Es handelt sich um ein Lua-Programm, das z.B. in einem Wiki eingesetzt werden kann.

Derzeit werden nur relative Pfadkommandos (Kleinbuchstaben) behandelt, die Verwendung von absoluten Pfadangaben könnte relativ leicht integriert werden.

Ein Beispiel:
SVG-Pfad
m117.58 81.593
h -1.6281
v -0.38559
h 1.4348
v -6.6336
c -0.2921-0.59831-0.93804-1.6626-2.0348-2.2542 0.88689-0.647 1.6365-1.3776 2.0348-2.2747
v -1.8228
c -0.33161-0.08573-0.57785-0.38523-0.57785-0.7426 0-0.36054 0.24624-0.65828 0.57785-0.74436
v -8.6085
c -0.23107-0.48507-0.69321-1.2051-1.4778-1.5494
h -5.5989
c 5.3573 1.5635 5.9891 5.9619 6.0487 7.3805 0.10619 2.5082-1.4647 6.2015-5.0789 7.4362
l 4e-3 0.01023
c -0.0526 0.02187-0.623 0.25929-1.626 0.41592-0.0127 0.4512-0.11571 0.78916-0.26282 0.79728-0.14146 0.0081-0.27869-0.29563-0.34537-0.71931-1.3589 0.13547-3.2918 0.08784-5.6706-0.61489-2.051-0.60501-4.482-1.8768-7.0573-3.2237-3.4678-1.8122-7.0545-3.6883-10.073-4.1279-3.7056-0.53869-5.8441 0.3041-6.6096 1.2718-0.1524 0.19297-0.25436 0.39546-0.31115 0.60431 0.0113 0.21202 0.0843 0.40111 0.29845 0.45014 0.34395 0.06315 0.49353-0.27834 0.5147-0.57856 0.25717-0.29951 1.2633 0.10619 1.071 1.0933-0.19332 0.9846-1.3067 1.0054-1.7999 0.72672-0.48401-0.2734-1.059-1.3335-0.1203-2.473 0.0176-0.02011 0.0293-0.04198 0.0441-0.06279 1.0788-1.3631 3.683-1.8898 6.9688-1.4125 3.0829 0.44732 6.6989 2.3386 10.197 4.1674 2.5566 1.3374 4.9717 2.6003 6.9864 3.1948 0.9899 0.2921 1.9018 0.46602 2.7263 0.55986-0.5334-0.15381-1.0527-0.35489-1.5483-0.60784-0.74084-0.34325-3.4138-1.6891-6.3465-4.511-2.8102-2.7072-5.7718-4.5731-9.053-5.7079-3.368-1.1645-8.6558-1.21-8.709-1.2114
v -0.0014
c -0.84491 0.0039-1.6235 0.0078-2.2994 0.01341-5.5305 0.04269-6.1697 0.64805-6.3701 1.318-0.0684 0.22684-0.0579 0.41734-0.0127 0.5715 0.042 0.04022 0.0938 0.07056 0.16157 0.08467 0.33162 0.0628 0.47625-0.2674 0.49636-0.55668 0.2473-0.28857 1.2185 0.10407 1.0322 1.0541-0.18485 0.94932-1.2591 0.97014-1.7342 0.70273-0.46955-0.26599-1.0245-1.295-0.10619-2.3975 0.53799-0.7433 2.0295-1.1282 6.5292-1.1635 5.5065-0.04163 17.785 0 17.908 0
h 0.40569
c -0.60466 0.24624-1.0308 0.83926-1.0308 1.5325 0 0.9144 0.73943 1.6542 1.6528 1.6542 0.91369 0 1.6531-0.73978 1.6531-1.6542 0-0.69321-0.42615-1.2862-1.0308-1.5325
h 5.51
l -0.44556 0.34608
c -0.0229 0.0187-2.3615 1.8718-2.2387 5.1957 0.0614 1.6514 0.98566 3.4212 2.474 4.736 0.53234 0.47166 1.1137 0.86713 1.7293 1.1832 0.10972 0.04904 0.17181 0.07549 0.17569 0.07655
l -3e-3 0.0081
c 1.2294 0.59337 2.5915 0.87277 3.9956 0.81245-0.01-0.52035 0.10089-0.92992 0.26317-0.9391 0.16086-0.0099 0.31468 0.37818 0.3683 0.89041 4.5071-0.53693 6.447-4.6912 6.3331-7.3963-0.0614-1.4422-0.74683-6.1232-6.9095-7.2979 1.9339 0.61419 4.669 2.1043 5.2888 5.6832 0.22543 1.4376-0.25364 3.0325-1.2806 4.2718-0.99554 1.1994-2.3523 1.8842-3.8185 1.9286-1.4968 0.04551-2.8169-0.52035-3.7154-1.5953-0.8502-1.0185-1.2037-2.358-0.94474-3.5839 0.25082-1.1853 0.88971-2.1209 1.7981-2.6345 0.90346-0.50976 2.0306-0.57221 3.1768-0.17427 1.3903 0.48225 1.8549 1.8344 1.699 2.9602-0.0984 0.72425-0.43991 1.2887-0.90523 1.5663-0.82797 0.64206-2.0285 0.22966-2.3498-0.39899-0.25682-0.50482-0.22155-1.6118 0.768-1.7819 0.98954-0.17004 1.3737 0.84314 1.0686 1.095-0.30057 0.01411-0.64594 0.15769-0.58949 0.50059 0.0741 0.35701 0.53763 0.33902 0.86607 0.27905 0.42898-0.22648 0.68686-0.77611 0.76129-1.3134 0.13335-0.96908-0.26176-2.1329-1.445-2.5418-1.0548-0.36689-2.0436-0.31574-2.86 0.14464-0.81175 0.45755-1.384 1.3028-1.6108 2.3788-0.23565 1.1112 0.0871 2.3294 0.8636 3.2565 0.82056 0.98213 2.0313 1.5 3.4075 1.4584 1.3547-0.04127 2.6092-0.67663 3.5331-1.7896 0.95779-1.1553 1.4055-2.6367 1.1977-3.9631-0.92639-5.3375-6.8626-5.7767-6.9218-5.7824
l 4e-3 -0.06209
h -6.7927
c -0.0536 0.51611-0.48472 0.9211-1.0174 0.9211-0.53093 0-0.96203-0.40499-1.0174-0.9211
h -30.666
c -0.69567 0.2854-1.7544 0.87383-2.4991 1.9918-0.69251-1.0799-1.8835-1.693-2.6412-1.9918
h -4.9837
v -0.38593
h 4.7579
c 0.72348-0.25894 2.1007-0.88159 2.8677-2.0775 0.82902 1.2453 2.0486 1.8334 2.7206 2.0775
h 30.477
c 0.12136-0.4318 0.514-0.74965 0.98461-0.74965 0.47201 0 0.8636 0.31785 0.98566 0.74965
h 17.541
v 25.402
h -0.19226

wird in folgenden Code umgewandelt

(moveto 117.58 81.593)
(rlineto -1.6281 0)
(rlineto 0 -0.38559)
(rlineto 1.4348 0)
(rlineto 0 -6.6336)
(rcurveto -0.2921 -0.59831 -0.93804 -1.6626 -2.0348 -2.2542)
(rcurveto 0.88689 -0.647 1.6365 -1.3776 2.0348 -2.2747)
(rlineto 0 -1.8228)
(rcurveto -0.33161 -0.08573 -0.57785 -0.38523 -0.57785 -0.7426)
(rcurveto 0 -0.36054 0.24624 -0.65828 0.57785 -0.74436)
(rlineto 0 -8.6085)
(rcurveto -0.23107 -0.48507 -0.69321 -1.2051 -1.4778 -1.5494)
(rlineto -5.5989 0)
(rcurveto 5.3573 1.5635 5.9891 5.9619 6.0487 7.3805)
(rcurveto 0.10619 2.5082 -1.4647 6.2015 -5.0789 7.4362)
(rlineto 0.004 0.01023)
(rcurveto -0.0526 0.02187 -0.623 0.25929 -1.626 0.41592)
(rcurveto -0.0127 0.4512 -0.11571 0.78916 -0.26282 0.79728)
(rcurveto -0.14146 0.0081 -0.27869 -0.29563 -0.34537 -0.71931)
(rcurveto -1.3589 0.13547 -3.2918 0.08784 -5.6706 -0.61489)
(rcurveto -2.051 -0.60501 -4.482 -1.8768 -7.0573 -3.2237)
(rcurveto -3.4678 -1.8122 -7.0545 -3.6883 -10.073 -4.1279)
(rcurveto -3.7056 -0.53869 -5.8441 0.3041 -6.6096 1.2718)
(rcurveto -0.1524 0.19297 -0.25436 0.39546 -0.31115 0.60431)
(rcurveto 0.0113 0.21202 0.0843 0.40111 0.29845 0.45014)
(rcurveto 0.34395 0.06315 0.49353 -0.27834 0.5147 -0.57856)
(rcurveto 0.25717 -0.29951 1.2633 0.10619 1.071 1.0933)
(rcurveto -0.19332 0.9846 -1.3067 1.0054 -1.7999 0.72672)
(rcurveto -0.48401 -0.2734 -1.059 -1.3335 -0.1203 -2.473)
(rcurveto 0.0176 -0.02011 0.0293 -0.04198 0.0441 -0.06279)
(rcurveto 1.0788 -1.3631 3.683 -1.8898 6.9688 -1.4125)
(rcurveto 3.0829 0.44732 6.6989 2.3386 10.197 4.1674)
(rcurveto 2.5566 1.3374 4.9717 2.6003 6.9864 3.1948)
(rcurveto 0.9899 0.2921 1.9018 0.46602 2.7263 0.55986)
(rcurveto -0.5334 -0.15381 -1.0527 -0.35489 -1.5483 -0.60784)
(rcurveto -0.74084 -0.34325 -3.4138 -1.6891 -6.3465 -4.511)
(rcurveto -2.8102 -2.7072 -5.7718 -4.5731 -9.053 -5.7079)
(rcurveto -3.368 -1.1645 -8.6558 -1.21 -8.709 -1.2114)
(rlineto 0 -0.0014)
(rcurveto -0.84491 0.0039 -1.6235 0.0078 -2.2994 0.01341)
(rcurveto -5.5305 0.04269 -6.1697 0.64805 -6.3701 1.318)
(rcurveto -0.0684 0.22684 -0.0579 0.41734 -0.0127 0.5715)
(rcurveto 0.042 0.04022 0.0938 0.07056 0.16157 0.08467)
(rcurveto 0.33162 0.0628 0.47625 -0.2674 0.49636 -0.55668)
(rcurveto 0.2473 -0.28857 1.2185 0.10407 1.0322 1.0541)
(rcurveto -0.18485 0.94932 -1.2591 0.97014 -1.7342 0.70273)
(rcurveto -0.46955 -0.26599 -1.0245 -1.295 -0.10619 -2.3975)
(rcurveto 0.53799 -0.7433 2.0295 -1.1282 6.5292 -1.1635)
(rcurveto 5.5065 -0.04163 17.785 0 17.908 0)
(rlineto 0.40569 0)
(rcurveto -0.60466 0.24624 -1.0308 0.83926 -1.0308 1.5325)
(rcurveto 0 0.9144 0.73943 1.6542 1.6528 1.6542)
(rcurveto 0.91369 0 1.6531 -0.73978 1.6531 -1.6542)
(rcurveto 0 -0.69321 -0.42615 -1.2862 -1.0308 -1.5325)
(rlineto 5.51 0)
(rlineto -0.44556 0.34608)
(rcurveto -0.0229 0.0187 -2.3615 1.8718 -2.2387 5.1957)
(rcurveto 0.0614 1.6514 0.98566 3.4212 2.474 4.736)
(rcurveto 0.53234 0.47166 1.1137 0.86713 1.7293 1.1832)
(rcurveto 0.10972 0.04904 0.17181 0.07549 0.17569 0.07655)
(rlineto -0.003 0.0081)
(rcurveto 1.2294 0.59337 2.5915 0.87277 3.9956 0.81245)
(rcurveto -0.01 -0.52035 0.10089 -0.92992 0.26317 -0.9391)
(rcurveto 0.16086 -0.0099 0.31468 0.37818 0.3683 0.89041)
(rcurveto 4.5071 -0.53693 6.447 -4.6912 6.3331 -7.3963)
(rcurveto -0.0614 -1.4422 -0.74683 -6.1232 -6.9095 -7.2979)
(rcurveto 1.9339 0.61419 4.669 2.1043 5.2888 5.6832)
(rcurveto 0.22543 1.4376 -0.25364 3.0325 -1.2806 4.2718)
(rcurveto -0.99554 1.1994 -2.3523 1.8842 -3.8185 1.9286)
(rcurveto -1.4968 0.04551 -2.8169 -0.52035 -3.7154 -1.5953)
(rcurveto -0.8502 -1.0185 -1.2037 -2.358 -0.94474 -3.5839)
(rcurveto 0.25082 -1.1853 0.88971 -2.1209 1.7981 -2.6345)
(rcurveto 0.90346 -0.50976 2.0306 -0.57221 3.1768 -0.17427)
(rcurveto 1.3903 0.48225 1.8549 1.8344 1.699 2.9602)
(rcurveto -0.0984 0.72425 -0.43991 1.2887 -0.90523 1.5663)
(rcurveto -0.82797 0.64206 -2.0285 0.22966 -2.3498 -0.39899)
(rcurveto -0.25682 -0.50482 -0.22155 -1.6118 0.768 -1.7819)
(rcurveto 0.98954 -0.17004 1.3737 0.84314 1.0686 1.095)
(rcurveto -0.30057 0.01411 -0.64594 0.15769 -0.58949 0.50059)
(rcurveto 0.0741 0.35701 0.53763 0.33902 0.86607 0.27905)
(rcurveto 0.42898 -0.22648 0.68686 -0.77611 0.76129 -1.3134)
(rcurveto 0.13335 -0.96908 -0.26176 -2.1329 -1.445 -2.5418)
(rcurveto -1.0548 -0.36689 -2.0436 -0.31574 -2.86 0.14464)
(rcurveto -0.81175 0.45755 -1.384 1.3028 -1.6108 2.3788)
(rcurveto -0.23565 1.1112 0.0871 2.3294 0.8636 3.2565)
(rcurveto 0.82056 0.98213 2.0313 1.5 3.4075 1.4584)
(rcurveto 1.3547 -0.04127 2.6092 -0.67663 3.5331 -1.7896)
(rcurveto 0.95779 -1.1553 1.4055 -2.6367 1.1977 -3.9631)
(rcurveto -0.92639 -5.3375 -6.8626 -5.7767 -6.9218 -5.7824)
(rlineto 0.004 -0.06209)
(rlineto -6.7927 0)
(rcurveto -0.0536 0.51611 -0.48472 0.9211 -1.0174 0.9211)
(rcurveto -0.53093 0 -0.96203 -0.40499 -1.0174 -0.9211)
(rlineto -30.666 0)
(rcurveto -0.69567 0.2854 -1.7544 0.87383 -2.4991 1.9918)
(rcurveto -0.69251 -1.0799 -1.8835 -1.693 -2.6412 -1.9918)
(rlineto -4.9837 0)
(rlineto 0 -0.38593)
(rlineto 4.7579 0)
(rcurveto 0.72348 -0.25894 2.1007 -0.88159 2.8677 -2.0775)
(rcurveto 0.82902 1.2453 2.0486 1.8334 2.7206 2.0775)
(rlineto 30.477 0)
(rcurveto 0.12136 -0.4318 0.514 -0.74965 0.98461 -0.74965)
(rcurveto 0.47201 0 0.8636 0.31785 0.98566 0.74965)
(rlineto 17.541 0)
(rlineto 0 25.402)
(rlineto -0.19226 0)

Danke für eure Hilfe
viele Grüße
-- Manuela