> Currently I am working with a FontForge script to convert LilyPond
> music fonts to SMuFL.

There was/is a project to do that, see

  https://wolfgangsta.github.io/emmentaler-bravura/

It would be great if you could help with that.

> The following table(s) in the font have been ignored by FontForge
>   Ignoring 'LILC'
>   Ignoring 'LILF'
>   Ignoring 'LILY'
> 
> Also, when I tried to modify LilyPond music fonts provided by the
> OpenLilypondFonts projects in GitHub using FontForge, save them, and
> invoke the modified font in my LilyPond score, I found that many
> characters, such as noteheads are misplaced. So it seems like that
> the so said LILC, LILF and LILY table contains crucial metadata for
> a LilyPond music font to function normally. So my questions are as
> follows:
> 
>  * What are the three tables described above? What information do they
>    contain?
>  * Is there a font editor that can edit these tables? If not, how does
>    it come that music fonts in OpenLilyPondFonts have these tables?

In the current development versions we got rid of 'LILF'.  See
`README.md` and the `.py` scripts in the `mf` directory for an
explanation of the other two tables.  In short, `LILC` is a compressed
table that holds a large Scheme structure with extented metrics
information for the font, and `LILY` holds some more metadata like the
design size.  These tables are roughly equivalent to the the JSON
metadata as distributed with SMuFL fonts like Bravura.

You can see the exact contents if you do a LilyPond build from source
code: the data can be found in `mf/out/*.lisp` and
`mf/out/*.global-lisp`.


    Werner

Reply via email to