lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue 1129: Font styles return to default when font size changed


From: Abraham Lee
Subject: Re: Issue 1129: Font styles return to default when font size changed
Date: Fri, 08 Aug 2014 18:09:07 -0006

On Fri, Aug 8, 2014 at 10:35 AM, Hilary Snaden <address@hidden> wrote:
On 2014-08-08 09:35, tisimst wrote:
On Fri, Aug 8, 2014 at 2:21 AM, Hilary Snaden [via Lilypond] <address@hidden> wrote:
Is this likely to be resolved? Perhaps a more fully-functioning workaround? I'm not nearly clever enough to do either myself, and it looks as though I must generate a series of scores with manually-set page numbers (and blank pages) and combine them with pdftk.
Hilary, What exactly are you wanting to do? Maybe there's a workaround... -Abraham
Hi Abraham I'm combining the scores of a number of songs into a single book. At 20pt, the songs (so far) range from one to six pages long. I want to set smaller staff/font sizes for some of the songs to keep page turns more manageable, while retaining my preferred fonts (Linux Libertine and Biolinum).
--
Hilary

Hilary,

There (still) isn't a good answer to meet your needs. However, if you don't intend to make the non-default staffs too much larger/smaller, then you can do something like this and the fonts get preserved. So, here's something that may get you through what you need. Be aware, however, that the horizontal spacing doesn't scale with the changes, unfortunately, but keeping your scaled scores within -3 to +3 should still be okay if they aren't too complex:

\version "2.18.2"

\paper {
  indent = 0
}

\paper {
  #(define fonts
     (make-pango-font-tree
      "Linux Libertine O"
      "Linux Biolinum O"
      "monospace"
      (/ staff-height pt 20)))
}

pattern = \repeat unfold 4 { c'4 d' e' f' }
words = \repeat unfold 4 \lyricmode { one two three four }

\score {
  <<
    \new Staff {
      \new Voice= "one" \pattern
    }
    \new Lyrics \lyricsto "one" {
      \words
    }
  >>
  \header {
    piece = "Normal Size"
  }
  \layout {}
}

\score {
  <<
    \new Staff {
      \new Voice= "one" \pattern
    }
    \new Lyrics \lyricsto "one" {
      \words
    }
  >>
  \header {
    piece = "Smaller Size (-3)"
  }
  \layout {
    \context {
      \Staff
      fontSize = #-3
      \override StaffSymbol.staff-space = #(magstep -3)
    }
    \context {
      \Lyrics
      \override LyricText.font-size = #-3
      \override LyricText.font-family = #'sans  % for example, but unnecessary
    }
  }
}

\score {
  <<
    \new Staff {
      \new Voice= "one" \pattern
    }
    \new Lyrics \lyricsto "one" {
      \words
    }
  >>
  \header {
    piece = "Larger Size (+3)"
  }
  \layout {
    \context {
      \Staff
      fontSize = #3
      \override StaffSymbol.staff-space = #(magstep 3)
    }
    \context {
      \Lyrics
      \override LyricText.font-size = #3
    }
  }
}

The underlying problem you are seeing in Issue 1129 comes from a line of code that redefines the "fonts" variable when you call "#(layout-set-staff-size ...)" in the \layout block. In addition, this function doesn't seem to scale the staff-height correctly for some reason when it shows up in the \layout block.

Hope that helps!
-Abraham

reply via email to

[Prev in Thread] Current Thread [Next in Thread]