Lilypond font design

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

Lilypond font design

Till
Hei,

I was wondering if I could start some contribution to the medieval
notation support via redesigning the fonts that in my opinion don't look
very good. Especially referring to the mensural notehead style (I think
the petrucci looks quite fine, but neomensural and mensural heads are
lot too small and also a bit boring, eg. too conform). I know there are
thouthands of styles due to the fact that everybody wrote their own
style, but we might choose from them one  that would be really nice
looking (kind of the same as the feta font does). I am not yet quite
finished with my thinking how the heads really should look, but I think
a really nice overall look gives the Copenhagen chancionnier, Burgung,
late 15th century. Compare for example this page:
http://base.kb.dk/pls/hsk_web/hsk_vis.side?p_hs_loebenr=27&p_sidenr=8&p_illnr=0&p_frem=20&p_tilbage=9&p_navtype=rel&p_lang=dan
or others from this book.

So I would like to hear some opinions on this issue and also some hints
about how Lilypond's fonts work (fontforge doesn't show any glyphs on
the emental and I have no idea how to open svg fonts nor how they work).

Also other issues about the mensural notation support could be solved,
especially spacing (as in the picture), then those ligature issues. And
it would probably be convenient to have also a kind of init file same as
for the gregorian notation style.

On a later plane I would also like to have integration of other styles
of mensural notation, even starting from the modal notation of the 12th
century France.

Greetings
Till



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

Re: Lilypond font design

Werner LEMBERG

> I was wondering if I could start some contribution to the medieval
> notation support via redesigning the fonts that in my opinion don't
> look very good. [...]

I can't give any design recommendation due to lack of knowledge.

Whatever you do, *please* follow the guidelines in mf/README (almost
all ancient glyphs don't do that, unfortunately).  An `exact'
conversion would be really cool!

> So I would like to hear some opinions on this issue and also some
> hints about how Lilypond's fonts work (fontforge doesn't show any
> glyphs on the emental [...])

