Deutsches Lilypond Forum (Archiv)
Allgemein => Hilfe beim Einstieg in Lilypond => Thema gestartet von: Marioverehrer am Mittwoch, 22. Mai 2013, 10:54
-
Hallo zusammen,
bei mir tritt immer wieder das Problem auf, dass einige Schriftarten nicht übernommen werden und stattdessen durch eine andere Schriftart ersetzt werden. Dies betrifft nicht nur einige selbstinstallierte Fonts, sondern auch bekannte Schriftarten wie "Times New Roman". Die Schriftart, die stattdessen dargestellt wird, ist nicht immer gleich und ich kann auch nicht auf Anhieb sagen, um welche es sich da jeweils handelt.
Tritt bei euch dasselbe Problem auch auf und wisst ihr eine Lösung, wie man diese doch in Lilypond verwenden kann?
Benutzen tue ich die aktuelle stabile Lilypond-Version 2.16.2. Ich freue mich auf eure Antworten.
Grüße,
Mario
-
Hallo Mario,
herzlich willkommen im Forum.
Allgemein kann ich im Moment nur sagen, daß eine Schriftart dann nicht erkannt wird, wenn LilyPond sie nicht kennt.
D.h. - Die Schriftart existiert nicht auf dem Rechner.,oder
- Der Befehl diese Schriftart zu benutzen ist falsch formuliert, steht an der falschen Stelle, etc, oder
- Tippfehler, oder
- ...
Es wäre hilfreich, wenn Du ein kurzes, kompilierbares Beispiel mit Angabe der LilyPond-Version posten könntest, welches das Problem hervorruft.
Gruß,
Harm
EDIT:
In der Vergangenheit kam es vor, daß gerade Windows mitunter Probleme hatte.
Insofern wäre die Angabe Deines Betriebssystems ebenfalls sinnvoll.
-
Ich benutze in der Tat Windows 7.
Die Schriftarten sind auf jeden Fall auf meinem Rechner installiert und werden auch von Frescobaldi zur Auswahl angeboten.
Ob mein Code zu 100% richtig ist, kann ich natürlich nicht sagen, ich werde heute Abend ein Snippet davon nachreichen.
Gruß,
Mario
-
Hallo,
mit der debug-option kann man Lilypond dazu bringen, neben vielen anderen Information auch anzuzeigen, welche Fonts es (bzw. das eingebundene Pango) benutzt.
In der Kommandozeile ist das leicht als lilypond -l DEBUG ... 2>lily_err.txt anzugeben - ich habe an diesem Beispiel gleich die "Fehlermeldungen" in eine Datei umgeleitet, denn da gibt's unter Windows leider meistens Zeichenkodierungsunverträglichkeiten.
Aber, wie der DEBUG-Output unter Frescobaldi erzeugt und eingesehen werden kann, fehlt mir das Wissen.
Arnold
-
Hallo Mario,
ich hatte mit Windows (allerding XP) auch mal das Problem, daß manche Fonts nicht benutzt werden konnten.
Abhilfe könnte bringen, den Cache von fontconfig zu aktualisieren:
<Kommandozeile>fc-cache
fc-cache wird mit den LilyPond Binaries ausgeliefert und scannt (evtl. gezielt Dein Font-Directory angeben) die installierten Schriften, um sie dem Cache hinzuzufügen.
Viele Grüße
Torsten
-
Der Kommandozeilenbefehl "fc-cache" hat bei mir leider keine Änderungen verursacht, die lil_error.txt, die ich mit Arnolds Befehl erstellt habe, habe ich in den Anhang gepackt, sehr viel anfangen kann ich damit selbst leider nicht.
Ein Snippet meines verwendeten Codes wäre folgendes:
\version "2.16.2"
\header {
title = \markup { \override #'(font-name . "Times New Roman") \override #'(font-size . 8) "Test Title" }
composer = \markup { \override #'(font-name . "Times New Roman") \override #'(font-size . 1) "Test Composer" }
arranger = \markup { \override #'(font-name . "Book Antiqua") \override #'(font-size . 1) "Test Arranger" }
tagline = ##f
}
PartPOneVoiceOne = \relative d' {e}
PartPOneVoiceTwo = \relative d' {e}
PartPOneVoiceThree = \relative d' {e}
\score {
<<
\new PianoStaff <<
\set PianoStaff.instrumentName = "Piano"
\context Staff = "1" <<
\context Voice = "PartPOneVoiceOne" { \voiceOne \PartPOneVoiceOne }
\context Voice = "PartPOneVoiceTwo" { \voiceTwo \PartPOneVoiceTwo }
>> \context Staff = "2" <<
\context Voice = "PartPOneVoiceThree" { \PartPOneVoiceThree }
>>
>>
>>
\layout {}
}
Viele Grüße,
Mario
-
Hallo,
in der Debug-Ausgabe kann ich ganz zum Schluß nur erkennen, daß nachdem das von LILYPOND mitgelieferte Schriftartenverzeichnis (C:/Program Files/LilyPond/usr/share/lilypond/current/fonts/otf) hinzugefügt wurde, die Datei "..." garnicht gefunden wurde.
Hast Du etwa die drei Punkte nicht durch den Namen Deiner LY-Datei ersetzt?
(Das habe ich stillschweigend als Selbstverständlichkeit vorausgesetzt)
Übrigens, man sollte auch mit dem Commandointerpreter vorher in das Verzeichnis wechseln, in dem die zu übersetzende LY-Datei liegt.
Im Ergebnis sollte auf jeden Fall gegen Ende in der Protokolldatei stehen, welche Font-Dateien (incl. Pfad) LILYPOND wirklich benutzt hat.
Arnold