% -*- Fundamental -*-
-accreg_dot_size# := .5staff_space#;
+fet_begingroup("accordion")
-% FIXME
-% 'strange turning path' in accSB and others:
-% mf '\mode=laserjet; input feta11'
-% mf '\mode=laserjet; input feta13'
+accreg_dot_size# := .5staff_space#;
accreg_linethickness# := 1.3stafflinethickness#;
% This dimention is the same on all registersymbols.
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);
set_char_box(accreg_lh#, accreg_lh#, 0, 3accreg_lh#);
pickup pencircle scaled accreg_linethickness;
- draw (0, 0)--(2w, 0)--(2w, 3accreg_lh)--(0, 3accreg_lh)--(0, 0);
+ %draw (0, 0)--(2w, 0)--(2w, 3accreg_lh)--(0, 3accreg_lh)--(0, 0);
+ draw (0, 0)--(2w, 0)--(2w, 3accreg_lh)--(0, 3accreg_lh)--cycle;
draw (0, accreg_lh)--(2w, accreg_lh);
draw (0, 2accreg_lh)--(2w, 2accreg_lh);
currentpicture := currentpicture shifted (-w, 0);% -3lh);
def def_B(expr w, h) =
% huh?
% pickup pencircle scaled 0.1pt;
- pickup pencircle scaled 0.15stafflinethickness;
+ pickup pencircle scaled 0.15linethickness;
penpos10(thin, -90);
penpos11(thin, -90);
penpos12(thick, 0);
penpos13(thin, 90);
penpos14(thin, 90);
+
penpos15(thick, 180);
penpos16(thin, -90);
penpos17(thin, -90);
def def_S(expr w, h) =
% huh?
%pickup pencircle scaled 0.02pt;
- pickup pencircle scaled 0.03stafflinethickness;
+ pickup pencircle scaled 0.03linethickness;
penpos1(thin, 180);
penpos2(thin, -90);
penpos3(thick, 0);
bue=z2{left}..z1{up};
numeric t;
t:=xpart(bue intersectiontimes(z8l--z7l));
- show t;
+% show t;
bueoverst=z6{right}..z7{down};
enddef;
def def_some_vars =
save hs, mb, mt, thin, thick, height, width, cOne, cTwo;
- width = .8staffsize;
+ width = .8(4 staff_space);
height = 2.4staff_space;
- thin = 0.05staff_space;
- thick = 0.2staff_space;
+ % URG. smaller sizes should be wider and fatter
+ %thin = 0.05staff_space;
+ %thick = 0.2staff_space;
+ save bx,hx; 4hx+bx=1.15; 10hx+bx=1;
+ fatten:=designsize*hx+bx*1.2;
+ thick:= 0.2staff_space*fatten;
+ % urg: mustn't ever go thinner than blot!
+ thin#:= blot_diameter#;
+ define_pixels (thin);
+
hs = 0.4staff_space;
mb = .53;
mt = .47;
cTwo = 0.60;
enddef;
-%%% strange turning path.
-fet_beginchar("accSB", "accSB", "accSB")
- set_char_box(.4staffsize#, .4staffsize#, 0, 2.4staff_space#);
- def_some_vars;
- def_B(.35width, .7height);
-
- % FIXME -- strange turning path:
- penstroke z10e--z11e{right}..z12e{up}..z13e{left}--z14e;
-
- penstroke z13e{right}..z15e{up}..z16e{left}--z17e;
- penstroke z18e--z19e;
- pickup pencircle scaled .5thick;
- drawdot (.37width, .10thick);
- currentpicture := currentpicture shifted(.40width, 0);
+def print_penpos (suffix $)=
+ message "z"&str $ &"l = ("&decimal x.$.l&", "&decimal y.$.l&"); z"&str $ &"r = ("&decimal x.$.r&", "&decimal y.$.r&");";
+enddef;
- def_S(.35width, .7height);
-% penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9);
- filldraw z1r--z8r--z8l--subpath(t, 1) of bue--cycle;
- filldraw subpath(t, 1) of bueoverst--z7l--z9r--z9l--cycle;
- penstroke z1e{down}..z2e{right}..z3e
- ..z4e
- ..z5e..z6e{right}...z7e{down};
- pickup pencircle scaled .5thick;
- drawdot (.37width, .10thick);
- currentpicture := currentpicture shifted (-.40width, -.85height);
- draw (-.5width, 0)--(.5width, 0)--(.5width, -height)
- --(-.5width, -height)--(-.5width, 0);
- currentpicture := currentpicture shifted (0, 2.4staff_space);
-fet_endchar;
%%% strange turning path.
-fet_beginchar("accBB", "accBB", "accBB")
- set_char_box(.4staffsize#, .4staffsize#, 0, 2.4staff_space#);
- def_some_vars;
- def_B(.35width, .7height);
-
- % FIXME -- strange turning path:
- penstroke z10e--z11e{right}..z12e{up}..z13e{left}--z14e;
+fet_beginchar("accOldEE", "accOldEE")
+ set_char_box(staff_space#, staff_space#, 0, 2staff_space#);
+ r = staff_space;
+ lr = .4 staff_space - linethickness;
+ ir = .6 staff_space;
- penstroke z13e{right}..z15e{up}..z16e{left}--z17e;
- penstroke z18e--z19e;
- pickup pencircle scaled .5thick;
- drawdot(.37width, .10thick);
- currentpicture := currentpicture shifted (.40width, 0);
- penstroke z10e--z11e{right}..z12e{up}..z13e{left}--z14e;
- penstroke z13e{right}..z15e{up}..z16e{left}--z17e;
- penstroke z18e--z19e;
- drawdot(.37width, .10thick);
- currentpicture := currentpicture shifted(-.40width, -.85height);
- draw (-.5width, 0)--(.5width, 0)--(.5width, -height)
- --(-.5width, -height)--(-.5width, 0);
- currentpicture := currentpicture shifted (0, 2.4staff_space);
-fet_endchar;
+ z1 = (0,0);
+ z2 = (0, ir);
+ penpos1 (0,0);
+ penpos2 ( .05 staff_space + .5 linethickness,0);
+ penlabels(1,2,3);
-%%% strange turning path.
-fet_beginchar("accOldEE", "accOldEE", "accOldEE")
- set_char_box(staff_space#, staff_space#, 0, 2staff_space#);
- show w;
- show h;
- r = staff_space;
- lr = .3staff_space;
- ir = .6staff_space;
- pickup accreg_pen;
- draw fullcircle scaled 2r;
- pickup penrazor;
- filldraw fullcircle scaled lr;
- z1 = (ir, 0);
- z2 = (0, 0) + ir*(dir 45);
- z3 = (0, ir);
numeric pp;
+ pickup pencircle scaled blot_diameter;
for pp := 0 step 45 until 360:
filldraw fullcircle scaled lr shifted (ir*(dir pp));
- endfor;
- for pp := 0 step 45 until 360:
- filldraw ((0, 0)--(.2lr, ir)--(-.2lr, ir)--cycle) rotated pp;
+ filldraw (z1r--z1l--z2l--z2r--cycle) rotated pp;
endfor
- currentpicture := currentpicture shifted (0, r);
-fet_endchar;
-fet_beginchar("accOldEES", "accOldEES", "accOldEES")
- set_char_box(staff_space#, staff_space#, 0, 2staff_space#);
- save r, shy;
- r = staff_space;
- shy = .3;
pickup accreg_pen;
draw fullcircle scaled 2r;
- currentpicture := currentpicture shifted (w/2, shy*h);
- save thin, thick, sw, ch, cw, mb, mt;
- ch = .6h;
- cw = .8w;
- thin = .05cw;
- thick = .17w;
- mb = .53; mt = .47;
- sw = .8thick;
- z1 = (0, ch-.5thin); penpos1 (thin, -90);
- z2 = (.7cw, y1); penpos2 (thin, -90);
- z3 = (cw, (mb+.5mt)*ch); penpos3(thick, -180);
- z4 = (.65cw, mb*ch); penpos4(thin, 90);
- z5 = (sw+thick, mb*ch); penpos5(thin, 90);
- z6 = (.9cw, .5mb*ch); penpos6(thick, 0);
- z7 = (1.2cw, 0); penpos7(thin, 90);
- z8 = (1.3cw, .2mb*ch); penpos8(thin, 180);
- penlabels(1, 2, 3, 4, 5, 6, 7, 8);
- pickup pencircle scaled 0.001pt;
- filldraw (0, 0)--(0, thin)--(sw, thin)--(sw, ch-thin)
- --(sw+thick, ch-thin)--(sw+thick, thin)
- --(2sw+thick, thin)--(2sw+thick, 0)--cycle;
+ pickup penrazor;
- % FIXME -- strange turning path:
- penstroke z1e--z2e{right}..z3e..z4e{left}--z5e;
+ filldraw fullcircle scaled lr;
- penstroke z4e{right}..z6e{down}..z7e{right}..z8e{up};
- currentpicture := currentpicture shifted (-w/2, -shy*h);
currentpicture := currentpicture shifted (0, r);
+
+
fet_endchar;
+
+
+
+fet_endgroup("accordion")