Unicode-Zeichen

Begonnen von Silvester, Montag, 2. September 2024, 18:39

« vorheriges - nächstes »

Silvester

Hallo, Freund:innen der gedruckten Musik,
ich versuche ein Unicode-Zeichen (nämlich U+1F918 bzw. 🤘 ) in einer markup-Umgebung zu verwenden, etwa so:


\version "2.22.1"
{ c1^\markup { x } }


nur, dass statt dem "x" das Zeichen stehen soll.
Ich verwende Frescobaldi unter Linux Mint.

Laut Dokumentation sollte es etas so aussehen:

\markup { \char ##x03A8 }

nur weiß ich nicht wie vom "U+1F918" auf diese ##x.... Darstellung komme.
Die utf-8 Codierung ist 0xF0 0x9F 0xA4 0x98 aber damit geht es nicht (weil 4 statt einem Block).

Das Zeichen direkt enfügen geht zwar, kompiliert dann aber nicht.

In anderer Software, z.B. LibreOffice Writer, geht es; Dort ist das Zeichen z.B. in der Schrift "Noto Color Emoji" zu finden.
Danke
 

harm6

Hallo,

ich habe auch immer Probleme, wenn ich das char-markup verwenden muss. Glücklicherweise kommt das immer seltener vor seit LilyPond Guilev2 bzw Guilev3 verwendet.

Tatsächlich kann ich
\markup { 🤘 }
\markup { \char #129304 }
in 2.22.2 erfolgreich kompilieren. Erfolgreich bedeutet hier: ein pdf wird ausgegeben. Für 🤘 wird aber nichts gedruckt.
Allerdings gibt es warnings/errors:
Zitat von: terminalGNU LilyPond 2.22.2
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
[...]
programming error: Glyph has no name, but font supports glyph naming.
Skipping glyph U+24A2, file /usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf
continuing, cross fingers

Mit 2.24.3 verschwindet die "Fontconfig warning" der "programming error" ist aber derselbe. Auch mit dieser Version entsteht ein scheinbar leeres pdf.

Mit 2.25.19 ist auch der "programming error" weg und das pdf wie gewünscht.

Also mach ein update.
Ich bin aber wahrlich kein font-Experte, vielleicht weiss jemand mit entsprechender Expertise ja noch mehr.

Gruß,
  Harm

P.S. \char #129304 habe ich gefunden indem ich guile-3-Funktionalität auf 🤘 angewendet habe:
scheme@(guile-user)> (use-modules (ice-9 unicode))
scheme@(guile-user)> (char->formal-name #\🤘)
$5 = "SIGN OF THE HORNS"
scheme@(guile-user)> (char->integer #\🤘)
$6 = 129304
scheme@(guile-user)>
Da LilyPond-2.22.2 aber noch guile-1 verwendet, ist dieser Weg für Dich nicht offen.
Noch ein Grund fürs update ...

Silvester

Danke, es geht jetzt!
Um es für andere nachvollziehbar zu machen, ich habe folgendes gemacht:

- Die aktuelle Version von Lilypond (2.25.19) heruntergeladen und entpackt.
- Den entpackten Ordner an einem geeignete Ort abgelegt
- in Frescobaldi: Unter: Bearbeiten > Einstellungen > LilyPond-Einstellungen auf "+ Hinzufügen..." geklickt und den den Pfad zur neuen Version -  hinzugefügt. Dadurch können sowohl die alte als auch die neue Version verwendet werden.
- Im File auf >\version "2.25.19"< ändern (am Anfang)

Nun klappt das Kompilieren aber das Zeichen fehlt und es gibt die Meldung:
"Warnung: no glyph for character '🤘' (U+1F918 SIGN OF THE HORNS) in font..."
(was lustig ist, weil das Zeichen in der Fehlermeldung ohne Probleme dargestellt wird..)

Also noch folgendes:
- Die Schrift "nishiki-teki-font" heruntergeladen und entpackt (Hier gibt es das Zeichen in schwarzweiß was mir besser gefällt weil das gelb auf Ausdrucken sowieso verschwindet)
- Mit dem Hilfsprogramm "Font Manager" die Schrift "installiert" (was so wie ich das verstehe heißt, die Schrift in den richtigen Ordner verschieben...)

Nun klappt es.
Gruß, Silvester