lilypond-user
[Top][All Lists]
Advanced

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

Re: Scaling global staff size without scaling Lyrics in LilyPond version


From: Alexander Kobel
Subject: Re: Scaling global staff size without scaling Lyrics in LilyPond version 2.18.2.
Date: Wed, 21 Dec 2016 00:07:50 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

Hi Miroslaw.

On 2016-12-20 21:11, Mirosław Doroszewski wrote:
\version "2.18.2"
\include "deutsch.ly"

%{
Scaling global staff size without scaling Lyrics in LilyPond version 2.18.2.

1. It can be happen: when font size is set for lyrics, that titles are
smaller then lyrics.
a) I do not know how increase font size for titles. I tried some ways
according to manuals but they did not help.

You can use
  title = \markup { \abs-fontsize #16 "Text" }
See Notation Reference (NR), section A.11.1.

b) Changing staff size with setting font families for entire document
(non 20pt) implies ugly effect.

Depends; ugliness is in the eye of the beholder.

2. When customer wants to set variable staff size and get the same
size of lyrics for each staff size, he need to set font size of
lyrics' context for each staff size separately.

Correct. That's by design.
To follow up on on Simon's comment about appropriate behavior on the list, though: we prefer the term "user" over "customer", because "customers" tend to pay for what they get.

3. For instance to get real font size for lyrics 10pt for paper size A6:
a) when staff size = 12pt, font size overriding of lyrics = 3.7;
b) when staff size = 16pt, font size overriding of lyrics = 1.3.

Indeed, this is non-obvious. You can use the following approach:

\version "2.18.2"
globalStaffSize = #12
#(set-global-staff-size globalStaffSize)
\layout {
  \context {
    \Lyrics
    \override LyricText.font-size =
    #(- (magnification->font-size (/ 72 11))
       (magnification->font-size (/ globalStaffSize 20)))
  }
}
{ c'4 c' c' c'}
\addlyrics { a \markup \abs-fontsize #72 a b b }

Where you replace the 12 in line 2 by your desired staff size in pt, and the 72 in line 8 by the desired font size in pt.

4. So, please, make solution and describe it in manual.

Note that I'm around for a while, but I did not bathe in the source code on that topic to find the solution. True: I had the ingredients in my mind. Not out of nowhere, but from reading the fine manuals: Everything used above /is/ documented in the NR, you just have to search - in particular, in NR 1.7.1, 1.8.3, and 4.2.2. (Okay, except magnification->font-size; but this could be replaced by a few more computations. No magic in there.)

Yes, this is not the most intuitive way to achieve a fixed pt font size, but there are reasons. Yes, it takes a bit of math and quite some knowledge about Lilypond's internals and Scheme to get there. That's the price to pay for not having to try different values again.
Yes, there might be other (easier) solutions that I don't know.

To repeat what Simon mentioned: this is not an appropriate tone for this mailing list - neither on the bug list nor here. I reply with a solution because the answer might be helpful for other readers, and I hope it will be found in the archives. (Although I'm quite sure a similar question was there already; I did not search.) Everybody here is a volunteer, and you will face a lot of silence if you sound too demanding and use imperatives, even if prefixed by a "please".

Certainly, English is not your mother tongue, but this is no excuse. Most people here - like myself - are no native speakers, yet we (mostly) manage to be polite and humble.


Cheers,
Alexander



reply via email to

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