Alternative music font

classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Alternative music font

Simon Tatham
Hi,

I've recently drawn a new font of musical symbols for use with
Lilypond, which look more like the ones I'm used to and hence
distract me less. I put it up on the web this weekend at

  http://www.chiark.greenend.org.uk/~sgtatham/gonville/

Currently the only way I've found to use that font with Lilypond is
to create a symlink mirror of the entire Lilypond data directory,
replace the 'fonts' subdirectory, and point $LILYPOND_DATADIR at the
altered copy. Would it be possible to introduce a command-line or
configuration option of some sort, to make it easier to select an
alternative font? (Or is there one I've missed?)

Cheers,
Simon



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Jan Nieuwenhuizen-2
Op maandag 19-10-2009 om 08:15 uur [tijdzone +0000], schreef Simon Tatham:

Hi Simon,

I've recently drawn a new font of musical symbols for use with
> Lilypond, which look more like the ones I'm used to and hence
> distract me less. I put it up on the web this weekend at
>
>   http://www.chiark.greenend.org.uk/~sgtatham/gonville/
 
Wow.  You created a full font?  That must have taken quite some time!
I think Feta took Han-Wen and me something between one and two
man-years of work.

Reading what you write on your site

    I designed it because Lilypond's standard font (Feta) was
    not to my taste: I found it to be (variously) over-ornate,
    strangely proportioned, and subtly not like the music I was
    used to reading.

    Music set in Feta looks to me like strangely stylised music;
    music set in Gonville just looks to me like music, so I can
    read it without being distracted so much.

I feel a bit disappointed because one of my goals was to create a font
that would look like the most beautiful music that I have seen.  As
one of our explicit goals for LilyPond is for the printed music /not/
to distract the player, we evidently failed to achieve this for you.

Looking at Gonville it's not so difficult to imagine for me how this
could be, as I cannot remember ever having seen music that looks much
like it.  For example, the up-flags are much fatter and
rounder/shorter than the down flags, is that intentional?

What is the status of the font, is it ready for general use, is it
finished?

Up till now we have been advertising Feta as being "the" lilypond font
and describing it mostly with general terms as "beautiful" and
"designed after the best typesetting traditions".  In some places,
possibly the essay and talks, we elaborated on the fatness, eg see the
short note of font design at

    http://lilypond.org/web/about/automated-engraving/typography-features

Now that you created a second working font for Lily, it would be
nice if both fonts were [more explicitly] advertised as to what
they were designed after.  The LilyPond font sources contain
quite a few citings of sources of inspiration, eg

  % Couldn't find many z examples.  This one is losely inspired
  % by a sfz from Mueller Etuden fuer Horn (Edition Hofmeister).

  % Inspired by Adobe Sonata and [Wanske].
  % For example, see POSTSCRIPT Language -- program design,
  % page 119, and [Wanske], p 41, 42.

  % [Wanske] says the bulbs should be positioned about 1/4 right of the
  % `arrow'.

  % [Wanske] and some Baerenreiter editions
  % suggest about 80 degrees instead of a half-circle

  % Inspired by a (by now) PD edition of Durand & C'ie edition of
  % Saint-Saens' Celloconcerto no. 1

  % For example, the 8th rest was vaguely based on a book with trumpet
  % studies by Duhem, and by Baerenreiters cello suites. I included my
  % findings in a comment in the mf file.  One of the things that I tried
  % to do was make the rest a little lighter and narrower than the black
  % note head. I think this looks better in polyphonic music, when the
  % rest is below a head from a different voice.

  % inspired by Bamberger Manuscript (15th century), in:
  % MGG, volume 2, table 59.

A somewhat better way than "beautiful" to describe Feta could be
something like

    the design is inspired by fonts used in traditional manual
    engravings publish by European music publishers in/towards the end
    of the first half of the 20th century [Baerenreiter, Duhem,
    Durand, Hofmeister, Peters, Schott].  This is sometimes regarded
    as the peak of traditional musical engraving practice [Hader,
    Wanske], [in http://lilypond.org/web/images/FISL7-slides.pdf
    we call it our Gold standard] [??]

    Annotations can be found in the font's source code.  Criteria for
    the choice of inspirational glyphs are blackness or boldness.  In
    contrast: computer-made often looks very "white".  Delicacy or
    roundness.  No outer corners of glyphs should have sharp edges, as
    the eye tends to "stick" to those points.  Finally commonness or
    familiarness.  A glyph should not look suprisingly unique.

    Further, common [text-]font considerations were taken into
    account.  For example, a glyph should look balanced out.  It
    should not lean backward of forward, inviting the reader to catch
    it before it falls over :-)  There should also be a black/white
    balance.  It should still look good printed in a long row.  It
    should look good on screen as well as on paper [quite different
    from a computer screen, sometimes].  Curves should be smooth, have
    no discontinuities.

What would a more explicit description of Gonville be?  It would be
nice if you could describe the criteria and sources of your
inspiration, as opposed to contrasting it to Feta's apparent failure
to meet those :-)

Do you intend to have Gonville included in LilyPond?

In that case it would be good if you had a [few] high resolution scans
of music that Gonville strives to mimic.  Is this perhaps a [step
toward a] jazz font that users have been asking for?

What bothers me a bit is the lightness of the font.  I consider this
to be an error frequently made by most post-manual/engraver [read:
computer/programmer] produced music.

Eg the 4/4 "C", the flat/neutral/sharp symbols [they have straight,
non-brushed] stems.  Also the note heads look a bit small, cat 3 or
even 4, is that right on this scale from blackest to whitest [1..4]

    1. Some traditional: slight overshoot, extending outside
       of staff line.  We did not dare to do this, but it is
       possible and there is a comment about this in the code.

                         ____
        staff line -----/note\-----
                   ----/      \----
                      /  head  \

    2. Feta: maximum height, just-no-overshoot

        staffline -----+----+-----
                  ----/ note \----
                     /  head  \

    3. Some traditional: slight undershoot

         staffline   ---______---
                     --/ note \--
                      /  head  \

    4. Most pre-lilypond ;-) computer-made music: just barely
       touching staff line

         staffline ------------
                   ----+--+----
                      /note\
                     / head \

> Currently the only way I've found to use that font with LilyPond is
> to create a symlink mirror of the entire Lilypond data directory,
> replace the 'fonts' subdirectory, and point $LILYPOND_DATADIR at the
> altered copy. Would it be possible to introduce a command-line or
> configuration option of some sort, to make it easier to select an
> alternative font? (Or is there one I've missed?)

I think the glyph lookup and handling code is already parametrized.

Have a look at lily/note-head.cc:internal_print, it gets the default
font from

  ly/paper-default-init.ly:

  #(define font-defaults
     '((font-encoding . fetaMusic)))

It looks like you'd want to keep the fetaMusic encoding and add some
other characteristic, possibly -family, -shape, or -series.  So we
could have

  #(define font-defaults
     '((font-encoding . fetaMusic) (font-family . feta)))

which you can then override by using (font-family . gonville) in a
\paper {} block.  I'm sure if we set these for Feta already and if
the font selection mechanism look at these too.

Greetings,
Jan.

--
Jan Nieuwenhuizen <[hidden email]> | GNU LilyPond - The music typesetter
Avatar®: http://AvatarAcademy.nl    | http://lilypond.org




_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Simon Tatham
(I hope this reply to the list works. I had to post my previous
message through the Gmane interface, but if I have to post this one
the same way, I won't be able to get the In-Reply-To header to work
properly.)

Jan Nieuwenhuizen <[hidden email]> wrote:

> Wow.  You created a full font?  That must have taken quite some time!
> I think Feta took Han-Wen and me something between one and two
> man-years of work.

This one has only taken me a couple of months (including some
initial thought about how to get nice-looking curves without an
excessive amount of manual specification). But then, it's very
likely that a lot of yours is better thought out in many ways that I
didn't pay much attention to. (Just for a start, I haven't
implemented your subtle variation between the different point sizes,
except in the braces.)

> I feel a bit disappointed because one of my goals was to create a font
> that would look like the most beautiful music that I have seen.  As
> one of our explicit goals for LilyPond is for the printed music /not/
> to distract the player, we evidently failed to achieve this for you.

I'm afraid so, but then, it doesn't seem surprising to me that one
answer doesn't satisfy everybody's tastes! I don't think you have
any call to feel disappointed at not having managed to please
absolutely everybody.

> Looking at Gonville it's not so difficult to imagine for me how this
> could be, as I cannot remember ever having seen music that looks much
> like it.  For example, the up-flags are much fatter and
> rounder/shorter than the down flags, is that intentional?

I may yet make another attempt at redesigning the multiple flags.
The intention was to have them all essentially similar in shape
(unlike, say, Feta's quadruple down-flag in which the four flags
look very different from each other) and bold enough to make it easy
to see how many of them there were. They're all currently 'the same
thickness' in the sense that every flag covers the same vertical
length of stem where it joins on to it; that's something that I may
re-think later on in favour of a more subjective idea of 'sameness',
because I've already had one mild criticism of it.

> What is the status of the font, is it ready for general use, is it
> finished?

Initial development is complete. I may make changes, but probably
not until I've collected some feedback and got a general idea of
what really does want changing and what's a silly idea I've
accidentally talked myself into by thinking too hard about it...

> Up till now we have been advertising Feta as being "the" lilypond font
> and describing it mostly with general terms as "beautiful" and
> "designed after the best typesetting traditions".  In some places,
> possibly the essay and talks, we elaborated on the fatness, eg see the
> short note of font design at
>
>     http://lilypond.org/web/about/automated-engraving/typography-features

One comment from a friend about the difference between the two fonts
was that a thing he liked about Gonville was that it looked more
modern. Feta certainly seems to be striving after a 'traditional'
look, and perhaps that's precisely what is not to everyone's taste
(one person's 'traditional' is another's 'old-fashioned' :-).

> Now that you created a second working font for Lily, it would be
> nice if both fonts were [more explicitly] advertised as to what
> they were designed after.  The LilyPond font sources contain
> quite a few citings of sources of inspiration, eg [...]

Sadly I don't have anything like that sort of detailed citation
available. I grew up playing the violin, and in designing Gonville I
was trying to recall the look of the sheet music I was provided with
by my teachers, because that was what I was used to reading;
unfortunately, I don't have most of that sheet music any more, so
all I can give is vague generalities.

Ultimately, my design criterion was that it should satisfy my
personal subjective aesthetic criteria. Feedback so far suggests
that at least a few other people's criteria are not too far off
mine, but I don't think I could really give a scholarly analysis of
where mine came from.

>     Further, common [text-]font considerations were taken into
>     account.  For example, a glyph should look balanced out.  It
>     should not lean backward of forward, inviting the reader to catch
>     it before it falls over :-)

It's interesting that you should mention that: that actually reminds
me of one of my specific issues with Feta, namely that the curved
centre line of its treble clef _does_ make it look to me as if it's
leaning over backwards. Gonville's straight-backed version feels
much more balanced to me.

> Do you intend to have Gonville included in LilyPond?

You'd be welcome to include it if you wanted to, but I hadn't
particularly expected that you would - I was under no illusions that
you'd instantly prefer it to the font you've carefully tuned to the
criteria you consider important! I'm perfectly happy to maintain it
as a third-party accessory, and keep it up to date as necessary. I
don't even ask for a link from the website, if you don't think
Gonville is of sufficiently high quality to merit it.

All I'd suggest is trivial changes to Lilypond to make it easy to
use an alternative font, and at least not actually _deny_ that such
a thing exists. (E.g. the documentation for ly:system-font-load
currently says that only Emmentaler and Aybabtu contain the
necessary LILC, LILF and LILY tables, which is now out of date :-)

Oh, and there was one other thing: Gonville's time signature digits
are deliberately designed to stay clear of the 1st, 3rd and 5th
stave lines, because I find that makes the numbers much more
legible. However, Lilypond insisted on squashing both sets of digits
firmly up against the middle line, defeating my intention. I've
worked around that for the moment by lying about the digits'
vertical extent, but that's a nasty hack; it would be nicer if
Lilypond itself could centre the digits around the 2nd and 4th lines
of the stave in the case where they're smaller than 2*staff_spacing
(which I think would also look nicer in the case where a user
manually selects a small alternative font for the digits). Would a
patch implementing that (which shouldn't change the current
behaviour for anyone using Feta) be likely to be accepted?

> What bothers me a bit is the lightness of the font.  I consider this
> to be an error frequently made by most post-manual/engraver [read:
> computer/programmer] produced music.

Hmm. It probably wouldn't be too difficult for me to redo the whole
thing with increased line thickness; probably not as easy as it
would be for Feta (my metafont-like setup is less highly developed,
which is only to be expected given how much more time you've
spent!), but doable. I could try it and see how it looks.

> I think the glyph lookup and handling code is already parametrized.

Indeed, I was pleasantly surprised at how easy it was to get a font
with different metrics to work at all. Lilypond's strategy of
storing in the font file itself the information about where to
attach stems to the note heads, for example, was extremely useful;
without it I would probably have had to distribute Gonville in a
form that included a source code patch to Lilypond. Instead I was
able to use the unmodified Lilypond binary, and all I had to change
was the fonts subdirectory of $LILYPOND_DATADIR.

The only problem was that I couldn't find any easier way to change
the font throughout than by using an alternative $LILYPOND_DATADIR.
I don't think I managed to get ly:system-font-load to even load a
font at all from outside the data directory, and even if I had, it
wouldn't have been at all clear (if possible at all) how to get
Lilypond to default to taking _all_ its glyphs from that font
instead of Feta. Perhaps I could have reconfigured them all one by
one, but that would need a lot of fiddly Scheme that was different
for every release...

Cheers,
Simon
--
Simon Tatham         "I'm going to pull his head off. Ear by ear."
<[hidden email]>                          - a games teacher


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Jan Nieuwenhuizen-2
Op maandag 19-10-2009 om 15:05 uur [tijdzone +0100], schreef Simon
Tatham:
> (I hope this reply to the list works.

I think not, you'll have to subscribe.

>  I had to post my previous
> message through the Gmane interface, but if I have to post this one
> the same way, I won't be able to get the In-Reply-To header to work
> properly.)


> Jan Nieuwenhuizen <[hidden email]> wrote:
>
> > Wow.  You created a full font?  That must have taken quite some time!
> > I think Feta took Han-Wen and me something between one and two
> > man-years of work.
>
> This one has only taken me a couple of months (including some
> initial thought about how to get nice-looking curves without an
> excessive amount of manual specification). But then, it's very
> likely that a lot of yours is better thought out in many ways that I
> didn't pay much attention to. (Just for a start, I haven't
> implemented your subtle variation between the different point sizes,
> except in the braces.)
>
> > I feel a bit disappointed because one of my goals was to create a font
> > that would look like the most beautiful music that I have seen.  As
> > one of our explicit goals for LilyPond is for the printed music /not/
> > to distract the player, we evidently failed to achieve this for you.
>
> I'm afraid so, but then, it doesn't seem surprising to me that one
> answer doesn't satisfy everybody's tastes! I don't think you have
> any call to feel disappointed at not having managed to please
> absolutely everybody.
>
> > Looking at Gonville it's not so difficult to imagine for me how this
> > could be, as I cannot remember ever having seen music that looks much
> > like it.  For example, the up-flags are much fatter and
> > rounder/shorter than the down flags, is that intentional?
>
> I may yet make another attempt at redesigning the multiple flags.
> The intention was to have them all essentially similar in shape
> (unlike, say, Feta's quadruple down-flag in which the four flags
> look very different from each other) and bold enough to make it easy
> to see how many of them there were. They're all currently 'the same
> thickness' in the sense that every flag covers the same vertical
> length of stem where it joins on to it; that's something that I may
> re-think later on in favour of a more subjective idea of 'sameness',
> because I've already had one mild criticism of it.
>
> > What is the status of the font, is it ready for general use, is it
> > finished?
>
> Initial development is complete. I may make changes, but probably
> not until I've collected some feedback and got a general idea of
> what really does want changing and what's a silly idea I've
> accidentally talked myself into by thinking too hard about it...
>
> > Up till now we have been advertising Feta as being "the" lilypond font
> > and describing it mostly with general terms as "beautiful" and
> > "designed after the best typesetting traditions".  In some places,
> > possibly the essay and talks, we elaborated on the fatness, eg see the
> > short note of font design at
> >
> >     http://lilypond.org/web/about/automated-engraving/typography-features
>
> One comment from a friend about the difference between the two fonts
> was that a thing he liked about Gonville was that it looked more
> modern. Feta certainly seems to be striving after a 'traditional'
> look, and perhaps that's precisely what is not to everyone's taste
> (one person's 'traditional' is another's 'old-fashioned' :-).
>
> > Now that you created a second working font for Lily, it would be
> > nice if both fonts were [more explicitly] advertised as to what
> > they were designed after.  The LilyPond font sources contain
> > quite a few citings of sources of inspiration, eg [...]
>
> Sadly I don't have anything like that sort of detailed citation
> available. I grew up playing the violin, and in designing Gonville I
> was trying to recall the look of the sheet music I was provided with
> by my teachers, because that was what I was used to reading;
> unfortunately, I don't have most of that sheet music any more, so
> all I can give is vague generalities.
>
> Ultimately, my design criterion was that it should satisfy my
> personal subjective aesthetic criteria. Feedback so far suggests
> that at least a few other people's criteria are not too far off
> mine, but I don't think I could really give a scholarly analysis of
> where mine came from.
>
> >     Further, common [text-]font considerations were taken into
> >     account.  For example, a glyph should look balanced out.  It
> >     should not lean backward of forward, inviting the reader to catch
> >     it before it falls over :-)
>
> It's interesting that you should mention that: that actually reminds
> me of one of my specific issues with Feta, namely that the curved
> centre line of its treble clef _does_ make it look to me as if it's
> leaning over backwards. Gonville's straight-backed version feels
> much more balanced to me.
>
> > Do you intend to have Gonville included in LilyPond?
>
> You'd be welcome to include it if you wanted to, but I hadn't
> particularly expected that you would - I was under no illusions that
> you'd instantly prefer it to the font you've carefully tuned to the
> criteria you consider important! I'm perfectly happy to maintain it
> as a third-party accessory, and keep it up to date as necessary. I
> don't even ask for a link from the website, if you don't think
> Gonville is of sufficiently high quality to merit it.
>
> All I'd suggest is trivial changes to Lilypond to make it easy to
> use an alternative font, and at least not actually _deny_ that such
> a thing exists. (E.g. the documentation for ly:system-font-load
> currently says that only Emmentaler and Aybabtu contain the
> necessary LILC, LILF and LILY tables, which is now out of date :-)
>
> Oh, and there was one other thing: Gonville's time signature digits
> are deliberately designed to stay clear of the 1st, 3rd and 5th
> stave lines, because I find that makes the numbers much more
> legible. However, Lilypond insisted on squashing both sets of digits
> firmly up against the middle line, defeating my intention. I've
> worked around that for the moment by lying about the digits'
> vertical extent, but that's a nasty hack; it would be nicer if
> Lilypond itself could centre the digits around the 2nd and 4th lines
> of the stave in the case where they're smaller than 2*staff_spacing
> (which I think would also look nicer in the case where a user
> manually selects a small alternative font for the digits). Would a
> patch implementing that (which shouldn't change the current
> behaviour for anyone using Feta) be likely to be accepted?
>
> > What bothers me a bit is the lightness of the font.  I consider this
> > to be an error frequently made by most post-manual/engraver [read:
> > computer/programmer] produced music.
>
> Hmm. It probably wouldn't be too difficult for me to redo the whole
> thing with increased line thickness; probably not as easy as it
> would be for Feta (my metafont-like setup is less highly developed,
> which is only to be expected given how much more time you've
> spent!), but doable. I could try it and see how it looks.
>
> > I think the glyph lookup and handling code is already parametrized.
>
> Indeed, I was pleasantly surprised at how easy it was to get a font
> with different metrics to work at all. Lilypond's strategy of
> storing in the font file itself the information about where to
> attach stems to the note heads, for example, was extremely useful;
> without it I would probably have had to distribute Gonville in a
> form that included a source code patch to Lilypond. Instead I was
> able to use the unmodified Lilypond binary, and all I had to change
> was the fonts subdirectory of $LILYPOND_DATADIR.
>
> The only problem was that I couldn't find any easier way to change
> the font throughout than by using an alternative $LILYPOND_DATADIR.
> I don't think I managed to get ly:system-font-load to even load a
> font at all from outside the data directory, and even if I had, it
> wouldn't have been at all clear (if possible at all) how to get
> Lilypond to default to taking _all_ its glyphs from that font
> instead of Feta. Perhaps I could have reconfigured them all one by
> one, but that would need a lot of fiddly Scheme that was different
> for every release...
>
> Cheers,
> Simon




_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Simon Tatham
In reply to this post by Jan Nieuwenhuizen-2
Jan Nieuwenhuizen <[hidden email]> wrote:

> Wow.  You created a full font?  That must have taken quite some time!
> I think Feta took Han-Wen and me something between one and two
> man-years of work.

This one has only taken me a couple of months (including some
initial thought about how to get nice-looking curves without an
excessive amount of manual specification). But then, it's very
likely that a lot of yours is better thought out in many ways that I
didn't pay much attention to. (Just for a start, I haven't
implemented your subtle variation between the different point sizes,
except in the braces.)

> I feel a bit disappointed because one of my goals was to create a font
> that would look like the most beautiful music that I have seen.  As
> one of our explicit goals for LilyPond is for the printed music /not/
> to distract the player, we evidently failed to achieve this for you.

I'm afraid so, but then, it doesn't seem surprising to me that one
answer doesn't satisfy everybody's tastes! I don't think you have
any call to feel disappointed at not having managed to please
absolutely everybody.

> Looking at Gonville it's not so difficult to imagine for me how this
> could be, as I cannot remember ever having seen music that looks much
> like it.  For example, the up-flags are much fatter and
> rounder/shorter than the down flags, is that intentional?

I may yet make another attempt at redesigning the multiple flags.
The intention was to have them all essentially similar in shape
(unlike, say, Feta's quadruple down-flag in which the four flags
look very different from each other) and bold enough to make it easy
to see how many of them there were. They're all currently 'the same
thickness' in the sense that every flag covers the same vertical
length of stem where it joins on to it; that's something that I may
re-think later on in favour of a more subjective idea of 'sameness',
because I've already had one mild criticism of it.

> What is the status of the font, is it ready for general use, is it
> finished?

Initial development is complete. I may make changes, but probably
not until I've collected some feedback and got a general idea of
what really does want changing and what's a silly idea I've
accidentally talked myself into by thinking too hard about it...

> Up till now we have been advertising Feta as being "the" lilypond font
> and describing it mostly with general terms as "beautiful" and
> "designed after the best typesetting traditions".  In some places,
> possibly the essay and talks, we elaborated on the fatness, eg see the
> short note of font design at
>
>     http://lilypond.org/web/about/automated-engraving/typography-features

One comment from a friend about the difference between the two fonts
was that a thing he liked about Gonville was that it looked more
modern. Feta certainly seems to be striving after a 'traditional'
look, and perhaps that's precisely what is not to everyone's taste
(one person's 'traditional' is another's 'old-fashioned' :-).

> Now that you created a second working font for Lily, it would be
> nice if both fonts were [more explicitly] advertised as to what
> they were designed after.  The LilyPond font sources contain
> quite a few citings of sources of inspiration, eg [...]

Sadly I don't have anything like that sort of detailed citation
available. I grew up playing the violin, and in designing Gonville I
was trying to recall the look of the sheet music I was provided with
by my teachers, because that was what I was used to reading;
unfortunately, I don't have most of that sheet music any more, so
all I can give is vague generalities.

Ultimately, my design criterion was that it should satisfy my
personal subjective aesthetic criteria. Feedback so far suggests
that at least a few other people's criteria are not too far off
mine, but I don't think I could really give a scholarly analysis of
where mine came from.

>     Further, common [text-]font considerations were taken into
>     account.  For example, a glyph should look balanced out.  It
>     should not lean backward of forward, inviting the reader to catch
>     it before it falls over :-)

It's interesting that you should mention that: that actually reminds
me of one of my specific issues with Feta, namely that the curved
centre line of its treble clef _does_ make it look to me as if it's
leaning over backwards. Gonville's straight-backed version feels
much more balanced to me.

> Do you intend to have Gonville included in LilyPond?

You'd be welcome to include it if you wanted to, but I hadn't
particularly expected that you would - I was under no illusions that
you'd instantly prefer it to the font you've carefully tuned to the
criteria you consider important! I'm perfectly happy to maintain it
as a third-party accessory, and keep it up to date as necessary. I
don't even ask for a link from the website, if you don't think
Gonville is of sufficiently high quality to merit it.

All I'd suggest is trivial changes to Lilypond to make it easy to
use an alternative font, and at least not actually _deny_ that such
a thing exists. (E.g. the documentation for ly:system-font-load
currently says that only Emmentaler and Aybabtu contain the
necessary LILC, LILF and LILY tables, which is now out of date :-)

Oh, and there was one other thing: Gonville's time signature digits
are deliberately designed to stay clear of the 1st, 3rd and 5th
stave lines, because I find that makes the numbers much more
legible. However, Lilypond insisted on squashing both sets of digits
firmly up against the middle line, defeating my intention. I've
worked around that for the moment by lying about the digits'
vertical extent, but that's a nasty hack; it would be nicer if
Lilypond itself could centre the digits around the 2nd and 4th lines
of the stave in the case where they're smaller than 2*staff_spacing
(which I think would also look nicer in the case where a user
manually selects a small alternative font for the digits). Would a
patch implementing that (which shouldn't change the current
behaviour for anyone using Feta) be likely to be accepted?

> What bothers me a bit is the lightness of the font.  I consider this
> to be an error frequently made by most post-manual/engraver [read:
> computer/programmer] produced music.

Hmm. It probably wouldn't be too difficult for me to redo the whole
thing with increased line thickness; probably not as easy as it
would be for Feta (my metafont-like setup is less highly developed,
which is only to be expected given how much more time you've
spent!), but doable. I could try it and see how it looks.

> I think the glyph lookup and handling code is already parametrized.

Indeed, I was pleasantly surprised at how easy it was to get a font
with different metrics to work at all. Lilypond's strategy of
storing in the font file itself the information about where to
attach stems to the note heads, for example, was extremely useful;
without it I would probably have had to distribute Gonville in a
form that included a source code patch to Lilypond. Instead I was
able to use the unmodified Lilypond binary, and all I had to change
was the fonts subdirectory of $LILYPOND_DATADIR.

The only problem was that I couldn't find any easier way to change
the font throughout than by using an alternative $LILYPOND_DATADIR.
I don't think I managed to get ly:system-font-load to even load a
font at all from outside the data directory, and even if I had, it
wouldn't have been at all clear (if possible at all) how to get
Lilypond to default to taking _all_ its glyphs from that font
instead of Feta. Perhaps I could have reconfigured them all one by
one, but that would need a lot of fiddly Scheme that was different
for every release...

Cheers,
Simon
--
Simon Tatham         "I'm going to pull his head off. Ear by ear."
<[hidden email]>                          - a games teacher


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Kieren MacMillan
Hi all,

Although I greatly prefer the Feta font to Gonville, I'm very much  
enjoying this thread — kudos to Simon and Jan for all their hard and  
considered work!

> it doesn't seem surprising to me that one answer doesn't satisfy  
> everybody's tastes!

Agreed — this is one of the great(est) benefits of open source  
software. In that spirit, I know that many people out there would  
love a font which looks handwritten — maybe once Gonville is  
integrated, you (Simon) could provide an API documentation patch, so  
that others might contribute/integrate their alternative fonts?

> One comment from a friend about the difference between the two fonts
> was that a thing he liked about Gonville was that it looked more  
> modern.

As you said, this will be a matter of taste — I much prefer the more  
traditional look of Feta to anything out there (Gonville or Igor  
Engraver's font or Finale's or Sibelius's or...).
Of course, I also maintain that number theory reached its apex  
sometime between Fermat and Euler, so take that as you may...  ;)

> It's interesting that you should mention that: that actually reminds
> me of one of my specific issues with Feta, namely that the curved
> centre line of its treble clef _does_ make it look to me as if it's
> leaning over backwards. Gonville's straight-backed version feels
> much more balanced to me.

You could probably just rotate that glyph in a TimeSignature  
override, if you wanted.  ;)

> it would be nicer if Lilypond itself could centre the digits
> around the 2nd and 4th lines of the stave in the case
> where they're smaller than 2*staff_spacing

Be sure to consider non-5-line staff situations.

Cheers,
Kieren.

_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

David Kastrup
In reply to this post by Simon Tatham
Simon Tatham <[hidden email]> writes:

> I may yet make another attempt at redesigning the multiple flags.
> The intention was to have them all essentially similar in shape

Why?  What do you gain by smaller note values essentially making a
spread-out regular rectangular black pattern across the page rather than
being characteristic compact shapes capturing the necessary
distinguishable information?

We use proportional fonts and ligatures in typesetting, not to save
space, but to give the eye a constant and aesthetic flow of information
shaping itself into recognizable word patterns of comparable greyness.

--
David Kastrup



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Bertalan Fodor (LilyPondTool)
In reply to this post by Simon Tatham
Wow too.
Actually, there are things in Feta what I don't feel natural either.
For example: the caesura sign, the G-clef and the trill indication feels
better for me in Gonville.
Though the G-clef is I think a clear LilyPond watermark, so I would keep
that one :)
The best would be if I could set up where to get which glyph from.

Bert

Simon Tatham wrote:

> Hi,
>
> I've recently drawn a new font of musical symbols for use with
> Lilypond, which look more like the ones I'm used to and hence
> distract me less. I put it up on the web this weekend at
>
>   http://www.chiark.greenend.org.uk/~sgtatham/gonville/
>
> Currently the only way I've found to use that font with Lilypond is
> to create a symlink mirror of the entire Lilypond data directory,
> replace the 'fonts' subdirectory, and point $LILYPOND_DATADIR at the
> altered copy. Would it be possible to introduce a command-line or
> configuration option of some sort, to make it easier to select an
> alternative font? (Or is there one I've missed?)
>
> Cheers,
> Simon
>
>
>
> _______________________________________________
> lilypond-devel mailing list
> [hidden email]
> http://lists.gnu.org/mailman/listinfo/lilypond-devel
>
>  




_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

v.villenave
In reply to this post by Jan Nieuwenhuizen-2
On Mon, Oct 19, 2009 at 4:27 PM, Jan Nieuwenhuizen
<[hidden email]> wrote:
> Op maandag 19-10-2009 om 15:05 uur [tijdzone +0100], schreef Simon
> Tatham:
>> (I hope this reply to the list works.
>
> I think not, you'll have to subscribe.

If this helps, I did receive Simon's earlier mail on the list.
(Perhaps he's already subscribed?)

I have now added this interesting discussion to the tracker as a
possible Enhancement:
http://code.google.com/p/lilypond/issues/detail?id=870

Cheers,
Valentin


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Jan Nieuwenhuizen-2
In reply to this post by Simon Tatham
Op maandag 19-10-2009 om 15:33 uur [tijdzone +0100], schreef Simon
Tatham:
Jan Nieuwenhuizen <[hidden email]> wrote:

> This one has only taken me a couple of months (including some
> initial thought about how to get nice-looking curves without an
> excessive amount of manual specification).

Great.  Are you willing to spend more time on this, to finish it?

> But then, it's very likely that a lot of yours is better thought out
> in many ways that I didn't pay much attention to. (Just for a start,
> I haven't implemented your subtle variation between the different
> point sizes, except in the braces.)

Possibly.  Then again, we started off by using someone else's font and
replace the note head by our own.  As an aside, I found the note head
much too round, almost as round as Gonville's ;-)

FWIW, the point sizes thing is not what took most of that time.  Have
you looked at our font sources?   See for example in
mf/feta-nummer-code.mf:

    fatten := number_design_size * h + b;

you can do that!

> I'm afraid so, but then, it doesn't seem surprising to me that one
> answer doesn't satisfy everybody's tastes! I don't think you have
> any call to feel disappointed at not having managed to please
> absolutely everybody.

Probably you're right.  But send us a patch then, tweak some things,
But to redo the whole font!  Man, that's just cruel!  ;-)

> I may yet make another attempt at redesigning the multiple flags.

Ah, good.

> The intention was to have them all essentially similar in shape
> (unlike, say, Feta's quadruple down-flag in which the four flags
> look very different from each other) and bold enough to make it easy
> to see how many of them there were.

Yeah I remember Han-Wen found that all flags need to be designed as a
whole and have a different curvature; after trying to do what Sonata
did, just stacking flags.  Unfortunately, I do not see anything about
that fact in the sources.

> They're all currently 'the same thickness' in the sense that every
> flag covers the same vertical length

That may be so, but have a look at the blackness of the single 8th
up-flag in the third measure and compare it to the two 16ths to the
right of that.  The 16th flags cover a triangle with about or over 50%
of the rectangle it cuts between the staff lines.  In contrast the
single eight only has a small black wedge?  Possibly the staff line
plays a bit unfortunate here, but eh, you'd have to count with having
a staff lines here and there, I guess.

> > What is the status of the font, is it ready for general use, is it
> > finished?
>
> Initial development is complete. I may make changes, but probably
> not until I've collected some feedback and got a general idea of
> what really does want changing and what's a silly idea I've
> accidentally talked myself into by thinking too hard about it...

Okay.  So why not work on a patch to hook it up to LilyPond -- best
chances to get some feedback.
 
> One comment from a friend about the difference between the two fonts
> was that a thing he liked about Gonville was that it looked more
> modern. Feta certainly seems to be striving after a 'traditional'
> look, and perhaps that's precisely what is not to everyone's taste
> (one person's 'traditional' is another's 'old-fashioned' :-).

Yeah well, anything to get the young, fashionable new on-storming
generations hooked to LilyPond, I guess.

> Sadly I don't have anything like that sort of detailed citation
> available. I grew up playing the violin, and in designing Gonville I
> was trying to recall the look of the sheet music I was provided with
> by my teachers, because that was what I was used to reading;
> unfortunately, I don't have most of that sheet music any more, so
> all I can give is vague generalities.

Well, you'll just have to go look for some of those then?  I mean, if
Gonville looks like most music you ever saw, such music cannot be hard
to find?  I mean, not that you /must/, but it would help you to
describe the musical practice or culture the font is based on.  It
would help others that would like to add or change glyphs very much if
they could go look for publications that have such a font?  And how
can we send bug reports if we have nothing to compare it to?  :-)

> It's interesting that you should mention that: that actually reminds
> me of one of my specific issues with Feta, namely that the curved
> centre line of its treble clef _does_ make it look to me as if it's
> leaning over backwards. Gonville's straight-backed version feels
> much more balanced to me.

That would be a bug.  How many degrees would you need to rotate it to
get it straight, in your opinion?
 
> You'd be welcome to include it if you wanted to

Sorry, I don't think it works that way.  But you can always send a
patch.

> - I was under no illusions that you'd instantly prefer it to the
> font you've carefully tuned to the criteria you consider important!

Of course I do.  But others using LilyPond may not?

> All I'd suggest is trivial changes to Lilypond to make it easy to
> use an alternative font, and at least not actually _deny_ that such
> a thing exists. (E.g. the documentation for ly:system-font-load
> currently says that only Emmentaler and Aybabtu contain the
> necessary LILC, LILF and LILY tables, which is now out of date :-)

Good idea, send a patch :-)

> Would a patch implementing that (which shouldn't change the current
> behaviour for anyone using Feta) be likely to be accepted?

If it looks good and makes sense, of course.

> Hmm. It probably wouldn't be too difficult for me to redo the whole
> thing with increased line thickness; probably not as easy as it
> would be for Feta (my metafont-like setup is less highly developed,
> which is only to be expected given how much more time you've
> spent!), but doable. I could try it and see how it looks.

Good!  Feta has been tuned together with all line thicknesses and I'm
not sure that changing those will still produce nice output.

> Indeed, I was pleasantly surprised at how easy it was to get a font
> with different metrics to work at all.  I was able to use the
> unmodified Lilypond binary, and all I had to change was the fonts
> subdirectory of $LILYPOND_DATADIR.

Yeah, but that's not a nice or robust solution.  You'd really have
to look into setting (font-family . feta) / (font-family . gonville)
or so and picking up the right file from a directory that contains
all fonts, feta and gonville alike.

Greetings,
Jan.




_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Danalute
In reply to this post by Kieren MacMillan

> it would be nicer if Lilypond itself could centre the digits
>> around the 2nd and 4th lines of the stave in the case
>> where they're smaller than 2*staff_spacing
>
> Be sure to consider non-5-line staff situations.

Character glyph could be raised above the baseline using a seperate coding
point for the musical semantic of a mensural symbol - trick then would be
to get ly to use that instead of the other.  Leave the numerals alone for
use as numerals (ms # and what have you), but clone the glyph
(Fontographer had a way to copy the glyph leaving it dynamically linked).
--
Dana Emery



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Jan Nieuwenhuizen-2
In reply to this post by Jan Nieuwenhuizen-2
Op maandag 19-10-2009 om 20:49 uur [tijdzone +0200], schreef Jan
Nieuwenhuizen:

Hi Simon,

> Op maandag 19-10-2009 om 15:33 uur [tijdzone +0100], schreef Simon
> Tatham:
> Jan Nieuwenhuizen <[hidden email]> wrote:
> >
> > All I'd suggest is trivial changes to Lilypond to make it easy to
> > use an alternative font, and at least not actually _deny_ that such
> > a thing exists. (E.g. the documentation for ly:system-font-load
> > currently says that only Emmentaler and Aybabtu contain the
> > necessary LILC, LILF and LILY tables, which is now out of date :-)
>
> Good idea, send a patch :-)

This turned out to be even easier than I thought.  In the end,
we /did/ do a good job on the font selection scheme, so it seems.

See

     http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commitdiff;h=c56ba7b4abd3b27e96367ea04b37f2e1d3b77663

However, this [from your README.dev]

    Generating the font files
    -------------------------

    To generate the full Gonville font in a Lilypond-ready form, run

      ./glyphs.py -lily

    This takes about half an hour on my 2.4GHz Core 2 Duo,

is a bit problematic.  We do not want to ship font binaries, but
I suppose we also do not want to add half an hour build time.

I guess you feel the same: it would really be nice if you found
a way to reduce the font build time :-)

HTH, Greetings,
Jan.

--
Jan Nieuwenhuizen <[hidden email]> | GNU LilyPond - The music typesetter
Avatar®: http://AvatarAcademy.nl    | http://lilypond.org



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Simon Tatham
Jan Nieuwenhuizen <[hidden email]> wrote:

> is a bit problematic.  We do not want to ship font binaries, but
> I suppose we also do not want to add half an hour build time.
>
> I guess you feel the same: it would really be nice if you found
> a way to reduce the font build time :-)

Absolutely! The half hour is an utter pain for me too, of course.

The current rendering scheme is the simplest one I could think up in
terms of development time: I generate trivial Postscript describing
a lot of overlapping nib shapes moving round the curves, call
Ghostscript to render to a bitmap, then call potrace to convert back
into outlines. Some rough-and-ready timing measurements suggest that
Ghostscript is the major consumer of CPU time in this process; my
guess is that it ought to be possible to write a much more efficient
rasteriser if I know it's only going to have to deal with a tiny
subset of the full PS rendering model.

I've half thought out a much more ambitious approach that doesn't go
through a physical bitmap at any point (and hence ought to improve
the quality of the output outlines too, due to losing the resolution
bottleneck), but I haven't yet worked out whether it's too ambitious
to be feasible, or indeed too ambitious for me to have time to try
it :-)

Cheers,
Simon
--
Simon Tatham         What do we want?        ROT13!
<[hidden email]>   When do we want it?     ABJ!


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Francisco Vila
In reply to this post by Jan Nieuwenhuizen-2
2009/10/20 Jan Nieuwenhuizen <[hidden email]>:
> See
>
>     http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commitdiff;h=c56ba7b4abd3b27e96367ea04b37f2e1d3b77663

After this change, piano braces do not work. Would it require a
complete font build?

Drawing systems.../usr/local/share/lilypond/2.13.6/scm/font.scm:167:29:
In procedure string-replace in expression (string-replace
"emmentaler-brace" "aybabtu" ...):
/usr/local/share/lilypond/2.13.6/scm/font.scm:167:29: Wrong type
(expecting exact integer): "emmentaler-brace"

--
Francisco Vila. Badajoz (Spain)
www.paconet.org
www.csmbadajoz.com


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

pnorcks
On 2009-10-20, Francisco Vila wrote:

> 2009/10/20 Jan Nieuwenhuizen <[hidden email]>:
> > See
> >
> >     http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commitdiff;h=c56ba7b4abd3b27e96367ea04b37f2e1d3b77663
>
> After this change, piano braces do not work. Would it require a
> complete font build?
>
> Drawing systems.../usr/local/share/lilypond/2.13.6/scm/font.scm:167:29:
> In procedure string-replace in expression (string-replace
> "emmentaler-brace" "aybabtu" ...):
> /usr/local/share/lilypond/2.13.6/scm/font.scm:167:29: Wrong type
> (expecting exact integer): "emmentaler-brace"

This should be fixed now in latest git.

Thanks,
Patrick


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Neil Puttock
2009/10/20 Patrick McCarty <[hidden email]>:

> This should be fixed now in latest git.

Works for me.

One little niggle remains: there are two grobs with font-family set to
'music (AmbitusAccidental and Clef), which means they ignore the
font-family change unless it's explicitly set (i.e., \override
Staff.Clef #'font-family = #'gonville).

I can't see any problem with removing these default settings from
define-grobs.scm.

Regards,
Neil


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Jan Nieuwenhuizen-2
In reply to this post by pnorcks
Op dinsdag 20-10-2009 om 09:47 uur [tijdzone -0700], schreef Patrick
McCarty:
> On 2009-10-20, Francisco Vila wrote:
> > 2009/10/20 Jan Nieuwenhuizen <[hidden email]>:

> > Drawing systems.../usr/local/share/lilypond/2.13.6/scm/font.scm:167:29:
> > In procedure string-replace in expression (string-replace
> > "emmentaler-brace" "aybabtu" ...):
> > /usr/local/share/lilypond/2.13.6/scm/font.scm:167:29: Wrong type
> > (expecting exact integer): "emmentaler-brace"

Oops, and

> This should be fixed now in latest git.

Thanks!

Jan -- who's a great believer of: did not test == does not work ;-)

--
Jan Nieuwenhuizen <[hidden email]> | GNU LilyPond - The music typesetter
Avatar®: http://AvatarAcademy.nl    | http://lilypond.org



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Jan Nieuwenhuizen-2
In reply to this post by Simon Tatham
Op dinsdag 20-10-2009 om 14:58 uur [tijdzone +0100], schreef Simon
Tatham:
> Jan Nieuwenhuizen <[hidden email]> wrote:

> I generate trivial Postscript describing
> a lot of overlapping nib shapes moving round the curves, call
> Ghostscript to render to a bitmap

Ah, I see.

> Ghostscript is the major consumer of CPU time in this process

If that is so, would it be feasible (and would it help?) to have
ghostscript render multiple glyphs in one go?  Is forking/startup
time a factor?

> I've half thought out a much more ambitious approach that doesn't go
> through a physical bitmap at any point (and hence ought to improve
> the quality of the output outlines too, due to losing the resolution
> bottleneck), but I haven't yet worked out whether it's too ambitious
> to be feasible, or indeed too ambitious for me to have time to try
> it :-)

It seems to me that your approach could me more attractive than
using metafont/metapost.  What is the reason you did not use
plain metapost input?

Jan.


--
Jan Nieuwenhuizen <[hidden email]> | GNU LilyPond - The music typesetter
Avatar®: http://AvatarAcademy.nl    | http://lilypond.org



_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Han-Wen Nienhuys-3
In reply to this post by Bertalan Fodor (LilyPondTool)
On Mon, Oct 19, 2009 at 5:36 PM, Bertalan Fodor (LilyPondTool)
<[hidden email]> wrote:
> Wow too.
> Actually, there are things in Feta what I don't feel natural either.
> For example: the caesura sign, the G-clef and the trill indication feels
> better for me in Gonville.
> Though the G-clef is I think a clear LilyPond watermark, so I would keep
> that one :)

I am to blame for curve in the downstroke of the clef, and I am not
satisfied with it either.  We had a straight version at some point,
but I gave up on it, because I couldnt get the transition at the
bottom crook from straight to curve correct, also I liked the somewhat
swingy feel of the curved downstroke, but I agree it could be less
curvy.


--
Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: Alternative music font

Neil Puttock
In reply to this post by Neil Puttock
2009/10/20 Neil Puttock <[hidden email]>:
> 2009/10/20 Patrick McCarty <[hidden email]>:
>
>> This should be fixed now in latest git.
>
> Works for me.

I guess I spoke a bit prematurely here, since the fix you pushed
always loads aybabtu, even when font-defaults has been redefined.
I've tried amending the code to allow switching to gonville-brace, but
it still doesn't work properly.  It seems that select_font () always
selects the default font for fetaBraces (or the first entry in the
node).

Regards,
Neil


_______________________________________________
lilypond-devel mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-devel
12