]> git.donarmstrong.com Git - lilypond.git/blob - mf/feta-timesig.mf
patch::: 1.0.11.mb2: Re: Old time signatures in LilyPond
[lilypond.git] / mf / feta-timesig.mf
1
2 % feta-timesig.mf --  implement Time Signatures
3
4 % source file of the Feta (Font-En-Tja) music font
5
6 % (c) 1998 Mats Bengtsson <matsb@s3.kth.se>
7
8 fet_begingroup("timesig");
9
10 def draw_C =
11         save hair, bulb_rad;
12         hair# := stafflinethickness#;
13         bulb_rad# := interline# / 3;
14         define_pixels(hair, bulb_rad);
15
16         x1r = x5;
17         y1r = .4 interline;
18         z2 = (0, interline);
19         z3r = (-b, 0);
20         z4 = (0, -interline);
21         z5r = (w, -2 stafflinethickness);
22         
23         penpos1(hair, 0);
24         penpos2(stafflinethickness, 90);
25         penpos3(4 stafflinethickness, 180);
26         penpos4(stafflinethickness, -90);
27         penpos5(hair, -5);
28         
29         draw_bulb(-1, z1l,  z1r, bulb_rad, .8);
30
31         fill z1l{up} .. z2l{left} .. z3l{down} .. z4l{right} ..
32         simple_serif(z5l, z5r, -90) .. 
33         z4r{left} .. z3r{up} .. z2r{right} .. z1r -- cycle;
34         
35 %       labels(1,2,3,4,5);
36         penlabels(1,2,3,4,5);
37 enddef;
38
39 fet_beginchar ("4/4 meter", "C", "fourfourmeter")
40         set_char_box(.8 interline#, .7 interline#, interline#, interline#);
41         
42         draw_C;
43 fet_endchar;
44
45 fet_beginchar ("2/2 meter", "C2", "allabreve")
46         set_char_box(.8 interline#, .7 interline#, 1.4 interline#, 1.4 interline#);
47         
48         draw_C;
49         draw_block((-1.5stafflinethickness, -d), (0, h));
50 fet_endchar;
51
52 path threequartercircle;
53 threequartercircle = halfcircle & quartercircle rotated 180;
54
55 save Cdiameter,Cthickness;
56 Cdiameter# := 3/2 interline#;
57 Cthickness# := 2 stafflinethickness#;
58 define_pixels(Cdiameter,Cthickness);
59
60 fet_beginchar ("Mensural 4/4 meter", "oldC", "oldfourfourmeter")
61         set_char_box(.5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#);
62         
63         pickup pencircle scaled Cthickness;
64         draw threequartercircle rotated 45 scaled Cdiameter;
65 fet_endchar;
66
67 fet_beginchar ("Mensural 2/2 meter", "oldC2", "oldallabreve")
68         set_char_box(.5 Cdiameter#, .5 Cdiameter#, interline#, interline#);
69         
70         pickup pencircle scaled Cthickness;
71         draw threequartercircle rotated 45 scaled Cdiameter;
72         draw_block((-Cthickness, -d), (0, h));
73 fet_endchar;
74
75 fet_beginchar ("Mensural 3/2 meter", "old3_2", "oldthreetwometer")
76         set_char_box(.5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#);
77         
78         pickup pencircle scaled Cthickness;
79         draw fullcircle scaled Cdiameter;
80 fet_endchar;
81
82 fet_beginchar ("Mensural 6/4 meter", "old6_4", "oldsixfourmeter")
83         set_char_box(.5 Cdiameter#, .5 Cdiameter#, 
84                 .5 Cdiameter# + .5 interline#, Cdiameter#+ .5 interline#);
85         
86         pickup pencircle scaled Cthickness;
87         draw threequartercircle rotated 45 scaled Cdiameter 
88                 shifted (0,.5 interline);
89         pickup pencircle scaled 3 stafflinethickness;
90         draw (0,.5 interline);
91 fet_endchar;
92
93 fet_beginchar ("Mensural 9/4 meter", "old9_4", "oldninefourmeter")
94         set_char_box(.5 Cdiameter#, .5 Cdiameter#, 
95                 .5 Cdiameter# + .5 interline#, Cdiameter#+ .5 interline#);
96         
97         pickup pencircle scaled Cthickness;
98         draw fullcircle scaled Cdiameter shifted (0,.5 interline);
99         pickup pencircle scaled 3 stafflinethickness;
100         draw (0,.5 interline);
101 fet_endchar;
102
103
104 fet_endgroup("timesig");