Of course it does!  Just select Encoding->Reencode->Glyph Order (the
last entry is `Original' in older FontForge versions).


    Werner


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

Re: Lilypond font design

Karl Hammar
In reply to this post by Till
[hidden email]:
> I was wondering if I could start some contribution to the medieval
> notation support via redesigning the fonts that in my opinion don't look
> very good. Especially referring to the mensural notehead style (I think
...

 Great!
Is your goal, like Guthenburg, to make a few e's etc, to simulate the
variability of handwriting also?
Would that be possible within lilypond?

==========

Btw, I have found an antiqua font:

 http://moorstation.org/typoasis/designers/lab/lab_dayroman.htm

which could be useful. The copyright seems to be

  Hope the ghost of Guyot looks good enough for your designs. Have a
  blast with it. If you use it commercially, give something to your
  favourite charity, will ya?

I will try to make it usable within lilypond, though I don't know how to
handle the diftongs or the cases where there is two variant of the same
letter.

Is any who knows how to include tex's yfrak frakture fonts?

Regards,
/Karl




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

Re: Lilypond font design

Juergen Reuter
In reply to this post by Till
On Tue, 16 Jan 2007, Till Rettig wrote:

> Hei,
>
> I was wondering if I could start some contribution to the medieval
> notation support

That would be great!

> via redesigning the fonts that in my opinion don't look
> very good. Especially referring to the mensural notehead style (I think
> the petrucci looks quite fine, but neomensural and mensural heads are
> lot too small and also a bit boring, eg. too conform).

Agreed.  I have been mainly concentrating on Vaticana style and Petrucci
style.  As Werner already indicated, the ancient font was written before
Lily used fontforge et al.  Therefore, the glyphs do not follow all
prerequisites that Lily glyphs are nowadays supposed to consider (in
particular, there are some metafont constructs, that should not be used).
Personally, I had so far no time to convert them.  So, if you design new
glyphs, please follow the guidelines that Werner mentioned.

Also, you should be aware of some subtle optical pitfalls such as the fact
that e.g. the slightly thickened lines on the lower left and upper right
of the semibrevis head make the head look asymetrical, which you may want
to compensate by its geometry (IIRC this is partially commented somewhere
in the .mf files).

> I know there are
> thouthands of styles due to the fact that everybody wrote their own
> style, but we might choose from them one  that would be really nice
> looking (kind of the same as the feta font does). I am not yet quite
> finished with my thinking how the heads really should look, but I think
> a really nice overall look gives the Copenhagen chancionnier, Burgung,
> late 15th century. Compare for example this page:
> http://base.kb.dk/pls/hsk_web/hsk_vis.side?p_hs_loebenr=27&p_sidenr=8&p_illnr=0&p_frem=20&p_tilbage=9&p_navtype=rel&p_lang=dan
> or others from this book.
>

For experimenting, maybe at first you want to introduce a new style
(similarly to the Petrucci style)?  Later, if your glyphs are mature, you
still can replace the mensural/neo-mensural glyphs with those from you.

> So I would like to hear some opinions on this issue and also some hints
> about how Lilypond's fonts work (fontforge doesn't show any glyphs on
> the emental and I have no idea how to open svg fonts nor how they work).
>
> Also other issues about the mensural notation support could be solved,
> especially spacing (as in the picture), then those ligature issues. And

Most spacing problems in ancient notation are related with the spacing
engine, rather than with the font (actually, the bounding boxes of the
ancient glyphs should be fairly good).  You may find some further hints
as comments in the lily/*ligature*.cc files as well as in
ly/gregorian-init.ly and the ancient context definitions in
ly/engraver-init.ly.

A couple of months ago, I figured out three places in the spacing engine
which have to be tweaked in order to get equally tight spacing (although
these changes also affected spacing of clefs, accidentals, etc., which is
not desirable).  However, many things have changed since then in the
spacing engine.

> it would probably be convenient to have also a kind of init file same as
> for the gregorian notation style.
>

Agreed.  Especially, one may want move stuff from engraver-init.ly to a
mensural-init.ly.  On the other side, then the user will have to add a
"\include mensural-init.ly", which you currently do not need to do (as the
definitions in engraver-init.ly are automatically imported).  I am not
sure about this point (i.e. having clearly separated definitions that you
manually have to import versus putting them into engraver.ly and friends
versus having them clearly separated but automatically always importing
them).

> On a later plane I would also like to have integration of other styles
> of mensural notation, even starting from the modal notation of the 12th
> century France.
>

Yes, sounds interesting.  Also, mannered notation would be nice.  However,
be aware that you easily end up in a kind of bottomless pit.  I think the
real challenge here is to make the associated mechanisms on the C++ level
more flexible (spacing engine, glyph selection, ...), such that you have
sufficient infrastructure in order to plug-and-play styles on the scheme
level.

Greetings,
Juergen

> Greetings
> Till
>
>
>
> _______________________________________________
> 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: Lilypond font design

Till
In reply to this post by Werner LEMBERG


Werner LEMBERG wrote:
I was wondering if I could start some contribution to the medieval
notation support via redesigning the fonts that in my opinion don't
look very good. [...]
    

I can't give any design recommendation due to lack of knowledge.

Whatever you do, *please* follow the guidelines in mf/README (almost
all ancient glyphs don't do that, unfortunately).  An `exact'
conversion would be really cool!
  
Well, I don't really know yet anything about font design myself except maybe the point that ttf/otf fonts have a wide variance of substitution rules that are possible to intergrate. But does Lily care about them? Anyways, I will have a closer look at the README. Do you think I should generate mf fonts?
  
So I would like to hear some opinions on this issue and also some
hints about how Lilypond's fonts work (fontforge doesn't show any
glyphs on the emental [...])
    

