]> git.donarmstrong.com Git - lilypond.git/blob - mf/feta-timesig.mf
*** empty log message ***
[lilypond.git] / mf / feta-timesig.mf
1
2 % feta-timesig.mf --  implement Time Signatures
3
4 % source file of the Feta (not an abbreviation of Font-En-Tja) music font
5
6 % (c) 1998--2004 Mats Bengtsson <matsb@s3.kth.se>,
7 %                Christian Mondrup <scancm@biobase.dk>
8
9 fet_begingroup("timesig");
10
11
12 %
13 % originally by Mats B. nuked by Han-Wen, inspired by
14 % Baerenreiter BA320 (Bach Cello Suites, Suite III)
15 %
16 % Notes:
17
18 %  * the inside curve of the C is rather straight.
19 %  * the outside curve of the C is rather round.
20 %  * right tips of the C point slightly outward
21 %  * lower tip protudes to the right very slightly.
22 %
23
24
25 def draw_C =
26         save hair, bulb_rad, left_fatness;
27         save left_width, right_width;
28         save width;
29
30         width# := 1.8 staff_space#- stafflinethickness#;
31         define_pixels (width);
32
33         left_width# := 1.0 staff_space#;
34         right_width# := 0.8 staff_space#;
35         define_pixels(left_width,right_width);
36   
37         hair# := stafflinethickness#;
38         bulb_rad# := 0.4 staff_space#;
39         define_pixels(hair, bulb_rad);
40         left_fatness = 0.55;
41         
42         x1r - x3r = width;
43         x3r = 0.0;
44         y1r = .45 staff_space;
45         y2 = -y4 = staff_space;
46         x2 = x4;
47         x2 = x3r + staff_space;
48         y3r = 0;
49
50         x5r = x1r + 0.3 stafflinethickness;
51         y5r = -0.37 staff_space;
52         z6l = z1l;
53
54         penpos1(hair, 10);
55         penpos2(stafflinethickness, 90);
56         penpos3(left_fatness * staff_space, 180);
57         penpos4(stafflinethickness, -90);
58         penpos5(hair, -13);
59         penpos6(hair, 10);
60         
61         draw_bulb(-1, z6l,  z6r, bulb_rad, .8);
62
63         save s ;
64         s := 0.735;
65         fill z1l{dir (100)}
66                 .. z2l{left}
67                         .. tension 0.8
68                 .. z3l{down} .. tension 0.8 .. z4l{right} ..
69                 simple_serif(z5l, z5r, -90) .. 
70                 z4r{left}
71                         .. super_curvelet (z4r,z3r,s,-1)
72                         ..  z3r{up}
73                         .. super_curvelet (z3r,z2r,s, 1)
74                         .. z2r{right} .. {dir (-80)}z1r -- cycle;
75         
76         set_char_box(0, width#, staff_space#, staff_space#);
77
78         penlabels(1,2,3,4,5,6);
79 enddef;
80
81 fet_beginchar ("4/4 meter", "C44", "fourfourmeter")
82         draw_C;
83 fet_endchar;
84
85 fet_beginchar ("2/2 meter", "C22", "allabreve")
86         draw_C;
87         save excentricity;
88         pair excentricity;
89
90         xpart excentricity = x2 -1.25 stafflinethickness;
91         ypart excentricity = 0;
92
93         save stemlen ;
94         stemlen = 1.4 staff_space;
95         save thick;
96         thick = stafflinethickness / 2 + 0.025 staff_space;
97
98         draw_block((- thick, - stemlen) + excentricity, (thick , stemlen) + excentricity);
99 fet_endchar;
100
101 fet_endgroup("timesig");