X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fcontributor%2Ffeta-font.itexi;h=78021ae8d73c858a3be151dc9e3888c90aa7b983;hb=ecd77731fb245ff8d602eea83935a9bbe559cb54;hp=a8bf78fe75dfb56af19f6f62e08ce12737028f38;hpb=078b99a83c50242c4c6e60e159c178e6c3e3283e;p=lilypond.git diff --git a/Documentation/contributor/feta-font.itexi b/Documentation/contributor/feta-font.itexi index a8bf78fe75..78021ae8d7 100644 --- a/Documentation/contributor/feta-font.itexi +++ b/Documentation/contributor/feta-font.itexi @@ -8,6 +8,7 @@ * Adding a new font section:: * Adding a new glyph:: * Building the changed font:: +* METAFONT formatting rules:: @end menu @node Overview of the feta font @@ -17,7 +18,10 @@ The feta font is a font that was created specifically for use in LilyPond. The sources for the font are found in mf/*.mf. The feta font is merged from a number of subfonts. Each subfont -can contain at most 223 glyphs. +can contain at most 224 glyphs. This is because each subfont is +limited to a one-byte address space (256 glyphs maximum) and we +avoid the first 32 points in that address space, since they are +non-printing control characters in ASCII. In LilyPond, glyphs are accessed by glyph name, rather than by code point. Therefore, the naming of glyphs is significant. @@ -38,13 +42,15 @@ available at CTAN. mf2pt1 is used to create type 1 fonts from the metafont sources. -FontForge is used to display the resulting glyph shapes. +FontForge is used to postprocess the output of mf2pt1 and clean up +details of the font. It can also be used by a developer to +display the resulting glyph shapes. @node Adding a new font section @section Adding a new font section The font is divided into sections, each of which contains less -than 223 glyphs. If more than 223 glyphs are included in a section, +than 224 glyphs. If more than 224 glyphs are included in a section, an error will be generated. Each of the sections is contained in a separate @code{.mf} file. The @@ -62,6 +68,8 @@ An entry in the generic file used to create the font, or a new generic file @item If necessary, new entries in the GNUmakefile +@item +An entry in @file{scripts/build/gen-emmentaler-scripts.py} @end itemize See the examples in @code{mf/} for more information. @@ -105,3 +113,20 @@ rm mf/out/* make @end example +@node METAFONT formatting rules +@section METAFONT formatting rules + +There are special formatting rules for METAFONT files. + +Tabs are used for indentation. + +When a path contains more than two points, put each point on a +separate line, with the operator at the beginning of the line: + +@example +fill z1 + -- z2 + -- z3 + .. cycle; +@end example +