Wie kann ich die Schriftart für \number ändern? (hinreichende Lös. selber gef.)

Begonnen von Manuela, Donnerstag, 27. April 2017, 09:05

« vorheriges - nächstes »

Manuela

Es ist eigentlich nur ein kosmetisches Problem...
Ich mische verschiedene MusicFonts, weil mir die Noten von dem einen Font besser gefallen, die Klammern von einem anderen. Das Pedalzeichen verwende ich vom Emmentaler Font, das funktioniert soweit.

Hier ein Beispiel:

\version "2.19.56"
\paper {
  #(define fonts
     (set-global-fonts
      #:music "ross"
      #:brace "gonville"
      ;#:number "Emmentaler"
      #:factor (/ staff-height pt 20)
      ))
  #(add-music-fonts fonts 'emm "emmentaler" "emmentaler"
     feta-design-size-mapping (/ staff-height pt 20))
}

\score {
  \new Staff
  {
    \textLengthOn
    \override TextScript.font-family = #'emm
    \override Staff.SustainPedal.font-family = #'emm
    s1-\markup { "Pedal Glyph" \musicglyph #"pedal.Ped" as markup }
    \break
    c''1-\sustainOn-\markup
    { "Pedal Glyph as Dynamic script" }
    \break
    c''-\markup { \number "1234" }
  }
}
%% und jetzt außerhalb eines Scores
\markup "Ross Nummern"
\markup \number \fontsize #6 "1234"
\markup "noch immer Ross Nummern trotz \override #'(font-family . 'emm)"
\markup { \override #'(font-family . 'emm)
  \number \fontsize #6 "1234" }


Mir gefallen die Ziffern vom Ross-Font jedoch nicht so gut, die sind mir zu klobig, ich hätte gerne die Nummern vom Emmentaler-Font. Text innerhalb eines Scores ist kein Problem, das kann ich mit einem Context-Befehl lösen, auch die Fingersätze. Nur bei Markup will es mir nicht gelingen.

Lt. meinen Recherchen gab es früher die Möglichkeit #:number "Emmentaler" einzusetzen (in meinem Beispiel auskommentiert, da es zu einer Fehlermeldung führt), die vermutlich den gewünschten Effekt gebracht hätte. Wie kann ich es erreichen, dass generell bei jedem Kommando \number der gewünschte Font verwendet wird? Geht das überhaupt?
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Wohin haben dich deine Recherchen geführt? Ich erinnere mich schwach an mehrere solche Dinge, aber bevor ich jetzt das Suchen anfange, hast du ja vielleicht schon genau diese Quellen gefunden ;) Darauf aufbauend könnte man dann weiter schauen.

Manuela

\number ist als Markup-Command in der Datei define-markup-commands.scm definiert, aber ich werde nicht so recht schlau aus dem Code

(define-markup-command (number layout props arg)
  (markup?)
  #:category font
  "Set font family to @code{number}, which yields the font used for
time signatures and fingerings.  This font contains numbers and
some punctuation; it has no letters.

@lilypond[verbatim,quote]
\\markup {
  \\number {
    0 1 2 3 4 5 6 7 8 9 . ,
  }
}
@end lilypond"
  (interpret-markup layout (prepend-alist-chain 'font-encoding 'fetaText props) arg))


Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Zitat von: Manuela am Donnerstag, 27. April 2017, 09:05
Lt. meinen Recherchen gab es früher die Möglichkeit #:number "Emmentaler" einzusetzen (in meinem Beispiel auskommentiert, da es zu einer Fehlermeldung führt), die vermutlich den gewünschten Effekt gebracht hätte.
Die Quelle dazu meinte ich ... diese Info kann ich aber aus deinem letzten Beitrag nicht ablesen ;)

Manuela

Zitat von: Malte am Donnerstag, 27. April 2017, 20:09
Die Quelle dazu meinte ich ... diese Info kann ich aber aus deinem letzten Beitrag nicht ablesen ;)

Ach so, das meintest du.

Ich glaube, es war hier auf dieser Seite Alte Lilypond Doku, oder habe ich etwas missverstanden? Gut, das Kommando set-global-fonts gab es zu dieser Zeit noch nicht (Version 2.10)
Danke für eure Hilfe
viele Grüße
-- Manuela

Manuela

So, ich habe jetzt eine Lösung gefunden, die für mich ausreichend ist.

\version "2.19.56"

\paper {
  #(define fonts
     (set-global-fonts
      #:music "ross"
      #:brace "gonville"
      #:factor (/ staff-height pt 20)
      ))
  #(add-music-fonts fonts 'emm "emmentaler" "emmentaler"
     feta-design-size-mapping (/ staff-height pt 20))
}
#(define-markup-command (circle-bold layout props zahl)
   (number?)
   (interpret-markup layout props
     #{ \markup \number
        \fontsize #6
        \override #'(font-family . emm)
        \override #'(circle-padding . 0.5)
        \override #'(thickness . 2)
        \circle
        { #(format #f "~a" zahl) } #}) )

\markup {
  \center-column { \circle-bold #1234 }
}


Danke für eure Hilfe
viele Grüße
-- Manuela