lilypond-devel
[Top][All Lists]
Advanced

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

Re: Guidelines for bounding boxes?


From: Werner LEMBERG
Subject: Re: Guidelines for bounding boxes?
Date: Mon, 10 Aug 2009 15:03:12 +0200 (CEST)

> if you can explain me what should I do, I would try to make it.

OK.  However, it seems to be more complicated than thougth at a first
glance.  Anyway, here a rough outline how it could be done.

1. Metafont is called for those fonts:

     feta11.mf, feta13.mf, ...,
     feta-braces-a.mf, feta-braces-b.mf, ...,
     feta-alphabet11.mf, feta-alphabet13.mf, ...,
     parmesan11.mf, parmesan13.mf, ...

   Except of the feta-alphabetXX fonts, all fonts cause warnings since
   they contain more than 15 different heights and depths.  The idea
   is now to split up feta, feta-brace, and parmesan into smaller
   fonts.

   Let's look into feta11.mf: It reads feta-autometric for some
   macros, sets the design size, then reads the generic driver file
   feta-generic.mf.  This file in turn reads the following files:

     feta-eindelijk
     feta-toevallig
     feta-arrow
     feta-puntje
     feta-bolletjes
     feta-schrift
     feta-banier
     feta-klef
     feta-timesig
     feta-pendaal
     feta-haak
     feta-accordion

   I could now imagine to replace feta11 with feta-eindelijk11,
   feta-toevallig11, feta-arrow11, ...  Similar things should be done
   for the other sub-families.

   feta-eindelijk11.mf would look like this:

     input feta-autometric;

     design_size := 11.22;

     subfont := "feta-eindelijk";
     input feta-generic;

     end.

   The `subfont' variable is then used in feta-generic; instead of the
   large number of `input ...' lines you would just have

     scantokens ("input " & subfont);

   [`input' doesn't expand its argument; you have to use the above
    trick as explained in The METAFONT book, page 180.]

2. Update `aybabtu.pe.in'.

3. You have to update `scripts/build/mf-to-table.py' to add a new
   command line option so that all its arguments are recognized as
   subfonts, sending the output data to a single file instead of
   multiple files.

4. Update scripts/build/gen-emmentaler-scripts.py to load all
   subfonts.

5. Update GNUmakefile.  To see what's going on I recommend that you
   compile lilypond from scratch, diverting stdin and stderr to a file
   like this:

     make all &> make.all.log


A further refinement would be to make the Makefile generate the
Metafont driver files on the fly to avoid zillions of input files.


    Werner




reply via email to

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