"?" statt Sonderzeichen in der Ausgabe

Begonnen von l3u, Mittwoch, 19. September 2018, 21:29

« vorheriges - nächstes »

l3u

Hallo :-)

Ich habe ein Problem mit Lilypond 2.19.80: Wenn ich im Quelltext Nicht-ASCII-Zeichen benutze, z. B.
\header {
    composer = "Musik & Text: Hans-Jürgen Buchner"
}

dann steht in der Ausgabe ein ? statt dem Zeichen, in diesem Fall z. B. ,,Musik & Text: Hans-J?rgen Buchner".

Das finde ich jetzt ein bisschen komisch, weil ich schon eine ganze Zeit mit Lilypond arbeite (allerdings jetzt seit längerem erstmals wieder), und noch nie Encoding-Probleme hatte! Bisher hat es immer das ausgespuckt, was ich eingegeben habe.

Die Quelldatei ist auch (wie immer) UTF-8-kodiert. Auch, wenn ich das Zeichen nicht direkt, sondern über den \char-Befehl in einer \markup-Umgebung eingebe (in diesem Fall \char ##x00FC), bekomme ich ein Fragezeichen in der Ausgabe.

Was ist da los?!

harm6

Ich bekomme:
Musik & Text: Hans-Jürgen Buchner
bzw für
\markup \char ##x00FC
kommt das "ü".
Für 2.19.82 installiert via installer auf Ubuntu-18.04

Wenn ich allerdings eine aus dem repository mit guilev2 compilierte Version verwende (ohne vorher die dafür benötigten patches draufzuschmeissen), dann habe ich auch die Fragezeichen.

Wie hast Du 2.19.80 installiert?
Aus der distribution heraus? Wenn ja, welcher?
Via installer?
Selbst kompiliert?
Welches Betriebssystem?
Welche guile-version?

Gruß,
  Harm


l3u

Na Gott sei Dank kann das sonst noch jemand reproduzieren ;-)

Ich habe Lilypond auf Gentoo aus dem normalen Main Tree gebaut. Es ist dev-scheme/guile-2.0.14 installiert. Der Build ist also quasi ein ,,normaler", also wie man die Quelltexte ,,einfach so" baut.

Wenn du jetzt schreibst, dass du die Fragezeichen auch hast wenn du ,,nicht die benötigten Patches" anwendest: Welches Patchset benutzt du denn? Ich würde dann einfach mal per Trial and Error den Patch ausfindig machen, der offensichtlich bei Gentoo fehlt. Ich dachte mir schon, dass das ein Gentoo-Problem ist und kein Upstream-Bug. Ich hab gestern gleich noch einen Bug aufgemacht: https://bugs.gentoo.org/666582 und da würde ich dann einfach den nötigen Patch posten.

Vielen Dankk schonmal für die Unterstützung!

harm6

Nur ganz kurz, muß zur Arbeit :(

guile-2.0.14 ist das Problem.
Mehr heute abend.

Gruß,
  Harm



harm6

Hallo,

ein kurzer Rückblick:
Seit guile-2.0 war LilyPond nicht mehr mit dieser und höheren guile-Version kompilierbar. Das lag unter anderem daran, daß schwerwiegende bugs eingeführt und erst nach Jahren gefixt wurden. Wenn ich mich recht erinnere mit guile-2.0.11.

Erst dann wurde es möglich patches zu erstellen, die LilyPond mit diesen Versionen kompilierbar macht, mehr oder weniger...
Ein anderes nachwievor bestehendes Problem sind encodings.
Es kann zwar jetzt alles korrekt dargestellt werden, doch hat sich LilyPond deutlich verlangsamt :((

guile 2.0.14 ist in diesem Punkte den neueren Versionen deutlich unterlegen.
Falls Du unter diesem Gesichtspunkt überhaupt guilev2 verwenden möchtest, solltest Du guile-2.2.4 nehmen. Afaik, die neuste guile-stable.
Es kann allerdings sein, daß neben der Verlangsamung auch noch weitere bislang unbekannte bugs auftauchen.
Eigentlich ist LilyPond noch auf guile-1.1.8 ausgerichtet...

Aber wenn Du's wirklich willst, so folge meinen Anweisungen aus obigem link.
Hier nochmal auf deusch
(1)
Verwende alle dort angehängten patches, möglicherweise gibt es merge-conflicts. In diesem Fall bevorzuge was bereits im source-code ist.
(2)
Benutze
configure mit --enable-guile2

Ich weiß allerdings kaum etwas über gentoo. Eigentlich hätte ich erwartet, daß LilyPond mit guile-2.0.14 überhaupt nicht ans laufen zu bekommen ist (ohne die relevanten patches)
Möglicherweise haben die gentoo-Leute also schon irgendwas gepatched. Was dann noch fehlt ahne ich nicht einmal.


Berichte doch über bitte Deine Fortschritte ;)


Gruß,
  Harm

l3u

Hey, danke für die Info! Ich kann das Patchset fast komplett anwenden (Nr. 13 musste ich weglassen). Danach scheint Lilypond auch wieder mit Umlauten umgehen zu können.

Aber besser wär's natürlich, wenn man standardmäßig gegen die alte guile-Version baut, wenn Lilypond eigentlich noch gar nicht für die neue gedacht ist.

Ich werd das mal in meinem Bugreport zusammenschreiben. Schaumermal, was passiert ;-)

harm6

Schön, daß es jetzt klappt.

Aber warum mußt Du Nr. 13 weglassen?
Da geht es darum, daß ly:protect ab guile-2.2.1 nicht mehr unterstützt wird.
Für guile-2.2.x muß er rein und für niedrigere guile-Versionen sollte es keinen merkbaren Unterschied geben.

Gruß,
  Harm

harm6

ZitatIch werd das mal in meinem Bugreport zusammenschreiben. Schaumermal, was passiert ;-)

Da hab ich jetzt mal reingeschaut.

Ich zitiere von
https://bugs.gentoo.org/666582
Zitat von: Jouni Kosonen(In reply to Tobias Leupold from comment #2)
Zitat von: l3u> This (German) forum thread https://lilypondforum.de/index.php/topic,355.0.html links to a GNU mailing list post: http://lists.gnu.org/archive/html/bug-lilypond/2018-06/msg00011.html which includes a patchset to make Lilypond somewhat work with guile 2.

Those are the relevant patches originally from the "guile-v2-work" branch in the lilypond git repository.
(Ich hab'keinen account dort, so diese umständliche Zitererei...

Jouni Kosonen hat nur teiweise recht:
Die patches 13-15 aus meinem link sind nicht Teil dieses branch.
Ein paar patches aus dem "guile-v2-work" branch habe ich auch bereits in überarbeiteter Form in master integriert.
Der "guile-v2-work"-branch sollte mal ein update erfahren. Ich weiß auch wer verprochen hat sich darum zu kümmern. Öhmmm ...

Wie dem auch sei...

Um das Problem aus patch-13 hat sich gentoo also offensichtlich bereits selbst gekümmert.
patch-14 stellt nur überflüssige Warnungen ab.
Aber patch-15 ist wichtig, falls man file-Names mit Sonderzeichen verwendet.

Vielleicht kannsr Du das dort noch anmerken.

Gruß,
  Harm



l3u

Na klar, ist immer super, wenn man Informationen direkt von Upstream bekommt :-) Vielen Dank!

harm6

Btw
https://bugs.gentoo.org/show_bug.cgi?id=648438
wird mit besagtem patch-set wahrscheinlich ebenfalls gefixt.

Gruß,
  Harm