Comment #22 on issue 4014 by [email protected]: Patch: Add an expert font tree interface
https://code.google.com/p/lilypond/issues/detail?id=4014

It's orthogonal, but surely related. This patch is on allowing access to a fine-grained font selection, e.g. to offer alternatives for fonts which miss a bold italic or if you want small caps instead; Urs' work is about a nice interface to setting fonts in the first place.

Since the internals are functional, what's missing here is exactly a nice interface. My preferred solution would be exactly what Urs is researching: Have the default font tree with the fonts shipped with LilyPond (+/- the ongoing debate on sans and mono faces in the default repo, and allow for understandable overrides like

\paper {
%% this should be the default, unless overridden by the user, to adapt to the staff size set with #(set-global-staff-size)
  \setFontScale = #(/ staff-height pt 20)

  %% default bold is not bold enough
  \setFont #'sans #'upright #'bold = "Futura Extra Black"

%% with optional scaling factor additional to global staff size scaling (defaults to 1)
  \setFont #'sans #'italic #'bold = #'("DejaVu Sans Bold Oblique" 1.129)

  %% maybe define a new font-family symbol for a font used in lyrics
  \setFont #'lyrics #'upright #'normal = "MyPrettyLyricsFont Condensed"
  %% to be used with \override LyricText.font-family = #'lyrics

  %% finally, sane defaults for overriding entire families, in this case
%% expanding to Book / Oblique / Bold / Bold Oblique for the ('upright / 'italic) x ('normal / 'bold)-pairs,
  %% again with (optional) scaling
  \setFont #'typewriter = #'("DejaVu Sans Mono" 1.129)

  %% and, last but not least, a similar approach to music fonts
  \setMusicFont #'music = "scorlatti"
  \setMusicFont #'brace = "ross"
}


So yes, it's definitively going towards the same direction...

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Reply via email to