Le lundi 27 février 2023 à 13:53 +0100, Valentin Petzel a écrit :
> Hello John,
> 
> you can do this by setting this in the default props:
> 
> \paper {  
>     #(define fonts  
>         (set-global-fonts  
>             #:roman      "Linux Libertine"  
>             #:factor (/ staff-height pt 20)  
>         ))  
>     text-font-defaults = #(assoc-set! text-font-defaults 'font-features  
> '("smcp"))  


`assoc-set!` here is a bad idea imho because it will mutate the original. You 
can see this in

```
\version "2.24.1"

\paper {
    text-font-defaults = #(assoc-set! text-font-defaults 'font-features 
'("smcp"))
    #(define fonts
        (set-global-fonts
            #:roman      "Linux Libertine"
            #:factor (/ staff-height pt 20)
        ))
}

\bookpart {
  \markup "abc" % no small caps because of bleedover from next \bookpart
}

\bookpart {
  \paper {
    text-font-defaults = #(assoc-set! text-font-defaults 'font-features #f)
 }
  \markup "abc"
}
```

You could use `(assoc-set! (alist-copy text-font-defaults) ...)`, but 
LilyPond's nested assignment syntax `text-font-defaults.font-features = ...` is 
just as convenient (as in my first reply shortly before yours).

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to