]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-toevallig.mf
release: 1.5.3
[lilypond.git] / mf / feta-toevallig.mf
index a3cddb3fa0e6a1901701e77a527f95af77cf0998..21bacb30446566025ec64a5094e1f36c6914f499 100644 (file)
@@ -3,7 +3,7 @@
 % 
 % source file of the Feta (Font-En-Tja) music font
 % 
-% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 % 
 
 
@@ -26,19 +26,19 @@ fet_begingroup("accidentals");
 % a square pen).  [Wanske] does not mention this, so we'll just ignore 
 % this fact
 %
-fet_beginchar("Sharp" , "1", "sharp");
-       set_char_box(0, 1.1 interline#, 1.5 interline#, 
-               1.5 interline#);
+fet_beginchar("Default Sharp" , "1", "sharp");
+       set_char_box(0, 1.1 staff_space#, 1.5 staff_space#, 
+               1.5 staff_space#);
 
        save interbeam, interstem, beamheight, beamwidth, 
                stemwidth;
 
-       interbeam := 1.05 interline;
+       interbeam := 1.05 staff_space;
        interstem := 7/16 ;
        beamheight := 4 stafflinethickness;
        beamwidth := w;
        stemwidth := 1.3 stafflinethickness;
-       roundness := blot_diameter;
+       roundness := 2blot_diameter;
        pair center;
        center := (.5 w, 0);
        
@@ -70,8 +70,8 @@ fet_beginchar("Sharp" , "1", "sharp");
 
        pickup pencircle scaled stemwidth;
        x3 = x4 = xpart center;
-       bot y3 = -1.5 interline + ypart center;
-       top y4 = 1.5 interline + ypart center;
+       bot y3 = -1.5 staff_space + ypart center;
+       top y4 = 1.5 staff_space + ypart center;
 
        path stem;
        stem := z3 .. z4;
@@ -82,8 +82,8 @@ fet_beginchar("Sharp" , "1", "sharp");
        labels(1,2,3,4);
        fet_endchar;
 
-fet_beginchar( "Natural", "0", "natural")
-       set_char_box(0, 8/12 interline#, 1.5 interline#, 1.5 interline#);
+fet_beginchar( "Default Natural", "0", "natural")
+       set_char_box(0, 8/12 staff_space#, 1.5 staff_space#, 1.5 staff_space#);
 
        save interbeam, interstem, beamheight, beamwidth, 
                stemwidth;
@@ -98,7 +98,7 @@ fet_beginchar( "Natural", "0", "natural")
 
 
        pickup penrazor scaled beamheight rotated 90;
-       top y2 = interline - 3/2 stafflinethickness ;
+       top y2 = staff_space - 3/2 stafflinethickness ;
        slope =  stafflinethickness / interstem;
        
        draw z1 .. z2;
@@ -108,7 +108,7 @@ fet_beginchar( "Natural", "0", "natural")
        pickup pencircle scaled stemwidth;
        xpart z3 = xpart z1;
        xpart z4 = xpart z2;
-       top y3 = 1.5 interline;
+       top y3 = 1.5 staff_space;
        top y4 = beamtop;
 
        draw (xpart z1, -y4) .. z3;
@@ -139,8 +139,8 @@ def draw_meta_flat(expr xcenter, w, crook_fatness) =
        bottom_stem_thick = 1.2 stafflinethickness;
 
 
-       z1 = (0, 2 interline) + center;
-       z2 = (0, - 1/2 interline)+  center;
+       z1 = (0, 2 staff_space) + center;
+       z2 = (0, - 1/2 staff_space)+  center;
 
        penpos1(top_stem_thick, 0);
        penpos2(bottom_stem_thick, 0); 
@@ -148,22 +148,22 @@ def draw_meta_flat(expr xcenter, w, crook_fatness) =
        fill simple_serif(z1r, z1l, 30) -- z2l -- z2r -- cycle;
 
 
-       y3l = (interline - stafflinethickness)/2 + ypart center;
+       y3l = (staff_space - stafflinethickness)/2 + ypart center;
        z3l = whatever [z2r,z1r];
 
        z3r = .26 [z2r, z1r];
 
 
-       z4 = (3/8 interline, interline/2) + center;
+       z4 = (3/8 staff_space, staff_space/2) + center;
        penpos4(whatever, 53);
        y4l - y4r = 2 crook_thinness ;
 %      y4l - y4r = 6/20[crook_thinness, crook_fatness] ;
 
-       y5r = 1/4 interline + ypart center;
+       y5r = 1/4 staff_space + ypart center;
        x5l = w + xpart center;
        penpos5(crook_fatness, -175);
 
-       z8 = (0, - interline/2 - stafflinethickness/2) + center;
+       z8 = (0, - staff_space/2 - stafflinethickness/2) + center;
 
        z9 = (x5,0);
 
@@ -183,7 +183,7 @@ def draw_meta_flat(expr xcenter, w, crook_fatness) =
        x8r =  xpart center - bottom_stem_thick/2;
        penlabels(range 0 thru 10);
 
-       z10 = (bottom_stem_thick/2, -1/5 interline) + center;
+       z10 = (bottom_stem_thick/2, -1/5 staff_space) + center;
 
        unfill z3r{up} .. z4r{right} .. tension .9 
                .. z6r ---
@@ -203,29 +203,29 @@ enddef;
 %
 % unfortunately, 600dpi is not enough to show the brush of the stem.
 %
-fet_beginchar("Flat", "-1", "flat")
-       set_char_box(1.2 stafflinethickness#, .8 interline#, .5 interline#, 2 interline#);
-       draw_meta_flat(0, w, 1/3 interline);
+fet_beginchar("Default Flat", "-1", "flat")
+       set_char_box(1.2 stafflinethickness#, .8 staff_space#, .5 staff_space#, 2 staff_space#);
+       draw_meta_flat(0, w, 1/3 staff_space);
        fet_endchar;
 
 
-fet_beginchar("Double flat", "-2", "flatflat")
+fet_beginchar("Default Double Flat", "-2", "flatflat")
        save left_wid, overlap, right_wid;
        left_wid = .7;
        right_wid = .8;
        overlap = .05;
-       set_char_box(1.2 stafflinethickness#, (left_wid + right_wid -overlap) *interline#, .5 interline#, 2 interline#);
-       draw_meta_flat(0, left_wid*  interline, 1/3 interline);
-       draw_meta_flat((left_wid - overlap) *interline,  
-               right_wid *interline, 1/3 interline);
+       set_char_box(1.2 stafflinethickness#, (left_wid + right_wid -overlap) *staff_space#, .5 staff_space#, 2 staff_space#);
+       draw_meta_flat(0, left_wid*  staff_space, 1/3 staff_space);
+       draw_meta_flat((left_wid - overlap) *staff_space,  
+               right_wid *staff_space, 1/3 staff_space);
        fet_endchar;
 
-fet_beginchar("Double sharp", "2", "sharpsharp")
-       set_char_box(0, interline#, .5 interline#, .5 interline#);
+fet_beginchar("Default Double Sharp", "2", "sharpsharp")
+       set_char_box(0, staff_space#, .5 staff_space#, .5 staff_space#);
        save klaverblad, klaversteel;
 
-       klaversteel = 1/15 interline;
-       klaverblad = .35 interline;
+       klaversteel = 1/15 staff_space;
+       klaverblad = .35 staff_space;
 
        z1 = (klaversteel, 0);
        z2 = (w/2 - klaverblad / 10, h - klaverblad);
@@ -234,7 +234,7 @@ fet_beginchar("Double sharp", "2", "sharpsharp")
        z5 = z1 reflectedabout((0,0), (1,1));
 
        labels(1,2,3,4,5);
-       pickup pencircle scaled 1/20 interline;
+       pickup pencircle scaled 1/20 staff_space;
        filldraw  
                z1{dir 45} .. {right}z2 -- z3 -- 
                z4{down} .. {dir 225}z5 .. cycle;
@@ -247,8 +247,202 @@ fet_beginchar("Double sharp", "2", "sharpsharp")
        currentpicture := currentpicture  shifted (w/2,0);
 
 
+
+fet_endchar;
+
+
+def draw_paren =
+       save leftindent;
+       leftindent# := .2 staff_space#;
+       define_pixels(leftindent);
+       set_char_box(0, .5 staff_space#+stafflinethickness#,
+         staff_space#, staff_space#);
+       z1 = (leftindent,h);
+       z2 = (w-stafflinethickness,0);
+       z3 = (leftindent,-d);
+
+       penpos1(stafflinethickness, 35);
+       penpos2(2 stafflinethickness, 0);
+       penpos3(stafflinethickness, -35);
+
+       penlabels(1,2,3);
+       fill z2l{down} .. simple_serif(z3l, z3r, 90) .. z2r{up}
+       .. simple_serif(z1r, z1l, 90) .. z2l{down} -- cycle;
+enddef;
+  
+fet_beginchar("Right Parenthesis", ")", "rightparen")
+       draw_paren;
+fet_endchar;
+
+fet_beginchar("Left Parenthesis", "(", "leftparen")
+       draw_paren;
+        currentpicture := currentpicture xscaled -1;
+        set_char_box(charwd, charbp, chardp, charht);
+fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% EDITIO MEDICAEA
+%
+%
+%
+fet_beginchar("Ed. Med. Flat" , "medicaea-1", "medicaeaflat");
+       set_char_box(0, 0.8 staff_space#, 0.6 staff_space#, 
+         2.0 staff_space#);
+
+       pickup pencircle
+               xscaled 0.50 stafflinethickness
+               yscaled 0.22 staff_space;
+
+       save za, zb;
+       pair za, zb;
+
+       za = (0.00 staff_space, +0.90 staff_space);
+       zb = (0.00 staff_space, -0.50 staff_space);
+       draw za -- zb;
+
+       pickup pencircle
+               xscaled 0.50 stafflinethickness
+               yscaled 0.22 staff_space
+               rotated -63;
+
+       save zc, zd, ze;
+       pair zc, zd, ze;
+
+       zc = (0.10 staff_space, -0.50 staff_space);
+       zd = (0.40 staff_space, +0.40 staff_space);
+       ze = (0.10 staff_space, +0.40 staff_space);
+
+       draw zc{(1,2)} .. zd .. ze{(-1,-1)};
+
+       fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% EDITIO VATICANA
+%
+%
+%
+fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat");
+        set_char_box(0, 0.8 staff_space#, 0.6 staff_space#, 
+                2.0 staff_space#);
+        define_pixels (stafflinethickness, staff_space);
+
+        save za, zb, zc, zd, ze, zf, zg;
+        pair za, zb, zc, zd, ze, zf, zg;
+        za = (0.00 staff_space, +0.80 staff_space);
+        zb = (0.00 staff_space, -0.03 staff_space);
+        zc = (0.25 staff_space, -0.23 staff_space);
+        zd = (0.50 staff_space, -0.23 staff_space);
+        ze = (0.50 staff_space, +0.00 staff_space);
+        zf = (0.25 staff_space, +0.20 staff_space);
+        zg = (0.15 staff_space, +0.26 staff_space);
+
+        pickup pencircle
+                xscaled 0.50 stafflinethickness
+                yscaled 0.22 staff_space;
+        draw za{down} .. {down}zb .. zc .. zd{up} .. {up}ze .. zf .. zg;
+        fet_endchar;
+
+fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural");
+       set_char_box(0, 0.7 staff_space#, 0.6 staff_space#, 
+               2.0 staff_space#);
+       define_pixels (stafflinethickness, staff_space);
+
+       save za, zb, zc, zd;
+       pair za, zb, zc, zd;
+       pickup pencircle
+               xscaled 0.80 stafflinethickness
+               yscaled 0.22 staff_space;
+       za = (0.00 staff_space, +0.65 staff_space);
+       zb = (0.00 staff_space, -0.35 staff_space);
+       zc = (0.00 staff_space, -0.30 staff_space);
+       zd = (0.40 staff_space, -0.08 staff_space);
+       draw za -- zb;
+       draw zc -- zd;
+
+       addto currentpicture also currentpicture
+               xscaled -1
+               yscaled -1
+               shifted (0.40 staff_space, 0.0 staff_space);
+
+       fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% MENSURAL NOTATION
+%
+%
+%
+fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp");
+       set_char_box(0, 0.7 staff_space#, 0.5 staff_space#, 
+               0.5 staff_space#);
+       save stemthick;
+       define_pixels (stemthick, staff_space);
+       stemthick# = stafflinethickness#;
+
+       save za, zb;
+       pair za, zb;
+       pickup pencircle scaled 0.8 stemthick;
+       za = 0.4 * staff_space * (0.8, 1);
+       za = -zb;
+       draw za .. zb;
+
+       addto currentpicture also currentpicture xscaled -1;
+       addto currentpicture also currentpicture shifted (0.20 staff_space, 0);
+
        fet_endchar;
 
+fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat");
+       set_char_box(0, 0.7 staff_space#, 0.4 staff_space#, 
+               1.8 staff_space#);
+       save stemthick;
+       define_pixels (stemthick, staff_space);
+       stemthick# = stafflinethickness#;
+
+       save za, zb, zc, zd, ze;
+       pair za, zb, zc, zd, ze;
+       pickup pencircle
+               xscaled 1.4 stemthick
+               yscaled 0.6 stemthick
+               rotated 45;
+
+       za = (0.00 staff_space, +1.80 staff_space);
+       zb = (0.00 staff_space, -0.25 staff_space);
+       zc = (0.35 staff_space, -0.25 staff_space);
+       zd = (0.35 staff_space, +0.25 staff_space);
+       ze = (0.00 staff_space, +0.25 staff_space);
+       draw za -- zb .. zc .. zd .. ze;
+       fet_endchar;
+
+fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat");
+       set_char_box(0, 0.7 staff_space#, 0.4 staff_space#, 
+               1.8 staff_space#);
+       save stemthick;
+       define_pixels (stemthick, staff_space);
+       stemthick# = stafflinethickness#;
+
+       save za, zb, zc, zd, ze, zf;
+       pair za, zb, zc, zd, ze, zf;
+       pickup pencircle
+               xscaled 2.4 stemthick
+               yscaled 0.4 stemthick
+               rotated 45;
+
+       za = (0.00 staff_space, +1.80 staff_space);
+       zb = (0.00 staff_space, -0.15 staff_space);
+       zc = (0.25 staff_space, -0.30 staff_space);
+       zd = (0.50 staff_space, +0.00 staff_space);
+       ze = (0.30 staff_space, +0.30 staff_space);
+       zf = (0.00 staff_space, +0.15 staff_space);
+       draw za -- zb -- zc .. zd .. ze -- zf;
+       fet_endchar;
 
 fet_endgroup("accidentals");