2004-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * mf/feta-autometric.mf (code): remove tex name from fet_beginchar.
+
* lily/open-type-font.cc (load_scheme_table): new function
* lily/dots.cc (print): replace -
@unnumbered New features in 2.5 since 2.4
@itemize @bullet
+
+@item
+LilyPond now uses FreeType read the Feta font as an OpenType
+font. This is cleaner design and more robust.
+
@item
A new script, @code{\espressivo} has been added, for a combination of
crescendo and decrescendo on a single note.
m = {
'description': tags[1],
'name': name,
- 'tex': tags[10],
'code': string.atoi (tags[2]),
'breapth': string.atof (tags[3]),
'width': string.atof (tags[4]),
## nm = global_info['FontFamily']
nm = font_family
for m in charmetrics:
+
+ texname = re.sub ('[_.]', 'X', m['name'])
+ def digit_to_letter (match):
+ return chr (ord (match.group(1)) - ord ('0') + ord ('A'))
+ texname = re.sub ('([0-9])', digit_to_letter, texname)
file.write (r'''\gdef\%s%s{\char%d}%%%s''' % \
- (nm, m['tex'], m['code'],'\n'))
+ (nm, texname, m['code'],'\n'))
file.write ('\\endinput\n')
pen accreg_pen;
accreg_pen := pencircle xscaled accreg_linethickness yscaled 0.7accreg_linethickness;
-fet_beginchar("accDiscant", "accDiscant", "accDiscant")
+fet_beginchar("accDiscant", "accDiscant")
save r, sx;
r# = 3/2accreg_lh#;
define_pixels(r);
currentpicture := currentpicture shifted (0, r);
fet_endchar;
-fet_beginchar("accDot", "accDot", "accDot")
+fet_beginchar("accDot", "accDot")
set_char_box(accreg_dot_size#, accreg_dot_size#, 0, 0);
pickup pencircle scaled accreg_dot_size;
draw(0, 0);
fet_endchar;
-fet_beginchar("accFreebase", "accFreebase", "accFreebase")
+fet_beginchar("accFreebase", "accFreebase")
save r;
r#= accreg_lh#;
define_pixels(r);
currentpicture := currentpicture shifted (0, r);
fet_endchar;
-fet_beginchar("accStdbase", "accStdbase", "accStdbase")
+fet_beginchar("accStdbase", "accStdbase")
save r, sx;
r# = 2accreg_lh#;
define_pixels(r);
fet_endchar;
%%% strange turning path.
-fet_beginchar("accBayanbase", "accBayanbase", "accBayanbase")
+fet_beginchar("accBayanbase", "accBayanbase")
save lh;
lh = accreg_lh;
% set_char_box(accreg_lh#, accreg_lh#, 3accreg_lh#, 0);
%%% strange turning path.
-fet_beginchar("accOldEE", "accOldEE", "accOldEE")
+fet_beginchar("accOldEE", "accOldEE")
set_char_box(staff_space#, staff_space#, 0, 2staff_space#);
show w;
show h;
def autometric_output_char=
- message "@{char@:"&charnamestr&"@:"&decimal charcode&"@:"&decimal charbp&"@:"&decimal charwd&"@:"&decimal chardp&"@:"&decimal charht&"@:"&decimal charwx&"@:"&decimal charwy&"@:"&idstr&"@:"&texstr&"@}";
+ message "@{char@:"&charnamestr&"@:"&decimal charcode&"@:"&decimal charbp&"@:"&decimal charwd&"@:"&decimal chardp&"@:"&decimal charht&"@:"&decimal charwx&"@:"&decimal charwy&"@:"&idstr&"@}";
enddef;
def hround_pixels(expr sharped) = hround(sharped * hppp) enddef;
% and then adds:
% charname see below
% id index in lily's table
-% texstr name of tex macro in lily's table and tex backend
% the dims are uninitialised; you should use set_char_box manually.
-def fet_beginchar(expr name, id_lit, texstr_lit) =
- save texstr, idstr, charnamestr;
+def fet_beginchar(expr name, id_lit) =
+ save idstr, charnamestr;
save charbp;
save w,b,h,d;
save charwx, charwy;
- string texstr, idstr, charnamestr;
- texstr := texstr_lit;
+ string idstr, charnamestr;
charnamestr := name;
idstr := id_lit;
endgroup
enddef;
-fet_beginchar("8th Flag (up)", "u3", "eighthflag")
+fet_beginchar("8th Flag (up)", "u3")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
(0, 0));
fet_endchar;
-fet_beginchar("16th Flag (up)", "u4", "sixteenthflag")
+fet_beginchar("16th Flag (up)", "u4")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
fet_endchar;
-fet_beginchar("32nd Flag (up)", "u5", "thirtysecondflag")
+fet_beginchar("32nd Flag (up)", "u5")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
(0, -3 staff_space));
fet_endchar;
-fet_beginchar("64th Flag (up)", "u6", "sixtyfourthflag")
+fet_beginchar("64th Flag (up)", "u6")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
(0, -4 staff_space));
fet_endchar;
-fet_beginchar("8th (down)", "d3", "deighthflag")
+fet_beginchar("8th (down)", "d3")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
%
%
-fet_beginchar("grace dash (up)", "ugrace", "gracedash")
+fet_beginchar("grace dash (up)", "ugrace")
save flare,
hip_depth_ratio, hip_width,
foot_depth;
fet_endchar;
-fet_beginchar("grace dash (down)", "dgrace", "dgracedash")
+fet_beginchar("grace dash (down)", "dgrace")
save flare, hip_depth_ratio, hip_width, foot_depth;
save flagspace, total_depth, flag_count;
y_mirror_char;
fet_endchar;
-fet_beginchar("16th (down)", "d4", "dsixteenthflag")
+fet_beginchar("16th (down)", "d4")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
y_mirror_char;
fet_endchar;
-fet_beginchar("32nd (down)", "d5", "dthirtysecondflag")
+fet_beginchar("32nd (down)", "d5")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
y_mirror_char;
fet_endchar;
-fet_beginchar("64th (down)", "d6", "dsixtyfourthflag")
+fet_beginchar("64th (down)", "d6")
save flare,
hip_depth_ratio, hip_width,
foot_depth, foot_width_ratio;
%
% dimensions aren't entirely right.
%
-fet_beginchar ("Brevis notehead", "s-1", "brevishead");
+fet_beginchar ("Brevis notehead", "s-1");
save stemthick, fudge;
define_pixels (stemthick);
fudge = blot_diameter / 2;
-fet_beginchar("Whole notehead", "s0", "wholehead")
+fet_beginchar("Whole notehead", "s0")
draw_outside_ellipse (1.80 - puff_up_factor / 3.0, 0, 0.707, 0);
undraw_inside_ellipse (1.30, 125 - puff_up_factor *10,
0.68, 2 stafflinethickness#,
fet_endchar;
-fet_beginchar("Half notehead", "s1", "halfhead")
+fet_beginchar("Half notehead", "s1")
draw_outside_ellipse (1.53 - puff_up_factor / 3.0, 34, 0.66, 0.17);
undraw_inside_ellipse (3.25, 33, 0.81,
2.5 stafflinethickness#, (w/2, 0));
fet_endchar;
-fet_beginchar("Quart notehead", "s2", "quarthead")
+fet_beginchar("Quart notehead", "s2")
% used to have 32. With 31, they are slightly bolder.
draw_outside_ellipse (1.49 - puff_up_factor / 3.0, 31, 0.707, 0);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-fet_beginchar("Whole diamondhead", "s0diamond", "wholediamondhead")
+fet_beginchar("Whole diamondhead", "s0diamond")
draw_outside_ellipse (1.80, 0, 0.495, 0);
undraw_inside_ellipse (1.30, 125, 0.6,
.4 staff_space# + stafflinethickness#,
fet_endchar;
-fet_beginchar("Half diamondhead", "s1diamond",
- "halfdiamondhead")
+fet_beginchar("Half diamondhead", "s1diamond")
draw_outside_ellipse (1.50, 34, 0.49, 0.17);
undraw_inside_ellipse (3.5, 33, 0.80,
fet_endchar;
-fet_beginchar("Quart diamondhead", "s2diamond", "diamondhead")
+fet_beginchar("Quart diamondhead", "s2diamond")
draw_outside_ellipse (1.80, 35, 0.495, -0.25);
fet_endchar;
fi
enddef;
-fet_beginchar("Whole trianglehead", "0triangle", "wholetrianglehead")
+fet_beginchar("Whole trianglehead", "0triangle")
save hei,xs;
save llap;
save tilt;
draw triangle;
enddef;
-fet_beginchar("Half trianglehead", "d1triangle", "dhalftrianglehead")
+fet_beginchar("Half trianglehead", "d1triangle")
draw_closed_triangle_head(-1);
fet_endchar;
-fet_beginchar("Half trianglehead", "u1triangle", "uhalftrianglehead")
+fet_beginchar("Half trianglehead", "u1triangle")
draw_closed_triangle_head(1);
fet_endchar;
filldraw triangle;
enddef;
-fet_beginchar("Quart trianglehead", "u2triangle", "utrianglehead")
+fet_beginchar("Quart trianglehead", "u2triangle")
draw_closed_triangle_head(1);
fet_endchar;
-fet_beginchar("Quart trianglehead", "d2triangle", "dtrianglehead")
+fet_beginchar("Quart trianglehead", "d2triangle")
draw_closed_triangle_head(-1);
fet_endchar;
labels (range 1 thru 10);
enddef;
-fet_beginchar("Whole slashhead","s0slash","wholeslashhead")
+fet_beginchar("Whole slashhead","s0slash")
draw_slash(4 slash_thick# + 0.5 staff_space#);
fet_endchar;
-fet_beginchar("Half slashhead","s1slash","halfslashhead")
+fet_beginchar("Half slashhead","s1slash")
draw_slash(3.0 slash_thick# + 0.15 staff_space#);
fet_endchar;
-fet_beginchar("Quart slashhead","s2slash","quartslashhead")
+fet_beginchar("Quart slashhead","s2slash")
draw_slash(1.5 slash_thick#);
fet_endchar;
labels (12);
enddef;
-fet_beginchar("Whole Crossed notehead", "s0cross", "wholecrossedhead")
+fet_beginchar("Whole Crossed notehead", "s0cross")
wid# := black_notehead_width#+4stafflinethickness#;
hei# := noteheight#+stafflinethickness#;
set_char_box(0, wid#,hei#/2,hei#/2);
draw_cross (3.75);
fet_endchar;
-fet_beginchar("Half Crossed notehead", "s1cross", "halfcrossedhead")
+fet_beginchar("Half Crossed notehead", "s1cross")
wid# := black_notehead_width#+2 stafflinethickness#;
hei# := noteheight#+stafflinethickness#/2;
set_char_box(0, wid#,hei#/2,hei#/2);
draw_cross(3.0);
fet_endchar;
-fet_beginchar("Crossed notehead", "s2cross", "crossedhead")
+fet_beginchar("Crossed notehead", "s2cross")
wid# := black_notehead_width#;
hei# := noteheight#;
set_char_box(0, wid#,hei#/2,hei#/2);
draw_cross(1.0);
fet_endchar;
-fet_beginchar("X-Circled notehead", "s2xcircle", "xcircledhead")
+fet_beginchar("X-Circled notehead", "s2xcircle")
wid# := black_notehead_width#*sqrt(sqrt2);
hei# := noteheight#*sqrt(sqrt2);
set_char_box(0, wid#,hei#/2,hei#/2);
fi;
enddef;
-fet_beginchar("Whole dohead", "s0do", "wholedohead")
+fet_beginchar("Whole dohead", "s0do")
draw_do_head (1.8, 1);
draw p;
fet_endchar;
-fet_beginchar("Half dohead", "d1do", "downhalfdohead")
+fet_beginchar("Half dohead", "d1do")
draw_do_head (1.5, -1);
draw p;
fet_endchar;
-fet_beginchar("Half dohead", "s1do", "halfdohead")
+fet_beginchar("Half dohead", "s1do")
draw_do_head (1.5, 1);
draw p;
fet_endchar;
-fet_beginchar("Quart dohead", "d2do", "downdohead")
+fet_beginchar("Quart dohead", "d2do")
draw_do_head (1.55, -1);
filldraw p;
fet_endchar;
-fet_beginchar("Quart dohead", "s2do", "dohead")
+fet_beginchar("Quart dohead", "s2do")
draw_do_head (1.55, 1);
filldraw p;
fet_endchar;
fi;
enddef;
-fet_beginchar("Whole rehead", "s0re", "wholerehead")
+fet_beginchar("Whole rehead", "s0re")
draw_re_head (1.8,1);
draw p;
fet_endchar;
-fet_beginchar("Half up rehead", "u1re", "uphalfrehead")
+fet_beginchar("Half up rehead", "u1re")
draw_re_head (1.5, 1);
draw p;
fet_endchar;
-fet_beginchar("Half down rehead", "d1re", "downhalfrehead")
+fet_beginchar("Half down rehead", "d1re")
draw_re_head (1.5, -1);
draw p;
fet_endchar;
-fet_beginchar("Quart rehead", "u2re", "uprehead")
+fet_beginchar("Quart rehead", "u2re")
draw_re_head (1.55, 1);
filldraw p;
fet_endchar;
-fet_beginchar("Quart rehead", "d2re", "downrehead")
+fet_beginchar("Quart rehead", "d2re")
draw_re_head (1.55, -1);
filldraw p;
fet_endchar;
% path_in := z5 -- z1 --cycle;
enddef;
-fet_beginchar("Whole mihead", "s0mi", "wholemihead")
+fet_beginchar("Whole mihead", "s0mi")
draw_mi_head (1.8);
filldraw path_out;
unfill path_in;
fet_endchar;
-fet_beginchar("Half mihead", "s1mi", "halfmihead")
+fet_beginchar("Half mihead", "s1mi")
draw_mi_head (1.6);
filldraw path_out;
unfill path_in;
fet_endchar;
-fet_beginchar("Quart mihead", "s2mi", "mihead")
+fet_beginchar("Quart mihead", "s2mi")
draw_mi_head (1.65);
filldraw path_out;
fet_endchar;
enddef;
-fet_beginchar("Whole fa up head", "d0fa", "wholefadownhead")
+fet_beginchar("Whole fa up head", "d0fa")
draw_fa_head (1.8);
draw p_up;
fet_endchar;
-fet_beginchar("Whole fa down head", "u0fa", "wholefauphead")
+fet_beginchar("Whole fa down head", "u0fa")
draw_fa_head (1.8);
draw p_down;
fet_endchar;
-fet_beginchar("half fa up head", "d1fa", "halffadownhead")
+fet_beginchar("half fa up head", "d1fa")
draw_fa_head (1.5);
draw p_up;
fet_endchar;
-fet_beginchar("Half fa down head", "u1fa", "halffauphead")
+fet_beginchar("Half fa down head", "u1fa")
draw_fa_head (1.5);
draw p_down;
fet_endchar;
-fet_beginchar("Quarter fa up head", "u2fa", "quarterfadownhead")
+fet_beginchar("Quarter fa up head", "u2fa")
draw_fa_head (1.55);
filldraw p_up;
fet_endchar;
-fet_beginchar("Quarter fa down head", "d2fa", "quarterfauphead")
+fet_beginchar("Quarter fa down head", "d2fa")
draw_fa_head (1.55);
filldraw p_down;
fet_endchar;
p := z1 -- z2 -- z3 -- z4 -- cycle;
enddef;
-fet_beginchar("Whole lahead", "s0la", "wholelahead")
+fet_beginchar("Whole lahead", "s0la")
draw_la_head (1.8);
draw p;
fet_endchar;
-fet_beginchar("Half lahead", "s1la", "halflahead")
+fet_beginchar("Half lahead", "s1la")
draw_la_head (1.5);
draw p;
fet_endchar;
-fet_beginchar("Quart lahead", "s2la", "lahead")
+fet_beginchar("Quart lahead", "s2la")
draw_la_head (1.55);
filldraw p;
fet_endchar;
fi;
enddef;
-fet_beginchar("Whole up tihead", "s0ti", "wholetihead")
+fet_beginchar("Whole up tihead", "s0ti")
draw_ti_head (1.8, 1);
draw p;
fet_endchar;
-fet_beginchar("Half up tihead", "u1ti", "uphalftihead")
+fet_beginchar("Half up tihead", "u1ti")
draw_ti_head (1.5, 1);
draw p;
fet_endchar;
-fet_beginchar("Half down tihead", "d1ti", "dnhalftihead")
+fet_beginchar("Half down tihead", "d1ti")
draw_ti_head (1.5, -1);
draw p;
fet_endchar;
-fet_beginchar("Quart up tihead", "u2ti", "utihead")
+fet_beginchar("Quart up tihead", "u2ti")
draw_ti_head (1.55, 1);
filldraw p;
fet_endchar;
-fet_beginchar("Quart down tihead", "d2ti", "dtihead")
+fet_beginchar("Quart down tihead", "d2ti")
draw_ti_head (1.55, -1);
filldraw p;
fet_endchar;
code := 32;
-fet_beginchar("Space", "space", "space")
+fet_beginchar("Space", "space")
set_char_box(0, horizontal_space#, 0, ex#);
fet_endchar;
%
code := 121;
-fet_beginchar ("dynamic z", "z", "z");
+fet_beginchar ("dynamic z", "z");
set_char_box (0, .98 ex#, 0, 0.9 ex#);
save thin_thick, top_narrow, over_shoot;
code := 101;
-fet_beginchar("dynamic f", "f", "f");
+fet_beginchar("dynamic f", "f");
set_char_box (0, 1.1 ex#, descender#, ex# + ascender#);
save left_angle, right_angle;
code := 114;
-fet_beginchar("dynamic s", "s", "s");
+fet_beginchar("dynamic s", "s");
set_char_box (0, 17/24 ex#, 0, 1 ex#);
save left_angle, right_angle;
code := 111;
-fet_beginchar("dynamic p", "p", "p")
+fet_beginchar("dynamic p", "p")
%
% TODO w really is 13/12 ex
% but should do kerning
%
code := 108;
-fet_beginchar("dynamic m", "m", "m");
+fet_beginchar("dynamic m", "m");
set_char_box (0, 1.5 ex#, 0, 1.0 ex#);
% should share code with p for twiddle.
currenttransform := identity slanted ypart(dir(15));
-fet_beginchar("dynamic r", "r", "r");
+fet_beginchar("dynamic r", "r");
set_char_box (0, .75 ex#, 0, 1ex#);
draw_block ((0,0), (block_rest_x, block_rest_y));
enddef;
-fet_beginchar( "whole rest", "0", "wholerest");
+fet_beginchar("whole rest", "0");
set_char_box(0, block_rest_x#,
block_rest_y#, 0);
block_rest;
currentpicture := currentpicture shifted (0,- block_rest_y);
fet_endchar;
-fet_beginchar("half rest", "1", "halfrest");
+fet_beginchar("half rest", "1");
set_char_box(0, block_rest_x#, 0, block_rest_y#);
block_rest;
fet_endchar;
%
% should use ledgerline thickness?
%
-fet_beginchar( "whole rest (outside staff)", "0o", "outsidewholerest");
+fet_beginchar("whole rest (outside staff)", "0o")
set_char_box(0, block_rest_x#,
block_rest_y#, ledgerlinethickness#/2);
block_rest;
draw_gridline(z5,z6,ledgerlinethickness);
fet_endchar;
-fet_beginchar("half rest (outside staff)", "1o", "outsidehalfrest");
+fet_beginchar("half rest (outside staff)", "1o");
set_char_box(0, block_rest_x#,
ledgerlinethickness#/2, block_rest_y#);
block_rest;
define_pixels(breve_rest_y, breve_rest_x, multi_rest_x, multi_beam_height);
-fet_beginchar("maxima rest", "-3", "maximarest");
+fet_beginchar("maxima rest", "-3");
set_char_box(0, 3 breve_rest_x#, breve_rest_y#, breve_rest_y#);
draw_block ((0,-floor (breve_rest_y)), (breve_rest_x, floor (breve_rest_y)));
addto currentpicture also currentpicture shifted (2 breve_rest_x, 0);
fet_endchar;
-fet_beginchar("longa rest", "-2", "longarest");
+fet_beginchar("longa rest", "-2");
set_char_box(0, breve_rest_x#, breve_rest_y#, breve_rest_y#);
draw_block ((0,-floor (breve_rest_y)), (breve_rest_x, floor (breve_rest_y)));
fet_endchar;
-fet_beginchar("breve rest", "-1", "breverest");
+fet_beginchar("breve rest", "-1");
set_char_box(0, breve_rest_x#, 0, breve_rest_y#);
draw_block ((0,0), (breve_rest_x, floor (breve_rest_y)));
fet_endchar;
tracingvariables := 1;
-fet_beginchar("Quarter rest","2","quartrest");
+fet_beginchar("Quarter rest","2");
% draw_staff (-2, 2, 0.0);
save alpha, yshift, height;
alpha:=-50;
enddef;
-fet_beginchar("Classical quarter rest","2classical","clasquartrest");
+fet_beginchar("Classical quarter rest","2classical");
draw_eighth_rest;
currentpicture := currentpicture xscaled -1 shifted (w,0);
fet_endchar;
-fet_beginchar("8th rest","3","eighthrest");
+fet_beginchar("8th rest","3");
draw_eighth_rest;
fet_endchar;
% they can collide with augmentation dots.
%
-fet_beginchar("16th rest","4","sixteenthrest");
+fet_beginchar("16th rest","4");
save width;
save ycenter;
save crook_dir, pat;
% draw_staff (-2,2,0.0);
fet_endchar;
-fet_beginchar("32th rest","5","thirtysecondrest");
+fet_beginchar("32th rest","5");
save width;
save ycenter;
save crook_dir, pat;
% draw_staff (-2,2,0.0);
fet_endchar;
-fet_beginchar("64th rest","6","sixtyfourthrest");
+fet_beginchar("64th rest","6");
save width;
save ycenter;
save crook_dir, pat;
% draw_staff (-2,2,0.0);
fet_endchar;
-fet_beginchar("128th rest","7","hundredtwentyeighthrest");
+fet_beginchar("128th rest","7");
save width;
save ycenter;
save crook_dir, pat;
enddef;
-fet_beginchar ("C clef", "C", "altoclef")
+fet_beginchar ("C clef", "C")
if test_staff = 1:
draw_staff (-2,2, 0.0);
fi;
draw_c_clef (1.0);
fet_endchar;
-fet_beginchar ("C clef", "C_change", "caltoclef")
+fet_beginchar ("C clef", "C_change")
if test_staff = 1:
draw_staff (-2,2, 0.0);
fi;
-fet_beginchar("F clef ", "F", "bassclef")
+fet_beginchar("F clef ", "F")
if test_staff = 1:
draw_staff(-3,1, 0.0);
fi;
draw_bass_clef((0, 0), 1.0);
fet_endchar;
-fet_beginchar("F clef (reduced)", "F_change", "cbassclef")
+fet_beginchar("F clef (reduced)", "F_change")
draw_bass_clef((0, 0),0.8);
fet_endchar;
enddef;
-fet_beginchar("G clef", "G", "trebleclef")
+fet_beginchar("G clef", "G")
if test_staff = 1:
draw_staff(-1,3, 0.0);
fi;
draw_gclef(1.0);
fet_endchar;
-fet_beginchar("G clef", "G_change", "ctrebleclef")
+fet_beginchar("G clef", "G_change")
draw_gclef(0.8);
fet_endchar;
draw_block((w-razt,-d),(w,h));
enddef;
-fet_beginchar("percussion clef", "percussion", "percussionclef")
+fet_beginchar("percussion clef", "percussion")
draw_percussion_clef(1.0);
fet_endchar;
-fet_beginchar("percussion clef (reduced)", "percussion_change", "cpercussionclef")
+fet_beginchar("percussion clef (reduced)", "percussion_change")
draw_percussion_clef(.8);
fet_endchar;
(2.1*reduced_ss,letterheight),0.25);
enddef;
-fet_beginchar("tab clef", "tab", "tabclef")
+fet_beginchar("tab clef", "tab")
draw_tab_clef(1.0);
fet_endchar;
-fet_beginchar("tab clef (reduced)", "tab_change", "ctabclef")
+fet_beginchar("tab clef (reduced)", "tab_change")
draw_tab_clef(.8);
fet_endchar;
savecode:=code;
code:=97;
-fet_beginchar("Ascii b", "b", "b")
-%%fet_beginchar("G clef", "G", "trebleclef")
+fet_beginchar("Ascii b", "b")
+%%fet_beginchar("G clef", "G")
if test_staff = 1:
draw_staff(-1,3, 0.0);
fi;
define_pixels(dot_diam);
code := 31; % , 32
-fet_beginchar("Space", "space", "space")
+fet_beginchar("Space", "space")
set_char_box(0, space#, 0,height#);
fet_endchar;
code := 43; % , = 44
% urg
-fet_beginchar("Numeral comma", "comma", "comma")
+fet_beginchar("Numeral comma", "comma")
set_char_box(0, dot_diam#, 3/2dot_diam#, dot_diam#);
pickup pencircle scaled dot_diam;
draw (dot_diam/2,dot_diam/2);
penlabels(1);
fet_endchar;
-fet_beginchar("Numeral dash", "hyphen", "hyphen")
+fet_beginchar("Numeral dash", "hyphen")
set_char_box(0, height#/3, 0, height#);
pickup pencircle scaled thin;
lft x1 = -b;
draw z1 .. z2;
fet_endchar;
-fet_beginchar("Numeral dot", "period", "period")
+fet_beginchar("Numeral dot", "period")
set_char_box(0, dot_diam#, 0, dot_diam#);
pickup pencircle scaled dot_diam;
draw (dot_diam/2,dot_diam/2);
code := 47; % 0 = 48
-fet_beginchar("Numeral 0", "zero", "zero")
+fet_beginchar("Numeral 0", "zero")
set_char_box(0, 11/15height# * widen, 0, height#);
message "w:"&decimal w;
message "h:"&decimal h;
..tension t..z4l..tension t..cycle;
fet_endchar;
-fet_beginchar("Numeral 1", "one", "one")
+fet_beginchar("Numeral 1", "one")
% set_char_box(0, 19/30height#*widen, 0, height#);
set_char_box(0, 1/2foot_width#+3/2thick#+1/2hair#, 0, height#);
message "w:"&decimal w;
draw_foot(x1);
fet_endchar;
-fet_beginchar("Numeral 2", "two", "two")
+fet_beginchar("Numeral 2", "two")
set_char_box(0, 22/30 height#*widen, 0, height#);
message "w:"&decimal w;
message "h:"&decimal h;
% TODO: should widen a bit. The right edge of the 3 bumps into next glyph in
% combinations
%
-fet_beginchar("Numeral 3", "three", "three")
+fet_beginchar("Numeral 3", "three")
set_char_box(0, 2/3height#*widen, 0, height#);
message "w:"&decimal w;
message "h:"&decimal h;
-fet_beginchar("Numeral 4", "four", "four")
+fet_beginchar("Numeral 4", "four")
set_char_box(0, 4/5height#*widen, 0, height#);
message "w:"&decimal w;
message "h:"&decimal h;
draw_foot(x5);
fet_endchar;
-fet_beginchar("Numeral 5", "five", "five")
+fet_beginchar("Numeral 5", "five")
set_char_box(0, 27/40 height#*widen, 0, height#);
message "w:"&decimal w;
message "h:"&decimal h;
fet_endchar;
-fet_beginchar("Numeral 6", "six", "six")
+fet_beginchar("Numeral 6", "six")
draw_six;
fet_endchar;
-fet_beginchar("Numeral 7", "seven", "seven")
+fet_beginchar("Numeral 7", "seven")
set_char_box(0, 11/15height#*widen, 0, height#);
message "w:"&decimal w;
message "h:"&decimal h;
penlabels(1,2,3,4,5,6);
fet_endchar;
-fet_beginchar("Numeral 8", "eight", "eight")
+fet_beginchar("Numeral 8", "eight")
set_char_box(0, 11/15height#*widen, 0, height#);
message "w:"&decimal w;
message "h:"&decimal h;
..z2l{dir(beta)}..cycle;
fet_endchar;
-fet_beginchar("Numeral 9", "nine", "nine")
+fet_beginchar("Numeral 9", "nine")
draw_six;
% xy_mirror_char;
currentpicture := currentpicture scaled -1;
% code values for own pedal font commented out
% code := 41; % * = 42
-fet_beginchar("Pedal asterisk", "*", "pedalasterisk")
+fet_beginchar("Pedal asterisk", "*")
set_char_box(0, 7/9pedalh#, 0, pedalh#);
z0 = (1/2w, h - 1/2w);
save bulb, p, radius, thin;
%% ugh. rounded corners!
-fet_beginchar("Pedal dash", "-", "pedaldash")
+fet_beginchar("Pedal dash", "-")
set_char_box(0, 3penw#, 0, pedalbh#);
pickup pencircle scaled penh;
penstroke z1e{dir 40}..tension 1.2 ..z2e{dir 40};
fet_endchar;
-fet_beginchar("Pedal dot", ".", "pedaldot")
+fet_beginchar("Pedal dot", ".")
set_char_box(0, penw#, 0, penw#);
pickup pencircle scaled penw;
draw (1/2penw,1/2penw);
% code := 79; % P = 80
-fet_beginchar("Pedal P", "P", "pedalP")
+fet_beginchar("Pedal P", "P")
set_char_box(0, 5/6pedalh#, 0, pedalh#);
draw_pedal_P;
fet_endchar;
% code := 99; % d = 100
-fet_beginchar("Pedal d", "d", "pedald")
+fet_beginchar("Pedal d", "d")
set_char_box(0, 2/3pedalh#, 0, 7/8pedalh#);
draw_pedal_d;
fet_endchar;
-fet_beginchar("Pedal e", "e", "pedale")
+fet_beginchar("Pedal e", "e")
set_char_box(0, 2/5pedalh#, 0, pedalbh#);
draw_pedal_e;
fet_endchar;
% The pre 1.3.59 user-scm kerning sucks, but I'm not struck by
% the looks of this either.
%
-fet_beginchar("Pedal Ped", "Ped", "pedalPed")
+fet_beginchar("Pedal Ped", "Ped")
P_width# = 5/6pedalh#;
e_width# = 2/5pedalh#;
d_width# = 2/3pedalh#;
4 dot_radius# = staff_space# - stafflinethickness#;
define_whole_blacker_pixels(dot_radius);
-fet_beginchar("duration dot","dot", "dot")
+fet_beginchar("duration dot","dot")
pickup pencircle scaled 2 dot_radius;
drawdot (dot_radius,0);
set_char_box(0, 2*dot_radius#, dot_radius#, dot_radius#);
drawdot z4;
enddef;
-fet_beginchar("fermata up", "ufermata", "ufermata")
+fet_beginchar("fermata up", "ufermata")
draw_fermata;
penlabels(1,2,4);
fet_endchar;
-fet_beginchar("fermata down", "dfermata", "dfermata")
+fet_beginchar("fermata down", "dfermata")
draw_fermata;
y_mirror_char;
fet_endchar;
drawdot z6;
enddef;
-fet_beginchar("short fermata up", "ushortfermata", "ushortfermata")
+fet_beginchar("short fermata up", "ushortfermata")
draw_short_fermata;
fet_endchar;
-fet_beginchar("short fermata down", "dshortfermata", "dshortfermata")
+fet_beginchar("short fermata down", "dshortfermata")
draw_short_fermata;
xy_mirror_char;
fet_endchar;
drawdot z4;
enddef;
-fet_beginchar("long fermata up", "ulongfermata", "ulongfermata")
+fet_beginchar("long fermata up", "ulongfermata")
draw_long_fermata;
fet_endchar;
-fet_beginchar("long fermata down", "dlongfermata", "dlongfermata")
+fet_beginchar("long fermata down", "dlongfermata")
draw_long_fermata;
y_mirror_char;
fet_endchar;
drawdot z4;
enddef;
-fet_beginchar("very long fermata up", "uverylongfermata", "uverylongfermata")
+fet_beginchar("very long fermata up", "uverylongfermata")
draw_very_long_fermata;
fet_endchar;
-fet_beginchar("very long fermata down", "dverylongfermata", "dverylongfermata")
+fet_beginchar("very long fermata down", "dverylongfermata")
draw_very_long_fermata;
y_mirror_char;
fet_endchar;
% the same way in the score.
%
-fet_beginchar("Thumb", "thumb", "thumb")
+fet_beginchar("Thumb", "thumb")
save thin, height, width, thick, depth;
height# = 5/4 width#;
height# = staff_space#;
% FIXME: rounded endings
%
% `\accent' is TeX reserved.
-fet_beginchar("> accent", "sforzato", "sforzatoaccent")
+fet_beginchar("> accent", "sforzato")
set_char_box(.9 staff_space#, .9 staff_space#, .5 staff_space#, .5 staff_space#);
save thickness, diminish;
labels(4);
fet_endchar;
-fet_beginchar("espr", "espr", "espressivo")
+fet_beginchar("espr", "espr")
set_char_box(1.9 staff_space#, 1.9 staff_space#, .5 staff_space#, .5 staff_space#);
save thickness, diminish;
thickness = 0.05 staff_space + linethickness;
fet_endchar;
-fet_beginchar("staccato dot", "staccato", "staccato")
+fet_beginchar("staccato dot", "staccato")
save radius;
radius# = 0.20 * staff_space#;
define_whole_pixels(radius);
set_char_box(radius#,radius#, blot_diameter#/2, height# + radius#);
enddef;
-fet_beginchar("staccatissimo/martellato up", "ustaccatissimo",
- "ustaccatissimo")
+fet_beginchar("staccatissimo/martellato up", "ustaccatissimo")
draw_staccatissimo;
fet_endchar;
-fet_beginchar("staccatissimo/martellato down", "dstaccatissimo", "dstaccatissimo")
+fet_beginchar("staccatissimo/martellato down", "dstaccatissimo")
draw_staccatissimo;
y_mirror_char;
fet_endchar;
-fet_beginchar("portato/single tenuto", "tenuto", "tenuto")
+fet_beginchar("portato/single tenuto", "tenuto")
save thick;
thick# = 1.6 linethickness#;
define_whole_pixels(thick);
enddef;
-fet_beginchar("portato/tenuto with staccato", "uportato",
- "uportato")
+fet_beginchar("portato/tenuto with staccato", "uportato")
draw_portato;
fet_endchar;
-fet_beginchar("portato/tenuto with staccato", "dportato",
- "dportato")
+fet_beginchar("portato/tenuto with staccato", "dportato")
draw_portato;
y_mirror_char
fet_endchar;
draw z3 .. z5;
enddef;
-fet_beginchar("marcato up", "umarcato", "umarcato")
+fet_beginchar("marcato up", "umarcato")
draw_marcato;
labels(1,2,3,4,5);
fet_endchar;
% Contrary to what some MF/TeX `gurus' believe
% it is *point*-symmetric with the "up" version
%
-fet_beginchar("marcato down", "dmarcato", "dmarcato")
+fet_beginchar("marcato down", "dmarcato")
draw_marcato;
xy_mirror_char;
fet_endchar;
% used in french horn music todo
%
% TODO: too light at 20pt
-fet_beginchar("open (unstopped)", "open", "ouvert")
+fet_beginchar("open (unstopped)", "open")
save thin, height, width, thick;
height# = 5/4 width#;
height# = staff_space#;
fet_endchar;
-fet_beginchar("plus (stopped)", "stopped", "plusstop")
+fet_beginchar("plus (stopped)", "stopped")
save thick, size;
thick = 2 linethickness;
size# = 1.1 staff_space#;
endgroup;
enddef;
-fet_beginchar("Upbow", "upbow", "upbow")
+fet_beginchar("Upbow", "upbow")
save ht, wd, thick, diminish;
thick = 1.4 linethickness;
fet_endchar;
-fet_beginchar("Downbow", "downbow", "downbow")
+fet_beginchar("Downbow", "downbow")
save stemthick, beamheight;
save wd,round;
define_pixels(wd)
enddef;
-fet_beginchar("Reverse turn","reverseturn","reverseturn")
+fet_beginchar("Reverse turn","reverseturn")
draw_turn;
currentpicture := currentpicture yscaled -1;
fet_endchar;
-fet_beginchar("Turn","turn","turn")
+fet_beginchar("Turn","turn")
draw_turn;
penlabels(1,2,3,4,5,6,7);
fet_endchar;
%
%
-fet_beginchar("Trill (`tr')","trill","trill")
+fet_beginchar("Trill (`tr')","trill")
save start_nib_angle, ascender_extra, ex, hair_thick, fatness,
slant_angle, slant, t_fatness, r_fatness, kerning, t_overshoot,
enddef;
-fet_beginchar("left heel", "upedalheel", "upedalheel")
+fet_beginchar("left heel", "upedalheel")
draw_heel;
labels(1,2,3);
fet_endchar;
-fet_beginchar("right heel", "dpedalheel", "dpedalheel")
+fet_beginchar("right heel", "dpedalheel")
draw_heel;
y_mirror_char;
fet_endchar;
draw_vee (wd, ht, thickness);
enddef;
-fet_beginchar("left toe", "upedaltoe", "upedaltoe")
+fet_beginchar("left toe", "upedaltoe")
draw_toe;
labels(1,2,3);
fet_endchar;
-fet_beginchar("right toe", "dpedaltoe", "dpedaltoe")
+fet_beginchar("right toe", "dpedaltoe")
draw_toe;
y_mirror_char;
fet_endchar;
-fet_beginchar("Flageolet", "flageolet", "flageolet")
+fet_beginchar("Flageolet", "flageolet")
save height,width,thickness;
height#=4/15 staffsize#;
width#=height#;
%
%
-fet_beginchar("Segno", "segno", "segno")
+fet_beginchar("Segno", "segno")
save thin, thick, ball_diam, darkness, pointheight;
save wd, ht, thick_nibangle, ball_nib_thick;
save turndir;
draw (x2r,-pointheight);
fet_endchar;
-fet_beginchar("Coda", "coda", "coda")
+fet_beginchar("Coda", "coda")
save stickout, thin, thick, codawidth, codaheight;
stickout# = 0.35 staff_space#;
fet_endchar;
-fet_beginchar("Varied Coda", "varcoda", "varcoda")
+fet_beginchar("Varied Coda", "varcoda")
save thin, thick, codawidth, codaheight;
thin# = 1.2 linethickness#;
thick# = 1.0 linethickness# + 0.25 staff_space#;
z3r{dir (90-alpha)} .. cycle;
enddef;
-fet_beginchar("Right Comma","rcomma","rcomma");
+fet_beginchar("Right Comma","rcomma");
draw_comma;
fet_endchar;
-fet_beginchar("Left Comma","lcomma","lcomma");
+fet_beginchar("Left Comma","lcomma");
draw_comma;
xy_mirror_char;
fet_endchar;
draw_brush(z1, thin, z2, thick);
enddef;
-fet_beginchar("Right Varied Comma","rvarcomma","rvarcomma");
+fet_beginchar("Right Varied Comma","rvarcomma");
draw_varcomma;
fet_endchar;
-fet_beginchar("Left Varied Comma","lvarcomma","lvarcomma");
+fet_beginchar("Left Varied Comma","lvarcomma");
draw_varcomma;
xy_mirror_char;
fet_endchar;
penlabels(1,2,3,4,5,6,7,8,9);
enddef;
-fet_beginchar("Arpeggio","arpeggio","arpeggio");
+fet_beginchar("Arpeggio","arpeggio");
%draw_staff (-2, 2, 0.0);
save height, overshoot, width;
height# = staff_space#;
% Extendable Trill symbol.
% Not yet used
% Rename me to Trill, rename Trill to Tr?
-fet_beginchar("Trill_element","trill_element","trillelement");
+fet_beginchar("Trill_element","trill_element");
save height, overshoot;
height# = staff_space#;
width# = 0.8height#;
filldraw z3 -- z12 {dir -130} .. {dir -110} z10 {dir 110} .. {dir 130} z11 -- cycle;
enddef;
-fet_beginchar("Arpeggio arrow down", "arpeggio.arrow.M1", "arpeggioarrowdown");
+fet_beginchar("Arpeggio arrow down", "arpeggio.arrow.M1");
draw_arpeggio_arrow;
fet_endchar;
-fet_beginchar("Arpeggio arrow up", "arpeggio.arrow.1", "arpeggioarrowup");
+fet_beginchar("Arpeggio arrow up", "arpeggio.arrow.1");
draw_arpeggio_arrow;
currentpicture := currentpicture scaled -1 shifted (0.8 staff_space, staff_space);
fet_endchar;
% I actually have no clue how they should look, so we use a slightly curvy
% and tapered shape.
%
-fet_beginchar("Caesura", "caesura", "caesura");
+fet_beginchar("Caesura", "caesura");
save slant, space_between, clearance;
save alpha, p;
save botthick, topthick;
-fet_beginchar("trilelement", "trilelement", "trilelement")
+fet_beginchar("trilelement", "trilelement")
set_char_box(trill_width#, trill_width#,
trill_height#, trill_height#);
draw_trillelement(-trill_width);
fet_endchar;
-fet_beginchar("prall", "prall", "prall")
+fet_beginchar("prall", "prall")
set_char_box(2 trill_width#, 2 trill_width#,
trill_height#, trill_height#);
draw_trillelement(-2 trill_width);
draw_trillelement(0);
fet_endchar;
-fet_beginchar("mordent", "mordent", "mordent")
+fet_beginchar("mordent", "mordent")
set_char_box(2 trill_width#, 2 trill_width#,
4/3 trill_height#, 4/3 trill_height#);
draw_trillelement(-2 trill_width);
draw z1 -- z2;
fet_endchar;
-fet_beginchar("prallprall", "prallprall", "prallprall")
+fet_beginchar("prallprall", "prallprall")
set_char_box(3 trill_width#, 3 trill_width#,
trill_height#, trill_height#);
draw_trillelement(-3 trill_width);
draw_trillelement(1 trill_width);
fet_endchar;
-fet_beginchar("prallmordent", "prallmordent", "prallmordent")
+fet_beginchar("prallmordent", "prallmordent")
set_char_box(3 trill_width#, 3 trill_width#,
4/3 trill_height#, 4/3trill_height#);
save remember_pic;
picture remember_pic;
-fet_beginchar("upprall", "upprall", "upprall")
+fet_beginchar("upprall", "upprall")
set_char_box(3 trill_width#, 3 trill_width#,
trill_height#, trill_height#);
draw_trillelement(-3 trill_width);
remember_pic := currentpicture ;
fet_endchar;
-fet_beginchar("upmordent", "upmordent", "upmordent")
+fet_beginchar("upmordent", "upmordent")
set_char_box(3 trill_width#, 3 trill_width#,
4/3 trill_height#, 4/3 trill_height#);
draw z1 -- z2;
fet_endchar;
-fet_beginchar("pralldown", "pralldown", "pralldown")
+fet_beginchar("pralldown", "pralldown")
set_char_box(3 trill_width#, 3 trill_width#,
trill_height#, trill_height#);
currentpicture := remember_pic xscaled -1;
fet_endchar;
-fet_beginchar("downprall", "downprall", "downprall")
+fet_beginchar("downprall", "downprall")
set_char_box(3 trill_width#, 3 trill_width#,
trill_height#, trill_height#);
remember_pic := currentpicture;
fet_endchar;
-fet_beginchar("downmordent", "downmordent", "downmordent")
+fet_beginchar("downmordent", "downmordent")
set_char_box(3 trill_width#, 3 trill_width#,
4/3 trill_height#, 4/3trill_height#);
draw z1 -- z2;
fet_endchar;
-fet_beginchar("prallup", "prallup", "prallup")
+fet_beginchar("prallup", "prallup")
set_char_box(3 trill_width#, 3 trill_width#,
trill_height#, trill_height#);
currentpicture := remember_pic xscaled -1;
fet_endchar;
-fet_beginchar("lineprall", "lineprall", "lineprall")
+fet_beginchar("lineprall", "lineprall")
set_char_box(3 trill_width#, 3 trill_width#,
trill_height#, 4trill_height#);
remember_pic := currentpicture;
enddef;
-fet_beginchar("Whole dohead", "s0do", "wholedohead")
+fet_beginchar("Whole dohead", "s0do")
pickup pencircle scaled blot_diameter;
save a_b, i_o;
a_b = 1.8;
drawdoshape;
fet_endchar;
-fet_beginchar("Half dohead", "s1do", "halfdohead")
+fet_beginchar("Half dohead", "s1do")
save a_b, i_o;
a_b = 1.5;
i_o = 0.6;
drawdoshape;
fet_endchar;
-fet_beginchar("Quart dohead", "s2do", "dohead")
+fet_beginchar("Quart dohead", "s2do")
save a_b, noteshape;
path noteshape;
a_b = 1.54;
save reshape; path reshape;
reshape = (-1,1)--(-1,0.2){down} ... (0,-1) ... {up}(1,0.2)--(1,1)--cycle;
-fet_beginchar("Whole rehead", "s0re", "wholerehead")
+fet_beginchar("Whole rehead", "s0re")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = reshape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Half rehead", "s1re", "halfrehead")
+fet_beginchar("Half rehead", "s1re")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = reshape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Quart rehead", "s2re", "rehead")
+fet_beginchar("Quart rehead", "s2re")
save a_b, noteshape;
path noteshape;
a_b = 1.54;
save fashape; path fashape;
fashape = (-1,1)--(1,1)--(1,-1)--cycle;
-fet_beginchar("Whole fahead", "s0fa", "wholefahead")
+fet_beginchar("Whole fahead", "s0fa")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = fashape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Half stemup fahead", "u1fa", "halffauhead")
+fet_beginchar("Half stemup fahead", "u1fa")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = fashape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Quart stemup fahead", "u2fa", "fauhead")
+fet_beginchar("Quart stemup fahead", "u2fa")
save a_b, noteshape;
path noteshape;
a_b = 1.54;
draw_solfa_quarter_note_shape;
fet_endchar;
-fet_beginchar("Half stemdn fahead", "d1fa", "halffadhead")
+fet_beginchar("Half stemdn fahead", "d1fa")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = fashape rotated 180;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Quart stemdn fahead", "d2fa", "fadhead")
+fet_beginchar("Quart stemdn fahead", "d2fa")
save a_b, noteshape;
path noteshape;
a_b = 1.54;
save lashape; path lashape;
lashape = (-1,-1)--(-1,1)--(1,1)--(1,-1)--cycle;
-fet_beginchar("Whole lahead", "s0la", "wholelahead")
+fet_beginchar("Whole lahead", "s0la")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = lashape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Half lahead", "s1la", "halflahead")
+fet_beginchar("Half lahead", "s1la")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = lashape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Quart lahead", "s2la", "lahead")
+fet_beginchar("Quart lahead", "s2la")
save a_b, noteshape;
path noteshape;
a_b = 1.54;
save tishape; path tishape;
tishape = (0,-1)--(-1,0.3)..(0,1)..(1,0.3)--cycle;
-fet_beginchar("Whole tihead", "s0ti", "wholetihead")
+fet_beginchar("Whole tihead", "s0ti")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = tishape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Half tihead", "s1ti", "halftihead")
+fet_beginchar("Half tihead", "s1ti")
save a_b, ai_a, bi_b, dx, dy, noteshape, noteishape;
path noteshape, noteishape;
noteshape = tishape;
draw_solfa_note_shape;
fet_endchar;
-fet_beginchar("Quart tihead", "s2ti", "tihead")
+fet_beginchar("Quart tihead", "s2ti")
save a_b, noteshape;
path noteshape;
a_b = 1.54;
penlabels(1,2,3,4,5,6);
enddef;
-fet_beginchar ("4/4 meter", "C44", "fourfourmeter")
+fet_beginchar ("4/4 meter", "C44")
draw_C;
fet_endchar;
-fet_beginchar ("2/2 meter", "C22", "allabreve")
+fet_beginchar ("2/2 meter", "C22")
draw_C;
save excentricity;
pair excentricity;
enddef;
-fet_beginchar("Sharp" , "2", "sharp");
+fet_beginchar("Sharp" , "2");
set_char_box(0, 1.1 staff_space#, 1.5 staff_space#,
1.5 staff_space#);
draw_meta_sharp (w);
fet_endchar;
-fet_beginchar("1/2 Sharp" , "1", "semisharp");
+fet_beginchar("1/2 Sharp" , "1");
set_char_box(0, 0.7 staff_space#, 1.5 staff_space#,
1.5 staff_space#);
fet_endchar;
-fet_beginchar("3/4 Sharp" , "3", "threequartersharp");
+fet_beginchar("3/4 Sharp" , "3");
set_char_box(0, 1.6 staff_space#, 1.5 staff_space#,
1.5 staff_space#);
%
%
-fet_beginchar( "Natural", "0", "natural")
+fet_beginchar("Natural", "0")
save height, xcenter;
save interbeam, interstem, beamheight, beamwidth,
stemwidth;
%
% unfortunately, 600dpi is not enough to show the brush of the stem.
%
-fet_beginchar("Flat", "-2", "flat")
+fet_beginchar("Flat", "-2")
set_char_box(1.2 stafflinethickness#, .8 staff_space#, 0.6 staff_space#, 1.9 staff_space#);
draw_meta_flat(0, w, 0.31 staff_space);
fet_endchar;
-fet_beginchar("Semi flat", "-1", "semiflat")
+fet_beginchar("Semi flat", "-1")
set_char_box(1.2 stafflinethickness#, .8 staff_space#, 0.6 staff_space#, 1.9 staff_space#);
draw_meta_flat(0, w, 0.31 staff_space);
currentpicture := currentpicture xscaled -1 shifted (w - b, 0);
fet_endchar;
-fet_beginchar("Double Flat", "-4", "flatflat")
+fet_beginchar("Double Flat", "-4")
save left_wid, overlap, right_wid;
left_wid = .7;
right_wid = .8;
right_wid *staff_space, 0.33 staff_space);
fet_endchar;
-fet_beginchar("3/4 Flat", "-3", "threeqflat")
+fet_beginchar("3/4 Flat", "-3")
save left_wid, overlap, right_wid;
left_wid = .7;
right_wid = .8;
fet_endchar;
-fet_beginchar("Double Sharp", "4", "sharpsharp")
+fet_beginchar("Double Sharp", "4")
set_char_box(0, staff_space#, .5 staff_space#, .5 staff_space#);
save klaverblad, klaversteel;
.. simple_serif(z1r, z1l, 90) .. z2l{down} -- cycle;
enddef;
-fet_beginchar("Right Parenthesis", "rightparen", "rightparen")
+fet_beginchar("Right Parenthesis", "rightparen")
draw_paren;
fet_endchar;
-fet_beginchar("Left Parenthesis", "leftparen", "leftparen")
+fet_beginchar("Left Parenthesis", "leftparen")
draw_paren;
currentpicture := currentpicture xscaled -1;
set_char_box(charwd, charbp, chardp, charht);
%
%
%
-fet_beginchar("Ed. Med. Flat" , "medicaea-1", "medicaeaflat");
+fet_beginchar("Ed. Med. Flat" , "medicaea-1");
set_char_box(0.1 staff_space#, 0.6 staff_space#,
0.6 staff_space#, 1.0 staff_space#);
%
%
%
-fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat");
+fet_beginchar("Ed. Vat. Flat" , "vaticana-1");
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);
0.80 staff_space# + 0.11 staff_space#);
fet_endchar;
-fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural");
+fet_beginchar("Ed. Vat. Natural" , "vaticana0");
save za, zb, zc, zd;
pair za, zb, zc, zd;
pickup pencircle
%
%
%
-fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp");
+fet_beginchar("Mensural Sharp" , "mensural1");
save stemthick;
define_pixels (stemthick);
stemthick# = linethickness#;
fet_endchar;
-fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat");
+fet_beginchar("Mensural Flat" , "mensural-1");
save stemthick;
define_pixels (stemthick);
stemthick# = linethickness#;
fet_endchar;
-fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat");
+fet_beginchar("Hufnagel Flat" , "hufnagel-1");
save stemthick;
define_pixels (stemthick);
stemthick# = linethickness#;
enddef;
-fet_beginchar("Ed. Vat. do clef", "vaticana-do", "vatdoclef")
+fet_beginchar("Ed. Vat. do clef", "vaticana-do")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_vaticana_do_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("Ed. Vat. do clef", "vaticana-do_change", "vatcdoclef")
+fet_beginchar("Ed. Vat. do clef", "vaticana-do_change")
draw_vaticana_do_clef((0,0), 1.0); % no reduction
fet_endchar;
enddef;
-fet_beginchar("Ed. Vat. fa clef", "vaticana-fa", "vatfaclef")
+fet_beginchar("Ed. Vat. fa clef", "vaticana-fa")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_vaticana_fa_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("Ed. Vat. fa clef", "vaticana-fa_change", "vatcfaclef")
+fet_beginchar("Ed. Vat. fa clef", "vaticana-fa_change")
draw_vaticana_fa_clef((0,0), 1.0); % no reduction
fet_endchar;
enddef;
-fet_beginchar("Ed. Med. do clef", "medicaea-do", "meddoclef")
+fet_beginchar("Ed. Med. do clef", "medicaea-do")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_medicaea_do_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("Ed. Med. do clef", "medicaea-do_change", "cmeddoclef")
+fet_beginchar("Ed. Med. do clef", "medicaea-do_change")
draw_medicaea_do_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("Ed. Med. fa clef", "medicaea-fa", "medfaclef")
+fet_beginchar("Ed. Med. fa clef", "medicaea-fa")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_medicaea_fa_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("Ed. Med. fa clef", "medicaea-fa_change", "cmedfaclef")
+fet_beginchar("Ed. Med. fa clef", "medicaea-fa_change")
draw_medicaea_fa_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("neo-mensural c clef", "neomensural-c", "neomenscclef")
+fet_beginchar("neo-mensural c clef", "neomensural-c")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_neomensural_c_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("neo-mensural c clef", "neomensural-c_change", "cneomenscclef")
+fet_beginchar("neo-mensural c clef", "neomensural-c_change")
draw_neomensural_c_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("petrucci c1 clef", "petrucci-c1", "petruccic1clef")
+fet_beginchar("petrucci c1 clef", "petrucci-c1")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_c_clef((0,0), +2, 1.0);
fet_endchar;
-fet_beginchar("petrucci c1 clef", "petrucci-c1_change", "cpetruccic1clef")
+fet_beginchar("petrucci c1 clef", "petrucci-c1_change")
draw_petrucci_c_clef((0,0), +2, .8);
fet_endchar;
-fet_beginchar("petrucci c2 clef", "petrucci-c2", "petruccic2clef")
+fet_beginchar("petrucci c2 clef", "petrucci-c2")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_c_clef((0,0), +1, 1.0);
fet_endchar;
-fet_beginchar("petrucci c2 clef", "petrucci-c2_change", "cpetruccic2clef")
+fet_beginchar("petrucci c2 clef", "petrucci-c2_change")
draw_petrucci_c_clef((0,0), +1, .8);
fet_endchar;
-fet_beginchar("petrucci c3 clef", "petrucci-c3", "petruccic3clef")
+fet_beginchar("petrucci c3 clef", "petrucci-c3")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_c_clef((0,0), 0, 1.0);
fet_endchar;
-fet_beginchar("petrucci c3 clef", "petrucci-c3_change", "cpetruccic3clef")
+fet_beginchar("petrucci c3 clef", "petrucci-c3_change")
draw_petrucci_c_clef((0,0), 0, .8);
fet_endchar;
-fet_beginchar("petrucci c4 clef", "petrucci-c4", "petruccic4clef")
+fet_beginchar("petrucci c4 clef", "petrucci-c4")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_c_clef((0,0), -1, 1.0);
fet_endchar;
-fet_beginchar("petrucci c4 clef", "petrucci-c4_change", "cpetruccic4clef")
+fet_beginchar("petrucci c4 clef", "petrucci-c4_change")
draw_petrucci_c_clef((0,0), -1, .8);
fet_endchar;
-fet_beginchar("petrucci c5 clef", "petrucci-c5", "petruccic5clef")
+fet_beginchar("petrucci c5 clef", "petrucci-c5")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_c_clef((0,0), -2, 1.0);
fet_endchar;
-fet_beginchar("petrucci c5 clef", "petrucci-c5_change", "cpetruc5iceclef")
+fet_beginchar("petrucci c5 clef", "petrucci-c5_change")
draw_petrucci_c_clef((0,0), -2, .8);
fet_endchar;
enddef;
-fet_beginchar("mensural c clef", "mensural-c", "menscclef")
+fet_beginchar("mensural c clef", "mensural-c")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_mensural_c_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("mensural c clef", "mensural-c_change", "cmenscclef")
+fet_beginchar("mensural c clef", "mensural-c_change")
draw_mensural_c_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("petrucci f clef", "petrucci-f", "petruccifclef")
+fet_beginchar("petrucci f clef", "petrucci-f")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_f_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("petrucci f clef", "petrucci-f_change", "cpetruccifclef")
+fet_beginchar("petrucci f clef", "petrucci-f_change")
draw_petrucci_f_clef((0,0), .8);
fet_endchar;
0.5width# + ypart exact_center);
enddef;
-fet_beginchar("mensural f clef", "mensural-f", "mensfclef")
+fet_beginchar("mensural f clef", "mensural-f")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_mensural_f_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("mensural f clef", "mensural-f_change", "cmensfclef")
+fet_beginchar("mensural f clef", "mensural-f_change")
draw_mensural_f_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("petrucci g clef", "petrucci-g", "petruccigclef")
+fet_beginchar("petrucci g clef", "petrucci-g")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_g_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("petrucci g clef", "petrucci-g_change", "cpetruccigclef")
+fet_beginchar("petrucci g clef", "petrucci-g_change")
draw_petrucci_g_clef((0,0), .8);
fet_endchar;
% FIXME: This clef is preliminarily mapped to the petrucci g clef
% until the code for the mensural g clef will be rewritten.
%
-fet_beginchar("mensural g clef", "mensural-g", "mensgclef")
+fet_beginchar("mensural g clef", "mensural-g")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_petrucci_g_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("mensural g clef", "mensural-g_change", "cmensgclef")
+fet_beginchar("mensural g clef", "mensural-g_change")
draw_petrucci_g_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("Hufnagel do clef", "hufnagel-do", "hufnageldoclef")
+fet_beginchar("Hufnagel do clef", "hufnagel-do")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_hufnagel_do_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("Hufnagel do clef", "hufnagel-do_change", "chufnageldoclef")
+fet_beginchar("Hufnagel do clef", "hufnagel-do_change")
draw_hufnagel_do_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("Hufnagel fa clef", "hufnagel-fa", "hufnagelfaclef")
+fet_beginchar("Hufnagel fa clef", "hufnagel-fa")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
draw_hufnagel_fa_clef((0,0), 1.0);
fet_endchar;
-fet_beginchar("Hufnagel fa clef", "hufnagel-fa_change", "chufnagelfaclef")
+fet_beginchar("Hufnagel fa clef", "hufnagel-fa_change")
draw_hufnagel_fa_clef((0,0), .8);
fet_endchar;
enddef;
-fet_beginchar("Hufnagel do/fa clef", "hufnagel-do-fa", "hufnageldofaclef")
+fet_beginchar("Hufnagel do/fa clef", "hufnagel-do-fa")
if test = 1:
draw_staff(-1,3, 0.0);
fi;
enddef;
% 8th mensural flag, upwards, between staff lines
-fet_beginchar("8th Mensural Flag (up)", "mensuralu03", "menseighthflag")
+fet_beginchar("8th Mensural Flag (up)", "mensuralu03")
draw_mensural_flag (between_staff_lines, 1, dir_up)
fet_endchar;
% 8th mensural flag, upwards, on staff line
-fet_beginchar("8th Mensural Flag (up)", "mensuralu13", "mens1eighthflag")
+fet_beginchar("8th Mensural Flag (up)", "mensuralu13")
draw_mensural_flag (on_staff_line, 1, dir_up)
fet_endchar;
% 8th mensural flag, upwards, anywhere
-fet_beginchar("8th Mensural Flag (up)", "mensuralu23", "mens1eighthflag")
+fet_beginchar("8th Mensural Flag (up)", "mensuralu23")
draw_mensural_flag (anywhere, 1, dir_up)
fet_endchar;
% 8th mensural flag, downwards, between staff lines
-fet_beginchar("8th Mensural Flag (down)", "mensurald03", "mensdeighthflag")
+fet_beginchar("8th Mensural Flag (down)", "mensurald03")
draw_mensural_flag (between_staff_lines, 1, dir_down)
fet_endchar;
% 8th mensural flag, downwards, on staff line
-fet_beginchar("8th Mensural Flag (down)", "mensurald13", "mensd1eighthflag")
+fet_beginchar("8th Mensural Flag (down)", "mensurald13")
draw_mensural_flag (on_staff_line, 1, dir_down)
fet_endchar;
% 8th mensural flag, downwards, anywhere
-fet_beginchar("8th Mensural Flag (down)", "mensurald23", "mensd1eighthflag")
+fet_beginchar("8th Mensural Flag (down)", "mensurald23")
draw_mensural_flag (anywhere, 1, dir_down)
fet_endchar;
% 16th mensural flag, upwards, between staff lines
-fet_beginchar("16th Mensural Flag (up)", "mensuralu04", "menssixteenthflag")
+fet_beginchar("16th Mensural Flag (up)", "mensuralu04")
draw_mensural_flag (between_staff_lines, 2, dir_up)
fet_endchar;
% 16th mensural flag, upwards, on staff line
-fet_beginchar("16th Mensural Flag (up)", "mensuralu14", "mens1sixteenthflag")
+fet_beginchar("16th Mensural Flag (up)", "mensuralu14")
draw_mensural_flag (on_staff_line, 2, dir_up)
fet_endchar;
% 16th mensural flag, upwards, anywhere
-fet_beginchar("16th Mensural Flag (up)", "mensuralu24", "mens1sixteenthflag")
+fet_beginchar("16th Mensural Flag (up)", "mensuralu24")
draw_mensural_flag (anywhere, 2, dir_up)
fet_endchar;
% 16th mensural flag, downwards, between staff lines
-fet_beginchar("16th Mensural Flag (down)", "mensurald04", "mensdsixteenthflag")
+fet_beginchar("16th Mensural Flag (down)", "mensurald04")
draw_mensural_flag (between_staff_lines, 2, dir_down)
fet_endchar;
% 16th mensural flag, downwards, on staff line
-fet_beginchar("16th Mensural Flag (down)", "mensurald14", "mensd1sixteenthflag")
+fet_beginchar("16th Mensural Flag (down)", "mensurald14")
draw_mensural_flag (on_staff_line, 2, dir_down)
fet_endchar;
% 16th mensural flag, downwards, anywhere
-fet_beginchar("16th Mensural Flag (down)", "mensurald24", "mensd1sixteenthflag")
+fet_beginchar("16th Mensural Flag (down)", "mensurald24")
draw_mensural_flag (anywhere, 2, dir_down)
fet_endchar;
% 32th mensural flag, upwards, between staff lines
-fet_beginchar("32th Mensural Flag (up)", "mensuralu05", "mensthirtysecondflag")
+fet_beginchar("32th Mensural Flag (up)", "mensuralu05")
draw_mensural_flag (between_staff_lines, 3, dir_up)
fet_endchar;
% 32th mensural flag, upwards, on staff line
-fet_beginchar("32th Mensural Flag (up)", "mensuralu15", "mens1thirtysecondflag")
+fet_beginchar("32th Mensural Flag (up)", "mensuralu15")
draw_mensural_flag (on_staff_line, 3, dir_up)
fet_endchar;
% 32th mensural flag, upwards, anywhere
-fet_beginchar("32th Mensural Flag (up)", "mensuralu25", "mens1thirtysecondflag")
+fet_beginchar("32th Mensural Flag (up)", "mensuralu25")
draw_mensural_flag (anywhere, 3, dir_up)
fet_endchar;
% 32th mensural flag, downwards, between staff lines
-fet_beginchar("32th Mensural Flag (down)", "mensurald05", "mensdthirtysecondflag")
+fet_beginchar("32th Mensural Flag (down)", "mensurald05")
draw_mensural_flag (between_staff_lines, 3, dir_down)
fet_endchar;
% 32th mensural flag, downwards, on staff line
-fet_beginchar("32th Mensural Flag (down)", "mensurald15", "mensd1thirtysecondflag")
+fet_beginchar("32th Mensural Flag (down)", "mensurald15")
draw_mensural_flag (on_staff_line, 3, dir_down)
fet_endchar;
% 32th mensural flag, downwards, anywhere
-fet_beginchar("32th Mensural Flag (down)", "mensurald25", "mensd1thirtysecondflag")
+fet_beginchar("32th Mensural Flag (down)", "mensurald25")
draw_mensural_flag (anywhere, 3, dir_down)
fet_endchar;
% 64th mensural flag, upwards, between staff lines
-fet_beginchar("64th Mensural Flag (up)", "mensuralu06", "menssixtyfourthflag")
+fet_beginchar("64th Mensural Flag (up)", "mensuralu06")
draw_mensural_flag (between_staff_lines, 4, dir_up)
fet_endchar;
% 64th mensural flag, upwards, on staff line
-fet_beginchar("64th Mensural Flag (up)", "mensuralu16", "mens1sixtyfourthflag")
+fet_beginchar("64th Mensural Flag (up)", "mensuralu16")
draw_mensural_flag (on_staff_line, 4, dir_up)
fet_endchar;
% 64th mensural flag, upwards, anywhere
-fet_beginchar("64th Mensural Flag (up)", "mensuralu26", "mens1sixtyfourthflag")
+fet_beginchar("64th Mensural Flag (up)", "mensuralu26")
draw_mensural_flag (anywhere, 4, dir_up)
fet_endchar;
% 64th mensural flag, downwards, between staff lines
-fet_beginchar("64th Mensural Flag (down)", "mensurald06", "mensdsixtyfourthflag")
+fet_beginchar("64th Mensural Flag (down)", "mensurald06")
draw_mensural_flag (between_staff_lines, 4, dir_down)
fet_endchar;
% 64th mensural flag, downwards, on staff line
-fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag")
+fet_beginchar("64th Mensural Flag (down)", "mensurald16")
draw_mensural_flag (on_staff_line, 4, dir_down)
fet_endchar;
% 64th mensural flag, downwards, anywhere
-fet_beginchar("64th Mensural Flag (down)", "mensurald26", "mensd1sixtyfourthflag")
+fet_beginchar("64th Mensural Flag (down)", "mensurald26")
draw_mensural_flag (anywhere, 4, dir_down)
fet_endchar;
draw z6 .. z7;
enddef;
-fet_beginchar("Left stemmed notehead", "lneomensural", "neomensuralleftstemmedhead");
+fet_beginchar("Left stemmed notehead", "lneomensural");
draw_neomensural_left_stemmed_head (2 staff_space#);
fet_endchar;
%
% (ze is wel breed)
%
-fet_beginchar("Neo-mensural maxima notehead", "s-3neomensural", "neomensuralmaximahead");
+fet_beginchar("Neo-mensural maxima notehead", "s-3neomensural");
draw_neomensural_longa (2.6 staff_space#)
fet_endchar;
-fet_beginchar("Neo-mensural longa notehead", "s-2neomensural", "neomensurallongahead");
+fet_beginchar("Neo-mensural longa notehead", "s-2neomensural");
draw_neomensural_longa (2 staff_space#)
fet_endchar;
-fet_beginchar("Neo-mensural brevis notehead", "s-1neomensural", "neomensuralbrevishead")
+fet_beginchar("Neo-mensural brevis notehead", "s-1neomensural")
draw_neomensural_brevis(2 staff_space#);
fet_endchar;
unfill z5 -- z6 -- z7 -- z8 --cycle;
enddef;
-fet_beginchar("Neo-mensural open head","s0neomensural","neomensuralsemibrevishead")
+fet_beginchar("Neo-mensural open head","s0neomensural")
draw_neomensural_open_head (staff_space#, noteheight#);
fet_endchar;
fet_endchar;
-fet_beginchar("Neo-mensural open head","s1neomensural","neomensuralminimahead")
+fet_beginchar("Neo-mensural open head","s1neomensural")
draw_neomensural_open_head (staff_space#, noteheight#);
fet_endchar;
-fet_beginchar("Neo-mensural black head","s2neomensural","neomensuralsemiminimahead")
+fet_beginchar("Neo-mensural black head","s2neomensural")
draw_neomensural_black_head (staff_space#, noteheight#);
fet_endchar;
draw z6 .. z7;
enddef;
-fet_beginchar("Mensural left stemmed notehead", "slmensural", "mensuralleftstemmedhead");
+fet_beginchar("Mensural left stemmed notehead", "slmensural");
draw_mensural_left_stemmed_head (staff_space#)
fet_endchar;
-fet_beginchar("Mensural maxima notehead", "s-3mensural", "mensuralmaximahead");
+fet_beginchar("Mensural maxima notehead", "s-3mensural");
draw_mensural_longa (2.0 staff_space#)
fet_endchar;
-fet_beginchar("Mensural longa notehead", "s-2mensural", "mensurallongahead");
+fet_beginchar("Mensural longa notehead", "s-2mensural");
draw_mensural_longa (staff_space#)
fet_endchar;
-fet_beginchar("Mensural brevis notehead", "s-1mensural", "mensuralbrevishead")
+fet_beginchar("Mensural brevis notehead", "s-1mensural")
draw_mensural_brevis(staff_space#);
fet_endchar;
enddef;
-fet_beginchar("Mensural open head","s0mensural","mensuralsemibrevishead")
+fet_beginchar("Mensural open head","s0mensural")
draw_diamond_head (staff_space#, 0.15, 0.30, 30, true);
fet_endchar;
-fet_beginchar("Mensural open head","s1mensural","mensuralminimahead")
+fet_beginchar("Mensural open head","s1mensural")
draw_diamond_head (staff_space#, 0.15, 0.30, 30, true);
fet_endchar;
-fet_beginchar("Mensural black head","s2mensural","mensuralsemiminimahead")
+fet_beginchar("Mensural black head","s2mensural")
draw_diamond_head (staff_space#, 0.15, 0.30, 30, false);
fet_endchar;
false, false, true, false, false, 1.0);
% quilisma
-fet_beginchar("Ed. Vat. quilisma", "vaticana-quilisma", "vatquilismahead")
+fet_beginchar("Ed. Vat. quilisma", "vaticana-quilisma")
save b_h,a_w;
a_b:=1.54; % b_h*a_b/a_w = wd/ht
b_h:=0.85;
punctum_char("Hufnagel virga", "hufnagel-virga", "hufvirgahead", true)
% pes lower punctum
-fet_beginchar("Hufnagel pes lower punctum", "hufnagel-lpes", "huflpeshead")
+fet_beginchar("Hufnagel pes lower punctum", "hufnagel-lpes")
save width, height, alpha;
width# = 2*staff_space#;
height# = 0.7*staff_space#;
draw_block ((0,0), (neomens_block_rest_x, neomens_half_block_rest_y));
enddef;
-fet_beginchar("Neo-mensural maxima rest", "-3neomensural", "neomensmaximarest");
+fet_beginchar("Neo-mensural maxima rest", "-3neomensural");
set_char_box(0, 3 neomens_block_rest_x#,
neomens_block_rest_y#, neomens_block_rest_y#);
draw_block ((0,-neomens_block_rest_y),
addto currentpicture also currentpicture shifted (2 neomens_block_rest_x, 0);
fet_endchar;
-fet_beginchar("Neo-mensural longa rest", "-2neomensural", "neomenslongarest");
+fet_beginchar("Neo-mensural longa rest", "-2neomensural");
set_char_box(0, neomens_block_rest_x#,
neomens_block_rest_y#, neomens_block_rest_y#);
draw_block ((0,-neomens_block_rest_y),
(neomens_block_rest_x, neomens_block_rest_y));
fet_endchar;
-fet_beginchar("Neo-mensural breve rest", "-1neomensural", "neomensbreverest");
+fet_beginchar("Neo-mensural breve rest", "-1neomensural");
set_char_box(0, neomens_block_rest_x#,
0, neomens_block_rest_y#);
draw_block ((0,0), (neomens_block_rest_x, neomens_block_rest_y));
fet_endchar;
-fet_beginchar("Neo-mensural whole rest", "0neomensural", "neomenssemibrevisrest");
+fet_beginchar("Neo-mensural whole rest", "0neomensural");
set_char_box(0, neomens_block_rest_x#,
neomens_half_block_rest_y#, 0);
neomens_half_block_rest;
currentpicture shifted (0,- neomens_half_block_rest_y);
fet_endchar;
-fet_beginchar("Neo-mensural half rest", "1neomensural", "neomensminimahalfrest");
+fet_beginchar("Neo-mensural half rest", "1neomensural");
set_char_box(0, neomens_block_rest_x#,
0, neomens_half_block_rest_y#);
neomens_half_block_rest;
neomensrestsize# = 0.8 staff_space#;
-fet_beginchar("Neo-mensural 4th rest","2neomensural","neomenssemiminimarest")
+fet_beginchar("Neo-mensural 4th rest","2neomensural")
set_char_box(0,neomensrestsize#,0,neomensrestsize#);
pickup pencircle scaled 2 stafflinethickness;
lft x1 = 0;
draw z2 .. z3;
fet_endchar
-fet_beginchar("Neo-mensural 8th rest","3neomensural","neomensfusarest")
+fet_beginchar("Neo-mensural 8th rest","3neomensural")
set_char_box(0,neomensrestsize#,0,neomensrestsize#);
pickup pencircle scaled 2 stafflinethickness;
rt x1 = w;
draw z2 .. z3;
fet_endchar
-fet_beginchar("Neo-mensural 16th rest","4neomensural","neomenssemifusarest")
+fet_beginchar("Neo-mensural 16th rest","4neomensural")
set_char_box(0,neomensrestsize#,0,staff_space#);
pickup pencircle scaled 2 stafflinethickness;
rt x1 = w;
define_pixels(mens_block_rest_y, mens_half_block_rest_y,
pen_width, pen_height);
-fet_beginchar("Mensural maxima rest", "-3mensural", "mensmaximarest");
+fet_beginchar("Mensural maxima rest", "-3mensural");
set_char_box(0, pen_width#,
mens_block_rest_y#, 2mens_block_rest_y#);
pickup pencircle
draw (w/2, -mens_block_rest_y) -- (w/2, 2 mens_block_rest_y);
fet_endchar;
-fet_beginchar("Mensural longa rest", "-2mensural", "menslongarest");
+fet_beginchar("Mensural longa rest", "-2mensural");
set_char_box(0, pen_width#,
mens_block_rest_y#, mens_block_rest_y#);
pickup pencircle
draw (w/2, -mens_block_rest_y) -- (w/2, mens_block_rest_y);
fet_endchar;
-fet_beginchar("Mensural breve rest", "-1mensural", "mensbreverest");
+fet_beginchar("Mensural breve rest", "-1mensural");
set_char_box(0, pen_width#,
0, mens_block_rest_y#);
pickup pencircle
draw (w/2, 0) -- (w/2, mens_block_rest_y);
fet_endchar;
-fet_beginchar("Mensural whole rest", "0mensural", "menssemibrevisrest");
+fet_beginchar("Mensural whole rest", "0mensural");
set_char_box(0, pen_width#,
mens_half_block_rest_y#, 0);
pickup pencircle
draw (w/2, 0) -- (w/2, -mens_half_block_rest_y);
fet_endchar;
-fet_beginchar("Mensural half rest", "1mensural", "mensminimahalfrest");
+fet_beginchar("Mensural half rest", "1mensural");
set_char_box(0, pen_width#,
0, mens_half_block_rest_y#);
pickup pencircle
mensrestsize# = .8staff_space#;
-fet_beginchar("Mensural 4th rest","2mensural","menssemiminimarest")
+fet_beginchar("Mensural 4th rest","2mensural")
set_char_box(0,mensrestsize#,0,mensrestsize#);
pickup pencircle
xscaled pen_width
draw z1 -- z2 -- z3 -- z4;
fet_endchar
-fet_beginchar("Mensural 8th rest","3mensural","mensfusarest")
+fet_beginchar("Mensural 8th rest","3mensural")
set_char_box(0,mensrestsize#,0,mensrestsize#);
pickup pencircle
xscaled pen_width
% FIXME: So far, I have never seen a semifusa rest printed. Hence,
% the shape of this font character is currently pure invention. --jr
%
-fet_beginchar("Mensural 16th rest","4mensural","menssemifusarest")
+fet_beginchar("Mensural 16th rest","4mensural")
set_char_box(0,mensrestsize#,0,staff_space#);
pickup pencircle
xscaled pen_width
fet_begingroup ("scripts")
-fet_beginchar("ictus", "ictus", "ictus")
+fet_beginchar("ictus", "ictus")
save ht, wd;
ht# = .35 staff_space#;
wd# = linethickness#;
set_char_box(wd#/2, wd#/2, ht#/2, ht#/2);
enddef;
-fet_beginchar("accentus up", "uaccentus", "uaccentus")
+fet_beginchar("accentus up", "uaccentus")
draw_accentus;
fet_endchar;
-fet_beginchar("accentus down", "daccentus", "daccentus")
+fet_beginchar("accentus down", "daccentus")
draw_accentus;
y_mirror_char;
fet_endchar;
addto currentpicture also currentpicture xscaled -1;
enddef;
-fet_beginchar("half circle", "usemicirculus", "usemicirculus")
+fet_beginchar("half circle", "usemicirculus")
draw_half_ellipse(5/16 staff_space#, 5/16 staff_space#);
currentpicture := currentpicture yscaled -1;
set_char_box(width#/2, width#/2, 0, height#/2);
fet_endchar;
-fet_beginchar("half circle", "dsemicirculus", "dsemicirculus")
+fet_beginchar("half circle", "dsemicirculus")
draw_half_ellipse(5/16 staff_space#, 5/16 staff_space#);
set_char_box(width#/2, width#/2, height#/2, 0);
fet_endchar;
-fet_beginchar("circle", "circulus", "circulus")
+fet_beginchar("circle", "circulus")
draw_half_ellipse(5/16 staff_space#, 5/16 staff_space#);
set_char_box(width#/2, width#/2, height#/2, height#/2);
addto currentpicture also currentpicture yscaled -1;
fet_endchar;
-fet_beginchar("augmentum", "augmentum", "augmentum")
+fet_beginchar("augmentum", "augmentum")
save diameter;
diameter# = 0.25 staff_space#;
define_pixels(diameter);
drawdot zh;
enddef;
-fet_beginchar("signum congruentiae up",
- "usignumcongruentiae", "usignumcongruentiae")
+fet_beginchar("signum congruentiae up", "usignumcongruentiae")
draw_signum_congruentiae;
fet_endchar;
-fet_beginchar("signum congruentiae down",
- "dsignumcongruentiae", "dsignumcongruentiae")
+fet_beginchar("signum congruentiae down", "dsignumcongruentiae")
draw_signum_congruentiae;
xy_mirror_char;
fet_endchar;