lilypond-user
[Top][All Lists]
Advanced

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

Re: Mac OS 10.15 Catalina (fonts)


From: Flaming Hakama by Elaine
Subject: Re: Mac OS 10.15 Catalina (fonts)
Date: Sun, 17 Nov 2019 17:42:08 -0800

---------- Forwarded message ----------
From: eBooks <address@hidden>
To: Allan Kinnaird <address@hidden>
Cc: address@hidden
Bcc: 
Date: Fri, 15 Nov 2019 15:06:21 -0700
Subject: Re: Mac OS 10.15 Catalina


> On Nov 15, 2019, at 2:35 PM, Allan Kinnaird <address@hidden> wrote:
>
> So here I am (as I see it) :
> My current version of Lilypond is not going to work on my Mac if I upgrade to Catalina (v10.15) because of an incomprehensible licence impasse between GNU and Apple.
> Hans Åberg has provided an installable package ( https://www.et.byu.edu/~sorensen/lilypond-devel-2.19.83_2.mpkg ) which runs as 64-bit on Catalina. It appears that it has problems with convert-ly but is otherwise OK. (And Frescobaldi users need to point Frescobaldi preferences towards the right version of Lilypond.)
> I have downloaded Hans’s file and tried to install it. Unfortunately the installer blocked the process, requiring that the OS be 10.15 Catalina - I have to go for Catalina before I can test for problems with it.
> So, to continue using Lilypond, either I have to stay forever on v2.18.2 and have my computer stay forever on OS 10.14, or just go for Catalina, run Hans’s installer, and accept what disasters then ensue. (Hans seems a pretty good guy, so with luck there won’t be many!)
> Geronimo!

You could also run LilyPond under Linux in a virtual machine on your mac.


I recently got my mac installed with a fresh Catalina, and endeavored to install Hans' Lilypond package.
(Thanks, Hans!!!)

Everything went fine, except certain aspect of fonts.
But I have been using a custom "Frankenfont", created by overriding various elements, such as:

\layout {
  \context {
    \Staff
    \override Stem.details.beamed-lengths = #'(3.8 4 4.2)
    \override Beam #'beam-thickness = #0.57
    \override Beam #'length-fraction = #1.14
    \override Beam.damping = #1.94
    \override Tie #'thickness = #2.1
    \override Slur #'thickness = #2.2
    \override PhrasingSlur #'thickness = #2.6
    \override Hairpin.minimum-length = #3
  }
  \override DynamicText #'font-family = #'sebastiano
  \override NoteHead #'font-family = #'scorlatti
  \override Script #'font-family = #'lv-goldenage
  \override TrillSpanner #'font-family = #'scorlatti
}  

This has been working for me for several years.
However, with this version on mac Catalina, I cannot get the overrides to work for NoteHead or Script.

Here is my MWE.  The vanilla version here does nothing special, since it overrides these font symbols with the default, Emmentaler.
Then there is a bash script to iterate through each of the named fonts, and each of the thee font symbols, and create a file for each font and symbol alteration.

All the fonts are present, according to lilypond -dshow-available-fonts.  And all the fonts work for overriding DynamicText.
But none of them besides Emmentaler work for overriding NoteHead or Script, yeilding an error like
    fatal error: cannot find font: `lv-goldenage-11'

Does anyone have any clues what I'd need to do to get these symbol-specific overrides to work again?


% font-examples.ly

\version "2.19.83"

#(define-public (add-notation-font fontnode name music-str brace-str factor)
  (begin
    (add-music-fonts fontnode
      name music-str brace-str
      feta-design-size-mapping factor)
    fontnode))

\paper {
  #(define notation-fonts
    (list
      (list 'beethoven "beethoven" "beethoven")
      (list 'cadence "cadence" "emmentaler")
      (list 'emmentaler "emmentaler" "emmentaler")
      (list 'gonville "gonville" "gonville")
      (list 'gutenberg "gutenberg1939" "gutenberg1939")
      (list 'haydn "haydn" "haydn")
      (list 'improviso "improviso" "improviso")
      (list 'lilyjazz "lilyjazz" "lilyjazz")
      (list 'paganini "paganini" "emmentaler")
      (list 'profondo "profondo" "profondo")
      (list 'ross "ross" "ross")
      (list 'scorlatti "scorlatti" "emmentaler")
      (list 'sebastiano "sebastiano" "sebastiano")
      (list 'lilyboulez "lilyboulez" "haydn")
      (list 'lv-goldenage "lv-goldenage" "lv-goldenage")
    ))
   
  #(begin
    (for-each
      (lambda (tup)
        (add-notation-font fonts
          (car tup) ; font identifier
          (cadr tup) ; notation font
          (caddr tup) ; brace font
          (/ staff-height pt 20)))
      notation-fonts))
}

\layout {
    %  For articulations
    \override DynamicText #'font-family = #'emmentaler
    \override Script #'font-family = #'emmentaler
    \override NoteHead #'font-family = #'emmentaler
}  

\relative c' { c2.\pp \< d4--\p | e2.->\mf f4->\ff }


#  fonts.sh

#  Automate testing various music fonts
#  Update a Lilypond file to override a font element (referred to here as SYMBOL)
#      including NoteHead, DynamicText and Script
#  Build the file, then save it in a directory named by SYMBOL/FONT.pdf

ALL_FONTS="beethoven cadence emmentaler gonville gutenberg haydn improviso lilyjazz paganini profondo ross scorlatti sebastiano lilyboulez lv-goldenage"
DEFAULT_FONT="emmentaler"
SYMBOLS="NoteHead DynamicText Script"
NAME="font-examples"
LILY="$NAME.ly"
PDF="$NAME.pdf"

for SYMBOL in $SYMBOLS; do

if [ -d "$SYMBOL" ] ; then
for OLD_RESULT in `ls $SYMBOL/*.* 2>/dev/null`; do
rm $OLD_RESULT
done
else
echo "Creating directory $SYMBOL"
mkdir $SYMBOL
fi

for FONT in $ALL_FONTS ; do
   echo ==============
echo SYMBOL $SYMBOL and FONT $FONT
   lilypond -dshow-available-fonts 2>&1 | grep -i $FONT
   rm $PDF
   #  Update the lilypond file to override this symbol with this font
   perl -p -i -e "s/override $SYMBOL.*/override $SYMBOL \#'font-family = \#'$FONT/g" $LILY
   lilypond $LILY
   if [ -f "$PDF" ] ; then
   mv $PDF $SYMBOL/$FONT.pdf
fi
done

#  Revert the lilypond file to use the default font with this symbol
    -p -i -e "s/override $SYMBOL.*/override $SYMBOL \#'font-family = \#'$DEFAULT_FONT/g" $LILY

done


Thanks, 

Elaine Alt
415 . 341 .4954                                           "Confusion is highly underrated"
address@hidden
Producer ~ Composer ~ Instrumentalist ~ Educator
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 



reply via email to

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