Of course it does!  Just select Encoding->Reencode->Glyph Order (the
last entry is `Original' in older FontForge versions).

  
I will try this!

Greetings
Till

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

Re: Lilypond font design

Till
In reply to this post by Karl Hammar


Karl Hammar wrote:
>  Great!
> Is your goal, like Guthenburg, to make a few e's etc, to simulate the
> variability of handwriting also?
> Would that be possible within lilypond?
>  
Well, I don't know yet -- it would definitely be userfull for the
samples taken from handwritten fonts. But what rules apply for the
substitution? And should the font handle it itself (otf-features,
maybe), or should it be built into lily?

> ==========
>
> Btw, I have found an antiqua font:
>
>  http://moorstation.org/typoasis/designers/lab/lab_dayroman.htm
>
> which could be useful. The copyright seems to be
>
>   Hope the ghost of Guyot looks good enough for your designs. Have a
>   blast with it. If you use it commercially, give something to your
>   favourite charity, will ya?
>
> I will try to make it usable within lilypond, though I don't know how to
> handle the diftongs or the cases where there is two variant of the same
> letter.
>
>  
So far I thought only about the notation fonts, but you are right, there
should be also a nice looking roman font. DayRoman would be nearly
perfect for imitation of printed editions from the 16 century. About the
copyright I am not so sure -- lily should per default only inlcude parts
that can also freely be used for buisness stuff. On the other hand the
sentence doesn't oblige anybody but is a mere whish.
> Is any who knows how to include tex's yfrak frakture fonts?
>  
Couldn't they be converted to otf and then used easyly via the system
installation for fonts or then included into lily as a choice. Actually
how did Laura Conrad use her "Fraktur" fonts in LilyPond?


Greetings
Till


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

Re: Lilypond font design

Till
In reply to this post by Juergen Reuter


Juergen Reuter wrote:

>
> Agreed.  I have been mainly concentrating on Vaticana style and
> Petrucci style.  As Werner already indicated, the ancient font was
> written before Lily used fontforge et al.  Therefore, the glyphs do
> not follow all prerequisites that Lily glyphs are nowadays supposed to
> consider (in particular, there are some metafont constructs, that
> should not be used). Personally, I had so far no time to convert
> them.  So, if you design new glyphs, please follow the guidelines that
> Werner mentioned.
>
> Also, you should be aware of some subtle optical pitfalls such as the
> fact that e.g. the slightly thickened lines on the lower left and
> upper right of the semibrevis head make the head look asymetrical,
> which you may want to compensate by its geometry (IIRC this is
> partially commented somewhere in the .mf files).
That sounds interesting. I didn't yet actually try, just gathering some
ideas, next week I might have time for something. I thought first just
taking pictures from the internet into fontforge and then redrawing
their outlets -- as it is shown in the tutorial. Problem is that my
pictures have a really low resolution, so I will most likely have to
somewhat fit my design.

One thing I thought about were the stems. In both the handwriting I sent
a link and one petrucci copy I got from the internet the stems get
thicker towards their ends (similar to the b's in normal lilypond
output). So they cannot just be drawn at whatever lenghth. Instead I
think they should default to one lenght for all stems (which is no
problem since they are not connected to anything, only the flags might
cause them go grow, but then we can just design a special stem with flag
that is used instead. So stem and beam engravers should be the same.
>
>
> For experimenting, maybe at first you want to introduce a new style
> (similarly to the Petrucci style)?  Later, if your glyphs are mature,
> you still can replace the mensural/neo-mensural glyphs with those from
> you.
That sounds good, it will anyway take some time to get the font
completed. Is it then usefull to include all symbols into one font (that
is accidentials, notehads, stems/flags, clefs (is there something else?)
Yes, and the question how to write the ligatures. But I might just ask
you again at the point when I have gathered already some experience with
single notes.

>> Also other issues about the mensural notation support could be solved,
>> especially spacing (as in the picture), then those ligature issues. And
>
> Most spacing problems in ancient notation are related with the spacing
> engine, rather than with the font (actually, the bounding boxes of the
> ancient glyphs should be fairly good).  You may find some further
> hints as comments in the lily/*ligature*.cc files as well as in
> ly/gregorian-init.ly and the ancient context definitions in
> ly/engraver-init.ly.
>
> A couple of months ago, I figured out three places in the spacing
> engine which have to be tweaked in order to get equally tight spacing
> (although these changes also affected spacing of clefs, accidentals,
> etc., which is not desirable).  However, many things have changed
> since then in the spacing engine.
>
Unfortunately I don't have any idea so far about how this really works
(I mean in the technically sense, like from program code). And I am not
so sure how I would even start learning it. But it is definitely a very
important thing for ancient notation support. Isn't there some solution
that could be done with the spacing engine on the surface? Like extreme
shrinking of spacing values or something?

>> it would probably be convenient to have also a kind of init file same as
>> for the gregorian notation style.
>>
>
> Agreed.  Especially, one may want move stuff from engraver-init.ly to
> a mensural-init.ly.  On the other side, then the user will have to add
> a "\include mensural-init.ly", which you currently do not need to do
> (as the definitions in engraver-init.ly are automatically imported).  
> I am not sure about this point (i.e. having clearly separated
> definitions that you manually have to import versus putting them into
> engraver.ly and friends versus having them clearly separated but
> automatically always importing them).
I definitely think we should have this, because nobody forces you to use
it if you don't like it. Just make your things with hand, if you like
this, but you *can* use the template if it helps you making things
easier. There might be also the posibility to switch it on and of (or
including at a later point then the engraver-init.ly) to make writing
incipits easier. And that way we might really come to a point where the
same input gives both the old style edition and the modern version of it
-- ther might even be automatic reduction of notation values for older
notation forms as they are used in most modern editions (like breve =
whole note)

>
>> On a later plane I would also like to have integration of other styles
>> of mensural notation, even starting from the modal notation of the 12th
>> century France.
>>
>
> Yes, sounds interesting.  Also, mannered notation would be nice.  
> However, be aware that you easily end up in a kind of bottomless pit.  
> I think the real challenge here is to make the associated mechanisms
> on the C++ level more flexible (spacing engine, glyph selection, ...),
> such that you have sufficient infrastructure in order to plug-and-play
> styles on the scheme level.
Yes, that's probably what I would like -- so far I don't have any real
idea about how lilypond works inside. There will be still much work
ahead. But I think it's worth getting started. Even though I am probably
a bit naively enthusiastic. ;-)

Greetings
Till



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

Re: Lilypond font design

Mats Bengtsson-4
I hope you have realized that you have to learn MetaFont
to be able to implement the fonts (at least if you want them
included in the distribution).

   /Mats


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

Re: Lilypond font design

Werner LEMBERG
In reply to this post by Till
> > Whatever you do, *please* follow the guidelines in mf/README
> > (almost all ancient glyphs don't do that, unfortunately).  An
> > `exact' conversion would be really cool!
> >
> Well, I don't really know yet anything about font design myself
> except maybe the point that ttf/otf fonts have a wide variance of
> substitution rules that are possible to intergrate.

This isn't of importance for fonts containing music glyphs.

> But does Lily care about them?

Not directly (this is, Pango takes care of ligatures and the like).

> Anyways, I will have a closer look at the README. Do you think I
> should generate mf fonts?

Yes, definitely.  Starting with existing glyphs which then get
modified is not too complicated.


    Werner


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

Re: Lilypond font design

Laura Conrad
In reply to this post by Till
>>>>> "Till" == Till Rettig <[hidden email]> writes:

    Till> Couldn't they be converted to otf and then used easyly via the system
    Till> installation for fonts or then included into lily as a
    Till> choice. Actually how did Laura Conrad use her "Fraktur" fonts in
    Till> LilyPond?


I didn't.  They're in LaTeX, and the lilypond is processed by
lilypond-book.  The exact way I did this doesn't work on anything
since lilypond 2.4 or so.  So if I want to go on having titles in
exotic fonts, I have to either figure out how to tell lilypond to use
them, or how to tell lilypond-book to do its own titles and not use
the ones in the lilypond file.  So far, I've cheated and just edited
the header in the lilypond file to not include the titles I wanted
lilypond-book to handle, but that's not the right answer.

--
Laura (mailto:[hidden email] , http://www.laymusic.org/ )
(617) 661-8097 fax: (501) 641-5011
233 Broadway, Cambridge, MA 02139


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