Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Arnold am Montag, 27. April 2020, 08:27

Titel: \postscript mit Library-Ergänzung
Beitrag von: Arnold am Montag, 27. April 2020, 08:27
Hallo zusammen - vor allem den SCHEME-Experten.

Ich möchte das \postscript-Kommando erweitern um »einzubindende Bibliotheken«.

Diese Bibliotheken können Definitionen von Postscript-Operationen sein, aber genauso eine PS-Font-Definition (der Type-3-Font wird gerne für Logos verwendet). Eine solche Font-Definition ist dann auch im PDF vorteilhaft, wenn das Logo häufig verwendet wird, da es dann die Dateigröße kleiner hält.

In meinem Anwendungscode möchte ich zuerst die »Bibliothek« definieren, also in der Regel einen Dateinamen (irgendwo im Suchpfad für die LY-Dateien), und dem ein Symbol zuordnen.

In den entsprechenden Markups wird dann eine Erweiterung der \postscript-Anweisung aufgerufen - als weiteres Funktionsargument wird das oben genannte Symbol (bzw. eine Liste von Symbolen) übergeben, welche(s) beschreibt, welche der deklarierten Postscript-Resourcen dazu benötigt wird/werden.

Bei der Ausgabe in die PS-Datei muß nun also geprüft werden, ob die angeforderte Postcript-Resource schon ausgegeben wurde, und falls noch nicht wird diese vorangestellt. Damit möchte ich sicherstellen, daß die Resource nur einmal in die PS-Datei exportiert wird, und daß diese bei mehrfacher Anforderung nicht zu spät übertragen wird.

Mein Versuch, diese stencil-output-Funktion in der Anwender-Ebene zu definieren schlug fehl, (ly:register-stencil-expression 'embedded-ps-with-lib) genügte nicht. Erst als ich sie direkt in .../output-ps.scm definierte, konnte ich sie aufrufen, dann aber weder ein Symbol noch eine association-list an diese Funktion übergeben.


Arnold