Autor Thema: Portables LilyPond und GhostScript  (Gelesen 3672 mal)

db5fx

  • Gast
Portables LilyPond und GhostScript
« am: Sonntag, 5. Januar 2014, 21:35 »
Ein frohes Neues zusammen!

Ich bin dabei, mir ein portables LilyPond auf einem USB-Stick für Win (XP) zu basteln. Dabei verwende ich notepad++ und SumatraPDF, sowie ein paar eigene Batchskripte zum Compilieren mit automatischem Rücksprung in den Quelltext bei Fehlern und Rückwärtssuche aus dem PDF-Viewer.

Das klappt soweit hervorragend. Jetzt brauche ich unabhängig davon auch GhostScript.

==> Meine Frage: ist es irgendwie möglich, das GhostScript von LilyPond als Konsolenprogramm mitzubenutzen? Zwei Tage Google waren bis jetzt etwas erfolglos ...  :-\

Grüße, Andi

db5fx

  • Gast
Re: Portables LilyPond und GhostScript
« Antwort #1 am: Montag, 6. Januar 2014, 16:45 »
Ich antworte mir mal selbst:

==> Meine Frage: ist es irgendwie möglich, das GhostScript von LilyPond als Konsolenprogramm mitzubenutzen?

Ja, es geht. Ist aber umständlich.

Erstens:
gs.exe hat keine Bildschirmausgabe. Ausgaben müssen also mit gs ... > logfile.txt 2> errfile.txt umgeleitet werden.

Zweitens:
Irgendwie schafft es LilyPond, dass gs denkt, das Lilypond Verzeichnis (c:\Programme\LilyPond) sei das System-Stammverzeichnis (c:\). gs findet seine Resourcen und Fonts entsprechend.
Wird gs "von Hand" aufgerufen, so müssen alle Suchpfade mit angegeben werden, entweder als Parameter gs -I c:/Programme/LilyPond/usr/share/ghostscript/8.70/lib/;... ^
   -sFONTPATH=c:/Programme/LilyPond/usr/share/ghostscript/8.70/Resource/Font;c:windows/fonts/ ^
   ...
oder als Umgebungsvariablen: set GS_LIB=c:/Programme/LilyPond/usr/share/ghostscript/8.70/lib/;...
set GS_FONTPATH=c:/Programme/LilyPond/usr/share/ghostscript/8.70/Resource/Font;c:/windows/fonts/
gs ...


===> Neue Frage: geht das wirklich nicht einfacher? Wie macht es LilyPond?

Grüße, Andi

PS: möchte eigentlich jemand wissen, wie ich LilyPond portabilisiert habe? Wenn ja, dann stelle ich eine Anleitung rein. ;)

Arnold

  • Gast
Re: Portables LilyPond und GhostScript
« Antwort #2 am: Mittwoch, 8. Januar 2014, 13:41 »
Hallo,

ich habe in der Vergangenheit PS-Dateien aus einem CAD-Programm "per Kommandozeile" in PDF (oder TIFF) konvertiert.
Dazu nutzte ich den Weg mit den Umgebungsvariablen - wenn ich mich recht entsinne, macht das Lilypond genauso.

Aus dieser (Uralt)-Installation:
GS_LIB bestimmt den Suchpfad seiner Module, eventuell auch der mitgebrachten Fonts, z. Bsp.: GS_LIB=D:\gstools\gs6.01\lib;D:\gstools\fonts
GS_DLL bestimmt noch die notwendige Haupt-DLL - würde zu Problemen führen, wenn eine andere Installation (Version) von Gostscript diese schon gesetzt hätte und nicht korrigiert wird - z. Bsp.: GS_DLL=D:\gstools\gs6.01\lib\gsdll32.dll

In einem hartnäckigen Fall mußte ich sogar noch PATH (die GS-Verzeichnisse meiner Version zuerst), GS_EXE und USERPROFILE (auf ein leeres Verzeichnis) setzen, damit es lief; und GS_BIN zeigt bei mir traditionellerweise auf das Verzeichnis mit der EXE-Datei von Gostscript.

Arnold

db5fx

  • Gast
Re: Portables LilyPond und GhostScript
« Antwort #3 am: Donnerstag, 9. Januar 2014, 11:33 »
Hallo Arnold!

Ja ich habe mir so etwas gedacht. Allerdings scheint es bei LP einfacher zu sein, in /usr/etc/relocate/*.reloc habe ich die Hinweise gefunden, um die Pfade richtig zu setzen. Das ist wohl in lilypond.exe eincompiliert.

Jedenfalls habe ich es gut hinbekommen, das LilyPond eigene GhostScript mitzubenutzen. Nervig ist nur die Log- und Fehlerbehandlung über die std-pipes.

Grüße, Andi