lilypond-user
[Top][All Lists]
Advanced

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

Re: Settings for changing the font type in a certain part of the code.


From: ole
Subject: Re: Settings for changing the font type in a certain part of the code.
Date: Wed, 6 Oct 2021 10:27:04 +0200

I have a Question related to this thread: I use the internal Lilypond 
\typewriter font for all titeling and markups
How can I omit to type for every text \markup\typewriter again..?

Thanks!

> Am 06.10.2021 um 10:08 schrieb Paul Hodges <pwh@cassland.org>:
> 
> LilyPond has well-known ways to change the font within markup and for the 
> whole document.  It can be harder to find the ways to change the font for all 
> of just a specific class of text, such as lyrics; but it can be done.  Try:
> 
> \lyricmode {
>   \override LyricText.font-name = #"Comic Sans MS"
>   Blah blah blah
>   ...
> }
> 
> (Obviously the font must be installed in your OS.)  Now, Lilypond likes its 
> fonts to be in defined families (roman, sans, and typewriter), which you can 
> change globally, and the properties like bold and italic refer to these 
> families.  When you change the font outside a family, the \bold and \italic 
> commands or overrides are no longer available; you have to select the exact 
> required version of the font by name, e.g.:
> 
>   \override LyricText.font-name = #"Comic Sans MS Italic"
> 
> It is possible to get round this by defining your own font family in addition 
> to those provided within LilyPond, like this:
> 
> \paper {
>    #(define fonts
>      (let ((n (set-global-fonts))
>            (factor (/ staff-height pt 20)))
>        (add-pango-fonts n 'handwriting "Comic Sans MS" (* 1.1 factor))
>        n))
> }
> #(define-markup-command (handwriting layout props arg) (markup?)
>    (interpret-markup layout
>      (prepend-alist-chain 'font-family 'handwriting props) arg))
> 
> You can then set your newly-defined font-family to be used, after which the 
> usual facilities are still available, as in:
> 
> \lyricmode {
>   \override LyricText.font-family = #'handwriting
>   Blah blah
>   \override LyricText.font-shape = #'italic 
>   blah
>   \once \override LyricText.font-shape = #'normal 
>   blah
>   ...
> }
> 
> I discovered this method in an archive post: 
> https://lists.gnu.org/archive/html/lilypond-user/2019-02/msg00041.html , and 
> now know considerably more about fonts myself than I did before I wrote this!
> 
> The override command can be put at the start of a particular set of lyrics if 
> you want only that verse or whatever to use the new font, or in a \layout 
> block to change the font for all lyrics.
> 
> Paul
> 
> 
> On 06/10/2021 04:49:06, "Виноградов Юрий" <hagrid.vgs@yandex.ru> wrote:
> 
>> Good. I understood you. Thanks. But if I can change the font type in the 
>> code section \header {title= \markup { \sans or \serif ...} }. But I can't 
>> figure out how to change the font specifically in the voice text code 
>> section \verse = \lyricmode {once upon a time}. Sorry for the inaccuracy of 
>> the code. I am grateful to you in advance.




reply via email to

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