diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/musictex/musikgen.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/musictex/musikgen.mf | 1252 |
1 files changed, 0 insertions, 1252 deletions
diff --git a/Master/texmf-dist/fonts/source/public/musictex/musikgen.mf b/Master/texmf-dist/fonts/source/public/musictex/musikgen.mf deleted file mode 100644 index 0b7de414897..00000000000 --- a/Master/texmf-dist/fonts/source/public/musictex/musikgen.mf +++ /dev/null @@ -1,1252 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% this is musikgen.mf -% -% Version 5.02 [March 94] Daniel Taupin changed '047 to a + for percussion -% -% Version 5.01 [January 94] Daniel Taupin -% -% Version 4.89 [September 93] Andreas Egler -% - blacker influence now -% - redesigned chars 71, 72, 53, 123 -% -% Version 4.88 [January 93] Ross Mitchell -% - redesigned chars 63, 64, 65, 66 -% -% Version 4.87 [] Daniel Taupin -% -% Version 2.00 [] Daniel Taupin -% -% Version 1.00 [August 86] Angelika Schofer/Andrea Steinbach -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%"At most 15 different nonzero heights, 15 different nonzero depths, ... -% may appear in a single fonts. If these limits are exceeded, METAFONT will -% change one or more values, ..., until the restriction hold. A warning -% message is issued ..; for example 'some charht values had to be adjusted -% by as much as 0.12pt' means that you had too many different nonzero -% heights, ..." METAFONT-Book App. F - -%<<<>>> This indicates the heights I've changed - -%{{{ This always indicates a lowres fix to avoid seperated points -%}}} and/or 'invisible' lines. It doesn't affect higher resolutions !! - -pair pone, ptwo; -transform t; -path p; -picture save_pic; - -pen thin_pen, med_pen; -thin_pen:= pencircle scaled thin; -med_pen:= pencircle scaled med; - -apog_fact=0.75; -apog_nhh=apog_fact*nhh; -apog_nhh#=apog_fact*nhh#; -apog_nhw#=apog_fact*nhw#; - -%%%AE it's somewhat faster to use already computed pictures -def mirror (expr pone, ptwo) = - currentpicture:=currentpicture reflectedabout(round(pone),round(ptwo)) -enddef; -def add_mirror (expr pone, ptwo) = - addto currentpicture also currentpicture - reflectedabout (round(pone), round(ptwo)) -enddef; - -def savepic = save_pic:= currentpicture enddef; -def callpic = currentpicture:= save_pic enddef; -def clearpic = save_pic:= nullpicture enddef; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% basic macros for noteheads and flags % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% noteheads % -%%%%%%%%%%%%% -def drawnoteb(expr noteheadwidth, noteheadheight, theta_a, - theta_b, theta_c, width_a, width_b) = - penpos1(width_a, theta_a); % .l - penpos3(width_a, 180+theta_a); % .2 - penpos2(width_b, 180+theta_b); % .r - penpos4(width_b, theta_b); %.l.1.r .r.3.l - x1l = y1 = y3 = 0; % .r - x3l = 2x2 = 2x4 = noteheadwidth; % .4 - y2l =-y4l = noteheadheight; % .l - t:= identity rotatedaround ((x2,0),theta_c); - penstroke (z1e{up}..z2e{right}..z3e{down}..z4e{left}..cycle) - transformed t; -%{{{ - currentpen:= pencircle; - draw (z1{up}..z2{right}..z3{down}..z4{left}..cycle) transformed t -%}}} -enddef; - -def drawnotew(expr noteheadwidth, noteheadheight, theta_a, - theta_b, width_a, width_b) = - penpos1(width_a, theta_a); % .l - penpos3(width_a, 180+theta_a); % .2 - penpos2(width_b, 180+theta_b); % .r - penpos4(width_b, theta_b); %.l.1.r .r.3.l - x1l= y1l = y3l = 0; % .r - x3l= 2x2l = 2x4l = noteheadwidth;% .4 - y2l=-y4l = noteheadheight; % .l - fill z1l{up}..z2l{right}..z3l{down}..z4l{left}..cycle; - erase fill z1r{up}..z2r{right}..z3r{down}..z4r{left}..cycle; -%{{{ - currentpen:= pencircle; - draw z1{up}..z2{right}..z3{down}..z4{left}..cycle; -%}}} - penlabels(1,2,3,4) -enddef; - -%%%AE I found in a notebook a whole note which looks slight different -def drawnote_w(expr noteheadwidth, noteheadheight, theta, width_a, width_b)= - x1= y1 = y3 = y5 = y7 = 0; - x3= 2x2 = 2x4 = 2x6 = 2x8 = noteheadwidth; - y2=-y4 = noteheadheight; - x5= x3-x7 = x1+width_a; - y6=-y8 = y2-width_b; - fill z1{curl3}..z2..{curl3}z3{curl3}..z4..{curl3}cycle; - unfill (z5..z6..z7..z8..cycle) rotatedaround ((x2,0),theta); - labels(range 1 thru 8); -enddef; -%%%AE if you have GFtoDVI and want to see the character, -% uncomment the next four lines -%beginchar(0,1.5nhh#, .5nhh#, .5nhh#); -% drawnote_w(w, h, 45, 1.6thick, .5thin); -%endchar; -%end - -%%%%%%%%% -% flags % -%%%%%%%%% -%%%AE the penstrike macro is a copy of plain's penstroke -% macro, 'fill' is replaced by 'filldraw', this is -% responsible for 'strange path' when sharp turns ahead (intersectionp) -% the second macro does the same with a little more 'tolerance' -% -% I don't like it at all, because the flags are thicker -% on lowres than (or as?) on highres devices -% {Sorry, my english is very bad, nevertheless I hope you -% understand my words} -% -%%%def penstrike text t = -%%% forsuffixes e = l,r: path_.e:=t; endfor -%%% if cycle path_.l: cyclestroke_ -%%% else: filldraw path_.l -- reverse path_.r -- cycle fi enddef; -% -%def penstrike text t = -% forsuffixes e = l,r: path_.e:=t; endfor -% if cycle path_.l: cyclestroke_ -% else: fill path_.l -- reverse path_.r -- cycle; -% draw path_.l -- reverse path_.r -- cycle fi enddef; - -def flagshape(suffix i) (expr width, height, thick, - thin, shiftx, shifty, flagsense) = - pair intersectionp; % .1 - penpos[i](thick+blacker, 90); % - penpos[i+1](3.25thin+blacker, 70);% .2 - penpos[i+3](thin, -45); % - x[i] = rt shiftx; % .3 - y[i] = height+shifty-thick/2; % - x[i+1] = shiftx+3/8width; % .4 - y[i+1] = height+shifty-.95thick; % - x[i+2] = shiftx+width-thin/2; - y[i+2] = height+shifty-2thick; - x[i+3] = shiftx-thin/2+0.6width; - y[i+3] = shifty; - if i>1: intersectionp = z[i-2]; else: intersectionp = z[i+3]; fi; - if flagsense>0: - penpos[i+2](1.25thin+blacker, 35); - else: - penpos[i+2](1.05thin+blacker, 0); - fi; - penstroke z[i]e..z[i+1]e..z[i+2]e{down}..intersectionp; -%{{{ - currentpen:= pencircle; - draw lft z[i]..z[i+1]..z[i+2]{down}..intersectionp; -%}}} - penlabels (range i thru i+3) -enddef; - -% Added by D. Taupin Jan 1993 -beginchar(14,0.5nhw#,0,0); "Song system limit up"; -%%%AE clearxy is already done by 'beginchar();' -% clear; - x1=y1=y2=0; 3x2=x3=3w; y3=nhh; - p:= z1---z2..z3; - pickup penrazor scaled med rotated 90; - draw p; -%{{{ - currentpen:= pencircle; - draw p; -%}}} - savepic; -endchar; - -beginchar(15,0.5nhw#,0,0); "Song system limit down"; - callpic; - mirror (origin, right); -endchar; - -for n:=1 upto 4: -%<<<>>>(0.5+0.1*n)*nhh# - beginchar(15+n, 4n*nhw#, 0, (0.5+0.1n)*nhh#); "Crescendo"; - pickup med_pen; - draw (0,(0.5+0.1n)*nhh)--(w,0)--(0,-d); - endchar; -endfor; - -for n:=1 upto 4: -%<<<>>>(0.5+0.1*n)*nhh# - beginchar(19+n, 4n*nhw#, 0, (0.5+0.1n)*nhh#); "Decrescendo"; - pickup med_pen; - draw (w,(0.5+0.1n)*nhh)--(0,0)--(w,-d); - endchar; -endfor; - -%%%%%%%%%%% -% accents % -%%%%%%%%%%% -dely:=1.15nhh+.2pt; - -%%%AE 'fill fullcircle' is faster and produce 'nicer' circles -beginchar(24, nhw#, nhh#, 0); "Point au-dessus de la note"; - fill fullcircle scaled thick shifted (.5w, dely); - savepic; -endchar; - -beginchar(25, nhw#, 0, nhh#); "Point au-dessous de la note"; - callpic; - mirror (origin, right); -endchar; - -beginchar(26, nhw#, nhh#, 0); "Barre au-dessus de la note"; -%%%AE faster - fill unitsquare xscaled w yscaled 1.25med shifted (0,dely-.625med); - savepic; -endchar; - -beginchar(27, nhw#, 0, nhh#); "Trait au-dessous de la note"; - callpic; - mirror (origin, right); -endchar; - -beginchar(28, nhw#, nhh#, 0); "Accent (pizz.) au-dessus de la note"; - rayon:= thin+.1nhh; - z1=(0.5w,w+rayon); - z2=(0.5w-rayon,w); - z3=(0.5w,w-0.45nhh); - z4=(0.5w+rayon,w); - fill z3--z4{up}..z1..{down}z2--cycle; - savepic; -endchar; - -beginchar(29, nhw#, 0, nhh#); "Accent (pizz.) au-dessous de la note"; - callpic; - mirror (origin, right); -endchar; - -%%%AE why 1.5nhh ??? -beginchar(30, nhw#, 1.5nhh#, 0); "Accent (sforz.) au-dessus de la note"; - pickup med_pen; - draw (-.2w, 1.6nhh)--(1.2w, 1.3nhh)--(-.2w, nhh); - savepic; -endchar; - -beginchar(31, nhw#, 0, nhh#); "Accent (sforz.) au-dessous de la note"; - callpic; - mirror (origin, right); -endchar; - -%%%%%%%%% -% breve % -%%%%%%%%% -def breve = - fill unitsquare xscaled w yscaled .5h shifted (0,.25h); - add_mirror (origin, right); - nh:= .7nhh; - pickup thin_pen; - draw (0,nh)--(0,-nh); draw (w,nh)--(w,-nh); -enddef; - -%<<<>>>.7nhh# -beginchar(32, nhw#, 0.5nhh#, 0.5nhh#); "Breve"; - breve; -endchar; - -beginchar(33, nhw#, .5nhh#, .5nhh#); "Quarter note"; - w:=w+2thinwidth; -%%%AE a little bit smaller, because a quarter note -% seems to be thicker as an half note - drawnoteb(w, .99h, 0, 90, 20, w/2, h); -endchar; - -beginchar(34, nhw#, .5nhh#, .5nhh#); "Half note"; - w:=w+2thinwidth; - drawnoteb(w, h, 0, 90, 20, thin, thick); -endchar; - -beginchar(35,1.5nhh#, .5nhh#, .5nhh#); "Whole note"; - drawnotew(w, h, 0, 30, 1.3thick, 1.75thin); -endchar; - -%<<<>>>.7nhh# -beginchar(36, 2nhw#, 0.5nhh#, 0.5nhh#); "Semi-breve"; - breve; -endchar; - -beginchar(37, apog_nhw#, .5apog_nhh#, .5apog_nhh#); "Small quarter note"; - w:=w+2thinwidth; - drawnoteb(w, .99h, 0, 90, 20, w/2, h); -endchar; - -%beginchar(38, apog_nhw#, .5apog_nhh#, .5apog_nhh#); "Small half note"; -% w:=w+2thinwidth; -% drawnoteb(w, h, 0, 90, 20, thin, apog_fact*thick); -%endchar; - -def doublesharp (expr high)= - clear; - x4= .5w; y4=high; - x1=w-x7=.5w+1/25nhh; y1=y7=0; - x2=w-x6=.51w+thin; y2=y6=.3y4; - x3=w-x5=.58w+thin; y3=y5=.6y4; - t:= identity rotatedaround ((.5w, 0), 90); - fill (z1{up}..z2..z3..{nw}z4 & z4{sw}..z5..z6..{down}z7--z1--cycle) - rotatedaround ((.5w, 0), 45); - addto currentpicture also currentpicture transformed t; - addto currentpicture also currentpicture transformed (t transformed t); - labels (1,2,3,4,5,6,7) -enddef; - - -beginchar(38, nhw#, nhh#, nhh#); "Circled doublesharp"; - doublesharp (.62w); - pickup thin_pen; - draw (0,0){up}..{right}(0.5nhw,0.5nhw).. - {down}(nhw,0)..{left}(0.5nhw,-0.5nhw)..cycle; -endchar; - - - -% beginchar(39, 1.5apog_nhh#, .5apog_nhh#, .5apog_nhh#); "Small full note"; -% drawnotew(w, h, 0, 30, apog_fact*1.3thick, 1.5thin); -% endchar; - -% -beginchar(39, nhw#, nhh#, nhh#); "Bongo cross"; - pickup pencircle scaled med; - draw (0,0)--(nhw,0); - draw (0.5nhw,-0.5nhw) -- (0.5nhw,0.5nhw) -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% general parameters for flags % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -flagw:=0.8nhw; -flagthick:=nhh; -flagthin:=5thinwidth; - -def cflag (expr sense) = - flagshape(1, flagw, h, flagthick, flagthin, 0, 0, sense); - if sense<0 : mirror ((0,h/2), (1,h/2)); fi -enddef; - -def flagloop (expr sense, doitagain) = - flagshape(1, flagw, 2.50flagthick, 2/3flagthick, - flagthin, 0, 0, sense); - for xyz:=1 upto doitagain: - flagshape([4xyz+1], flagw, 2.25flagthick, 2/3flagthick, - flagthin, 0, (.75xyz+.25)*flagthick, sense); - endfor; - if sense<0 : mirror ((0,h/2), (1,h/2)); fi -enddef; - -def ccflag (expr sense) = flagloop(sense, 1) enddef; -def cccflag (expr sense) = flagloop(sense, 2) enddef; -def ccccflag (expr sense) = flagloop(sense, 3) enddef; -def cccccflag (expr sense) = flagloop(sense, 4) enddef; - -beginchar(40, 0, 3nhh#, 0); "1/8flag down"; - cflag(1); - savepic; -endchar; - -% Acciacaturra, added by D.Taupin Jan 93. -% idem mais avec barre (appogiature) -beginchar(12, 0, 3nhh#, 0); "Acciacaturra stem up"; - callpic; - pickup med_pen; - x1=-0.25nhw; y1=0.2h; x2=1.1nhw; y2=y1+0.6(x2-x1); - draw z1--z2; -endchar; - -beginchar(41, 0, 3.25nhh#, 0); "1/16flag down"; - ccflag(1); -endchar; - -beginchar(42, 0, 4.00nhh#, 0); "1/32flag down"; - cccflag(1); -endchar; - -beginchar(43, 0, 4.75nhh#, 0); "1/64flag down"; - ccccflag(1); -endchar; - -beginchar(44, 0, 5.50nhh#, 0); "1/128flag down"; - cccccflag(1); -endchar; - -%%% -% flags up should be wider -%%% -flagw:=nhw; - -beginchar(45, 0, 3nhh#, 0); "1/8flag up"; - cflag(-1); - savepic; -endchar; - -% added by D.Taupin Jan 93. -% idem mais avec barre (appogiature) -beginchar(13, 0, 3nhh#, 0); "Acciacaturra stem down"; - callpic; - pickup med_pen; - x1=-0.25nhw; y1=1.6nhh; x2=1.2nhw; y2=y1+0.6(x2-x1); - draw z1--z2; -endchar; - -beginchar(46, 0, 3.25nhh#, 0); "1/16flag up"; - ccflag(-1); -endchar; - -beginchar(47, 0, 4.00nhh#, 0); "1/32flag up"; - cccflag(-1); -endchar; - -beginchar(48, 0, 4.75nhh#, 0); "1/64flag up"; - ccccflag(-1); -endchar; - -beginchar(49, 0, 5.50nhh#, 0); "1/128flag up"; - cccccflag(-1); -endchar; - -%%%%%%%%%%%%%%% -% accidentals % -%%%%%%%%%%%%%%% -def flat (expr reduction, shiftx, flatsense) = - clear; - fthick:= reduction*s; - penpos4(4/3fthick+blacker,0); % 1 - penpos3(1/2fthick+blacker,-90);% - penpos6(4/7fthick+blacker,90); % 6 - penpos2(.1thinwidth, 180); % / \ - x1 = x2 = x3 = x5 = fthick; % 2 4 - y1 = 6fthick; y2l= 0.5y4; % / - y3l=-2fthick; y5= y3r; % 3,5 - x4 = 3.6fthick; y4 = 0.1fthick; - y6r= 2fthick; x6= 0.5(x2+x4); - t:=identity shifted (shiftx,0); - p:= (z1--z5) transformed t; - pickup penrazor scaled (2sind40*thin) rotated 40; - draw p; -%{{{ - currentpen:= pencircle; - draw p; -%}}} - penstroke (z2e..{right}z6e..z4e{sw+down}..{sw}z3e) transformed t; - if flatsense<0: mirror (z5 transformed t, z1 transformed t); fi; - penlabels (1,2,3,4,5,6) -enddef; - -%<<<>>> 2nhh# -beginchar(50, nhw#, 1.5nhh#, 1.5nhh#); "Flat"; - flat (1, 0, 1); - savepic; -endchar; - -%<<<>>> 2nhh# -beginchar(51,1.7nhw#, 1.5nhh#, 1.5nhh#); "Doubleflat"; - callpic; - addto currentpicture also currentpicture shifted (.7nhw, 0); -endchar; - -def sharp = - clear; - reduction:=w/0.8nhw; - sthick:= .5reduction*thick; - y1 =-y7= h-1.5sthick; y2 =-y8 = .5sthick-h; - x1 = x2 = y3 = -y6 = w-x7 = w-x8 = 2sthick; - y4 =-y5 = y3 + 3sthick; - x3 = x5 = 0; x4 = x6 = w; - pickup penrazor scaled thin rotated angle(z4-z3); - draw z1--z2; draw z8--z7; -%{{{ - currentpen:= pencircle; - draw z1--z2; draw z8--z7; -%}}} - pickup penrazor scaled 3sthick rotated 90; - draw z3--z4; draw z5--z6; - labels (range 1 thru 8) -enddef; - -beginchar(52, 0.8nhw#, 1.5nhh#, 1.5nhh#); "Sharp"; - sharp; -endchar; - -%<<<>>>.5nhw# -beginchar(53, nhw#, nhh#, nhh#); "Doublesharp"; - doublesharp (.65w); -endchar; - -def natural = - clear; - reduction:=w/0.8nhw; - nthick:= 3/4reduction*thick; - x1 = x2 = x3 = nthick; - x5 = x6 = x4 = w-x1; - y1 = -y6 = h; - y2 = -y5 = 1.6nthick; - y4 = -y3 = y2+4/3nthick; - pickup penrazor scaled thin rotated angle(z4-z2); - draw lft z1--bot lft(x3,y3-nthick); - draw top rt(x4,y4+nthick)--rt z6; -%{{{ - pickup pencircle; - draw lft z1--lft(x3,y3-nthick); - draw rt(x4,y4+nthick)--rt z6; -%}}} - pickup penrazor scaled 2nthick rotated 90; - draw z2--z4; draw z3--z5; - labels(1,2,3,4,5,6) -enddef; - -beginchar(54, 0.8nhw#, 1.5nhh#, 1.5nhh#); "Natural"; - natural; -endchar; - -%<<<>>> 2nhh# -beginchar(55, nhw#, 1.5nhh#, 1.5nhh#); "1/4 flat"; - flat (1, 0.65nhw, -1); -endchar; - -%<<<>>> 2nhh# -beginchar(56, 1.7nhw#, 1.5nhh#, 1.5nhh#); "3/4 flat"; - flat (1, 0.65nhw, -1); flat (1, 0.65nhw, 1); -endchar; - -beginchar(57, nhw#, .5nhh#, .5nhh#); "Gregorian notes"; - fill (0.5w-0.8h,0)--(0.5w,h)--(0.5w+0.8h,0)--(0.5w,-h)--cycle; -endchar; - -beginchar(0, nhw#, .5nhh#, .5nhh#); "Gregorian diamond"; - fill (0,0)--(0.5w,0.5nhw)--(w,0)--(0.5w,-0.5nhw)--cycle; -endchar; - -beginchar(1, 0.71*nhw#, .5nhh#, .5nhh#); "Gregorian square"; - fill (0,0.355nhw)--(w,0.355nhw)--(w,-0.355nhw)--(0,-0.355nhw)--cycle; -endchar; - -beginchar(2, 0.71*nhw#, .5nhh#, .5*nhh#); "Gregorian square left"; - fill (0,0.355nhw)--(w,0.355nhw)--(w,-0.355nhw)--(0,-0.355nhw)--cycle; - pickup thin_pen; - draw (0.5thin,0.355nhw-thin)--(0.5thin,-1.5nhh+0.5thin); -endchar; - -beginchar(3, 0.71*nhw#, .5nhh#, .5nhh#); "Gregorian square right"; - fill (0,0.355nhw)--(w,0.355nhw)--(w,-0.355nhw)--(0,-0.355nhw)--cycle; - pickup thin_pen; - draw (w-0.5thin,0.355nhw-thin)--(w-0.5thin,-1.5nhh+0.5thin); -endchar; - -beginchar(4, nhw#, 3nhh#, 0); "Gregorian C clef"; - fill (0,2nhh+0.8nhh)..{right}(0.5w,2nhh+nhh)--(w,2nhh+nhh)-- - (w,2nhh+0.3nhh)--(0.5w,2nhh+0.3nhh){left}..(0,2nhh+0.1nhh)--cycle; - fill (0,2nhh-0.8nhh)..{right}(0.5w,2nhh-nhh)--(w,2nhh-nhh)-- - (w,2nhh-0.3nhh)--(0.5w,2nhh-0.3nhh){left}..(0,2nhh-0.1nhh)--cycle; - pickup thin_pen; - draw (0.5thin,2.5nhh)--(0.5thin,1.5nhh); -endchar; - -%%%%%%%%% -% rests % -%%%%%%%%% -beginchar(58,1/2nhw#, 3nhh#, 0); "Dp"; - fill unitsquare xscaled w yscaled 1/3h shifted (0, 2/3h); -endchar; - -beginchar(59,1/2nhw#, 3nhh#, 0); "Ddp"; - fill unitsquare xscaled w yscaled 2/3h shifted (0, 1/3h); -endchar; - -beginchar(60, nhw#, 3nhh#, 0); "Full rest"; - fill unitsquare xscaled w yscaled .5nhh shifted (0,h-.5nhh); -endchar; - -%<<<>>> 2.5nhh# -beginchar(61, nhw#, 3nhh#, 0); "Half rest"; - fill unitsquare xscaled w yscaled .5nhh shifted (0,h-nhh); -endchar; - -beginchar(62, nhw#, 4nhh#, 0); "Quarter rest"; - rthin:= 1/8 nhh; % .1 - rthick:= 2 thick+rthin; % .2 - alpha:= -50; % .3 - penpos1 (rthin, 90+alpha); % .4 - penpos5 (rthin, alpha); % .5,10 - penpos2 (rthick, alpha); % .6 - penpos4 (rthick, alpha); % - penpos3 (3/4rthick, alpha);% .7 - penpos6 (4/3thick, alpha); - penpos7 (rthin, 45); - y1l = h - 2s; - x1l = 2s; - z2r = z1 +(nhh* right) rotated alpha; - z3 = 1/2[z2,z4]; - z4 = (w,h) scaled .55; - z5 = z4l+(nhh* right) rotated alpha; - x6l = x4l; y6r = 1.45nhh; - x7 = 0.9w; y7= nhh-.5s; - z10 = z5r shifted (sqrt(2)*rthin/4,sqrt(2)*rthin/4); - - pickup penrazor scaled rthin rotated 45; - draw z1--z2r; draw z4l--z10; - penstroke z2e..z3e..z4e; - penstroke z5e..z6e..z7e; - penlabels(1,2,3,4,5,6,7,10); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Quaver rest and submultiples. % -% Ross Mitchell, January 1993 % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% -% Draw the crook needed for quaver rests and shorter. -% The crook extends left from the point z.i on the stem. -%%% -def crook(suffix i)= - x3:=x.i-6.5fact; y3:=top y.i-3.0fact; - x4:=x.i-6.0fact; y4:= y.i+0.5fact; - draw z.i{dir 240}..{dir 160}z3; - filldraw z3{dir 160}..z4{dir-20}..{dir 160}z3..cycle -enddef; - -beginchar(63, 2nhh#, 3nhh#, 0); "Quaver rest"; - z1=(nhh,nhh); - z2-z1=whatever*dir 70; % Angle the stem at 70 degrees. -%%% -% Define the scaling factor `fact' implicitly. -% This value will be used for the shorter rests as well. -%%% - z2-z1=(5fact,1.7nhh); - pickup med_pen; - draw z1..z2; - crook(2); - penlabels (1,2,3,4); -endchar; - -beginchar(64,2nhh#, 3nhh#, 0); "Semiquaver rest"; - z1=(nhh,0); - z2-z1=whatever*dir 75; % Angle the stem at 75 degrees. - y2-y1=2.7nhh; - z5-z2=whatever*(z1-z2); y5=y2-nhh; - pickup med_pen; - draw z1..z2; - crook(2); crook(5); - penlabels (1,2,3,4,5); -endchar; - -beginchar(65,2nhh#, 4nhh#, 0); "Demisemiquaver rest"; - z1=(nhh,0); - z2-z1=whatever*dir 80; % Angle the stem at 80 degrees. - y2-y1=3.7nhh; - z5-z2=whatever*(z1-z2); y5=y2-nhh; - z6-z2=whatever*(z1-z2); y6=y5-nhh; - pickup med_pen; - draw z1..z2; - crook(2); crook(5); crook(6); - penlabels (1,2,3,4,5,6); -endchar; - -%<<<>>> 5nhh# -beginchar(66,2nhh#, 4.75nhh#, 0); "Hemidemisemiquaver rest"; - z1=(nhh,0); - z2-z1=whatever*dir 82; % Angle the stem at 82 degrees. - y2-y1=4.7nhh; - z5-z2=whatever*(z1-z2); y5=y2-nhh; - z6-z2=whatever*(z1-z2); y6=y5-nhh; - z7-z2=whatever*(z1-z2); y7=y6-nhh; - pickup med_pen; - draw z1..z2; - crook(2); crook(5); crook(6); crook(7); - penlabels (1,2,3,4,5,6,7); -endchar; - -%%%%%%%%%%%%% -% ornaments % -%%%%%%%%%%%%% -beginchar (67, 2nhw#, nhh#, 0); "Ornament"; - x1=w-x6=0.2w; y1r=h; y6=h-y1; - x2r=0; y2=0.5h; x5=w-x2; y5=h-y2; - x3=0.22w; y3r=0; x4=w-x3; y4=h-y3; - penpos1 (med, 90); - penpos2 (med, 180); - penpos3 (thick,-40); - penpos4 (thick,-40); - penpos5 (med, 180); - penpos6 (med, 90); - penstroke z1e..{down}z2e{down}..{right}z3e{right} - ..{right}z4e{right}..{down}z5e{down}..z6e; - fill fullcircle scaled (s+thick) shifted (x1,y1r-thick); - fill fullcircle scaled (s+thick) shifted (x6,y6l+thick); - penlabels(1,2,3,4,5,6); - savepic; -endchar; - -beginchar (68, 2nhw#, nhh#, 0); "Ornament"; - callpic; - mirror ((.5w,0), (.5w,1)); -endchar; - -%<<<>>>3.5apog_nhh# -beginchar(69, apog_nhw#, 3.25apog_nhh#, .5apog_nhh#); "Appogiature stem up"; - flagshape(1,0.8w, 3apog_nhh, apog_nhh, 4thinwidth, w, 0.5apog_nhh, 1); - clear; - drawnoteb(w, 0.5apog_nhh, 0, 90, 20, w/2, apog_nhh/2); - clear; - pickup pencircle scaled .8med; - draw (w-2thinwidth,0)--(w-2thinwidth,3.5apog_nhh); - x1=-0.1w; y1=0.6apog_nhh; x2=2w; y2=y1+0.6(x2-x1); - draw z1--z2; -endchar; - -beginchar(70, apog_nhw#, 0.5apog_nhh#, 3.5apog_nhh#); "Appogiature stem down"; - flagshape(1,w, 3apog_nhh, apog_nhh, 4thinwidth, 0.2pt, apog_nhh, -1); - mirror ((0,h/2), (1,h/2)); - clear; - drawnoteb(w, 0.5apog_nhh, 0, 90, 20, w/2, apog_nhh/2); - pickup pencircle scaled .8med; - draw (2thinwidth,0)--(2thinwidth,-d); - clear; - x1=-0.3w; y1=-1.6apog_nhh; x2=1.3w; y2=y1+0.6(x2-x1); - draw z1--z2; -endchar; - -%%%%%%%%% -% clefs % -%%%%%%%%% -def violin(expr reduction) = - clear; - gx:=reduction*-nhw; - gy:=reduction*nhh; - gthick:=1.6reduction*thick; - gthin:=.95reduction*med; - - x1=x4=23/24gx+w; x2=x10=3/4gx+w; x3r=w; x8l=7/8gx+w; - x5=x11r=2gx+w; x6=gx+w; x7=1/2gx+w; x9=5/4gx+w; - y1=3/8gy; y2=y5=2gy; y3=gy; y4r=0; y6=27/8gy; - y7l=21/4gy; y8l=23/4gy; y9=17/4gy; y10=y11=-7/8gy; - penpos1(gthin,180); - penpos2(gthick,90); - penpos3(gthick,0); - penpos4(5/4gthin,-90); - penpos5(11/8gthick,110); - penpos6(5/4gthick,120); - penpos7(4/5gthin,-140); - penpos8(5/4gthick,-80); - penpos9(3/8gthick,0); - penpos10(gthin,0); - penpos11(1/2gthick,180); - penstroke z1e{left}..z2e..z3e..z4e..z5e{up+ne}..z6e..{up+nw}z7e - ..z8e{sw}..{down}z9e{down}..{down}z10e..z11e; -%{{{ - currentpen:= pencircle; - draw z3..z4..z5{up+ne}..z6..{up+nw}z7 - ..z8{sw}..{down}z9{down}..{down}z10..z11; -%}}} - fill fullcircle scaled (3(x2-x1)) shifted (x11+11/40gy, y11); - penlabels(range 1 thru 11) -enddef; - -%<<<>>> 6nhh# -beginchar(71,3.25nhw#, 5.50nhh#, 2nhh#); "G-clef"; - violin(1); -endchar; - -%<<<>>> 6nhh# -beginchar(72,2.60nhw#, 5.50nhh#, 2nhh#); "small G-clef"; - violin(0.8); -endchar; - -% clef de fa par D. Taupin -def bass (expr reduction) = - clear; - x2=0.80reduction*nhw; y2=3nhh; - x1=x2r+1.25reduction*s; y1=y2; - x3=x2+0.71reduction*nhw; y3=y2+reduction*nhh; - x4=x3+0.71reduction*nhw; y4=y2-0.2reduction*nhh; - x6=x2-6reduction*thinwidth; y6=y2-2.2reduction*nhh; - x7=x4+0.50reduction*nhw; x8=x7; - y7=y2+0.38reduction*nhh; y8=y2-0.38reduction*nhh; - - penpos2(.6thick*reduction,180); - penpos3(.6thick*reduction, 90); - penpos4(2thick*reduction,0); - penpos6(.4thick*reduction,-10); - - penstroke(z2e{up}..{right}z3e{right}..{down}z4e{down} - ..{left+0.1down}z6e); -%{{{ - currentpen:= pencircle; - draw (z2{up}..{right}z3{right}..{down}z4{down}..{left+0.1down}z6); -%}}} - fill fullcircle scaled (2(x2r-x1)) shifted z1; - fill fullcircle scaled 1.7s shifted z7; - fill fullcircle scaled 1.7s shifted z8; - penlabels(1,2,3,4,6) -enddef; - -beginchar(73, 3nhw#, 4nhh#, 0); "F-clef"; - bass(1.0); -endchar; - -beginchar(74, 2.4nhw#, 4nhh#, 0); "small F-clef"; - bass(0.8); -endchar; - -def alt(expr reduction, yshift) = - clear; - nh:=h*reduction; - athick:=1/10nh; - ahigh:=1/2nh; - - x4=13/16nh+3thinwidth; x5=9/16nh; - x6=1/2nh; x9=x10=2/3nh; x11=17/32nh; - y4=yshift+31/50ahigh; y5=yshift+1/2ahigh; - y6=yshift; y9=yshift+1/9ahigh; - y10=yshift+ahigh; y11=yshift+11/14ahigh; - penpos4(athick,180); - penpos5(1/8athick,0); - penpos6(athick,0); - penpos9(1/3athick,90); - penpos10(1/3athick,-90); - penpos11(1/2athick,0); - - penstroke z5e..{sw+down}z6e; - penstroke z5e{se+3down}..{right}z9e{right}..{up}z4e{up} - ..{left}z10e{left}..{sw+3down}z11e; - fill fullcircle scaled (5/2thick*reduction) - shifted (x11l+5/4thick*reduction, y11-.05nhh); - fill unitsquare xscaled athick yscaled ahigh - shifted (5/16nh-1/2athick,yshift); - fill unitsquare xscaled 1/4athick yscaled ahigh - shifted (x6l-1/4athick,yshift); - add_mirror ((0,yshift),(1,yshift)); - penlabels(4,5,6,9,10,11) -enddef; - -beginchar(75,3.5nhw#, 4nhh#, 0); "Alto clef"; - alt(1, 2nhh); - savepic; -endchar; - -beginchar(76,2.8nhw#, 4nhh#, 0); "small Alto clef"; - alt(0.8 ,2nhh); -endchar; - -%%%%%%%%%%%%% -% drum clef % (by Andreas Egler) -%%%%%%%%%%%%% -beginchar(77, 3nhw#, 4nhh#, 0); - fill unitsquare xscaled .5nhw yscaled 2nhh shifted (.5nhw,1nhh); - fill unitsquare xscaled .5nhw yscaled 2nhh shifted (1.5nhw,1nhh); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% this sign is sometimes used % -% to indicate a (randomly played) % -% tremolo accord (ragtime, boogie) % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -beginchar(78, 0, 3nhh#, 0); - clear; - x1=-x2=-.5nhw; y1=1nhh; y2=1.6nhh; - pickup med_pen; - for i=0 upto 4: draw (z1--z2) shifted (0,.4nhh*i); endfor; - labels (1,2); -endchar; - - -%%%%%%%%%% -% shaker % -%%%%%%%%%% -beginchar(79, nhw#, nhh#, nhh#); - x1=x4=y2=y4=0; y1=-0.6nhh; x2=x3=w; y3=0.6nhh; - fill z1--z2--z3--z4--cycle; - labels (1,2,3,4); -endchar; - - -%%%%%%%%%%%%%%%%% -% special signs % -%%%%%%%%%%%%%%%%% -%<<<>>>1.25nhh# -beginchar(80, 2nhw#, 1.5*apog_nhh#, 0); "Fermate up"; - x1 = y1 = y3 = 0; - y2r = 1.5nhh; 2x2l = x3 = w; - penpos1(med,180); - penpos2(1.3thick,90); - penpos3(med,0); - penstroke z1e..z2e..z3e; - fill fullcircle scaled 1.3thick shifted (.5w, .65thick); - savepic; - penlabels(1,2,3); -endchar; - -beginchar(81, 2nhw#, 0, 1.25nhh#); "Fermate down"; - callpic; - mirror (origin, right); -endchar; - -beginchar(82, 2nhh#, 3nhh#, 0); "Allabreve"; - 2x2 = 2x4 = x1 + 2s = w; - x3r = 0; 2y1 = 3y2 = y4r = h; - y3r = 2/3h; x5 = w -2s; y5 = h -2s; - z6r = z5r + (-0.1s, .2s); - penpos1(med, 0); - penpos2(med, -90); - penpos3(s+thick,180); - penpos4(med, 90); - penpos5(med, 0); - penpos6(s+med,45); - penstroke z1e..z2e..z3e..z4e..z5e; -%{{{ - currentpen:= pencircle; - draw z1..z2..z3..z4..z5; -%}}} - fill fullcircle scaled 1.3thick shifted z6; - savepic; - - pickup med_pen; - draw (w/2, y2r-1/8h)--(w/2, y4r+1/8h); - penlabels(1,2,3,4,5,6); -endchar; - -beginchar(83, 2nhh#, 3nhh#, 0); "C"; - callpic; -endchar; - -beginchar(84, 2nhh#, 3nhh#, 0); "reverseC"; - callpic; - mirror ((w/2,0),(w/2,1)); -endchar; - -%%%%%%%%%%%%%%%%%% -% repeat symbols % -%%%%%%%%%%%%%%%%%% -beginchar(85, 2nhw#, 3nhh#, 0); "Repeat symbol"; - x2 = w-x4 = 1/6h; y2 = y4 = 1/2h; - x3 = x5 = 1/2w; y3 = h-y5 = 5/6h; - pickup pencircle scaled 1.25thin; - draw (0,h/2)--(w,h/2); draw (w/2,0)--(w/2,h); - pickup pencircle xscaled 1.2thick yscaled 1.25thin; - draw z2..z3..z4..z5..cycle; - labels (1,2,3,4); -endchar; - -%<<<>>>3nhw# -beginchar(86, 3nhw#, 4.75apog_nhh#, 0); "Repeat symbol"; - x6 = .75w; y6 = .9w; x8 = .4w; y8l = .95w; - x11= y11 = .5w; z10 = z11+(-s,s); - penpos8 (med, -90); - penpos10 (1.8thick, 25); - penpos11 (1.8thick, 25); - penstroke z8e{left}..{se}z10e..z11e; - fill fullcircle scaled 1.6thick shifted (z8l-(0, .8thick)); - fill fullcircle scaled thick shifted (.2w, .4w); - pickup penrazor scaled 0.8thick; - draw z6--z11; - addto currentpicture also currentpicture rotatedaround((.5w,.5w),180); - penlabels (8,9,11); -endchar; - -def pince (expr length)= - clear; - off:= w/2length; - nh:= .8nhh; - y1 = y3 = nh-y2 = nh-y4 = 1/5nh; - x1=-.5off; x2=x1+off; x3=x2+off; x4=x3+off; - pickup pensquare xscaled (thick+.15nhh) yscaled thin rotated 52; - p:= z1--z2--z3--z4; - for i=1 upto length: draw p shifted ((i-1)*2off,0); endfor -enddef; -%%%%%%%%%% Begin Andreas Egler's -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% full rest outside a staff % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -beginchar(5, nhw#, nhh#, 0); - fill unitsquare xscaled w yscaled .5nhh shifted (0,-.5nhh); - fill unitsquare xscaled 1.8w yscaled med shifted (-.4w,-0.5med); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% half rest outside a staff % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -beginchar(6, nhw#, nhh#, 0); - fill unitsquare xscaled w yscaled .5nhh; - fill unitsquare xscaled 1.8w yscaled med shifted (-.4w,-0.5med); -endchar; -%%%%%%%%%%%%%%%%%%%%% -% mordant with line % -%%%%%%%%%%%%%%%%%%%%% -beginchar(7, 1.8nhw#, apog_nhh#, 0); - pince(3); - pickup med_pen; - draw ((x1,0)--(x1,2h)) shifted (-.5thick,0); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -% mordant with hook ne % -%%%%%%%%%%%%%%%%%%%%%%%% -beginchar(9, 1.8nhw#, apog_nhh#, 0); - pince(3); - pickup pencircle scaled .75med; - z5=2[z3,z4]-(.5thick,1/5nh); z6=z3 rotatedaround (z5,-90); - draw (z4..z5{z4-z3}..{z3-z4}z6) shifted 2(x4-x2,0); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -% mordant with hook nw % -%%%%%%%%%%%%%%%%%%%%%%%% -beginchar(10, 1.8nhw#, apog_nhh#, 0); - pince(3); - pickup pencircle scaled .75med; - z5=1.75[z3,z2]-(x3-x1,0); z6=z1 rotatedaround (z5,90); - draw (z1..z5{z2-z3}..{z3-z2}z6) shifted -(.5thick, 1/5nh); -endchar; - -%%%%%%%%%%%%%%%%%%%%%%%% -% mordant with hook sw % -%%%%%%%%%%%%%%%%%%%%%%%% -beginchar(11, 1.8nhw#, apog_nhh#, 0); - pince(3); - pickup pencircle scaled .75med; - z5=1.5[z2,z1]-.75(.5thick,1/5nh); z6=z2 rotatedaround (z5,-90); - draw (z1..z5{z1-z2}..{z2-z1}z6); -endchar; -%%%%%%%%%% End Andreas Egler -%<<<>>> .8nhh# -beginchar(87, 1.2nhw#, apog_nhh#, 0); "Pince"; - pince(2); -endchar; - -%<<<>>> .8nhh# -beginchar(88, 1.8nhw#, apog_nhh#, 0); "???"; - pince(3); -endchar; - -%<<<>>> .8nhh# -beginchar(89, 1.2nhw#, apog_nhh#, 0); "Mordant"; - pince(2); - fill unitsquare xscaled med yscaled 2h shifted ((.5w-.5med),-.5h); -endchar; - -def arpeg (expr length)= - clear; - x1=.5w; y1=0; z2=z1+(0,.5nhh); z3=z1+(0,nhh); - pickup penrazor scaled (thick+.16nhh) rotated 46;% try 50 - callpic; - draw (z1{ne}..{nw}z2{nw}..{ne}z3) shifted (0, length*nhh); - savepic; - labels (1,2,3) -enddef; - -clearpic; -for jj=0 upto 9: -%<<<>>>(1+jj)*nhh# - beginchar(90+jj, 0.4nhw#, nhh#, 0); "Arpeggio"; - arpeg(jj); - endchar; -endfor; - -def trill (expr length)= - clear; - x1=0; y1=.5h; z2=z1+(.5nhw,0); z3=z1+(nhw,0); - pickup penrazor scaled 1.4thick rotated 48; - callpic; - draw (z1{ne}..{se}z2{se}..{ne}z3) shifted (length*nhw, 0); - savepic; - labels (1,2,3) -enddef; - -clearpic; -for jj=0 upto 9: -%<<<>>>0.45nhh# - beginchar(100+jj, (jj+1)*nhw#, 0.5nhh#, 0); "Trille"; - trill(jj); - endchar; -endfor; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% general parameters for small flags % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -flagw:=0.8nhw*apog_fact; -flagthick:=apog_nhh; -flagthin:=5thinwidth*apog_fact; - -beginchar(110, 0, 3apog_nhh#, 0); "Small 1/8flag down"; - cflag(1); -endchar; - -beginchar(111, 0, 3.25apog_nhh#, 0); "Small 1/16flag down"; - ccflag(1); -endchar; - -beginchar(112, 0, 4.00apog_nhh#, 0); "Small 1/32flag down"; - cccflag(1); -endchar; - -beginchar(113, 0, 4.75apog_nhh#, 0); "Small 1/64flag down"; - ccccflag(1); -endchar; - -beginchar(114, 0, 5.50apog_nhh#, 0); "Small 1/128flag down"; - cccccflag(1); -endchar; - -%%% -% flags up should be wider -%%% -flagw:=nhw*apog_fact; - -beginchar(115, 0, 3apog_nhh#, 0); "Small 1/8flag up"; - cflag(-1); -endchar; - -beginchar(116, 0, 3.25apog_nhh#, 0); "Small 1/16flag up"; - ccflag(-1); -endchar; - -beginchar(117, 0, 4.00apog_nhh#, 0); "Small 1/32flag up"; - cccflag(-1); -endchar; - -beginchar(118, 0, 4.75apog_nhh#, 0); "Small 1/64flag up"; - ccccflag(-1); -endchar; - -beginchar(119, 0, 5.50apog_nhh#, 0); "Small 1/128flag up"; - cccccflag(-1); -endchar; - -%%%%%%%%%%%%%%%%%%%%% -% small accidentals % -%%%%%%%%%%%%%%%%%%%%% -%<<<>>>2apog_nhh# -beginchar(120, apog_nhw#, 1.5apog_nhh#, 1.5apog_nhh#); "Small flat"; - flat (apog_fact, 0, 1); - savepic; -endchar; - -%<<<>>>2apog_nhh# -beginchar(121,1.7*apog_fact*nhw#, 1.5apog_nhh#, 1.5apog_nhh#); "Small doubleflat"; - callpic; - addto currentpicture also currentpicture shifted(0.7apog_fact*nhw,0); -endchar; - -beginchar(122, 0.8apog_fact*nhw#, 1.5apog_nhh#, 1.5apog_nhh#); "Small sharp"; - sharp; -endchar; - -%<<<>>>.5nhw# -beginchar(123, apog_nhw#, apog_nhh#, apog_nhh#); "Small doublesharp"; - doublesharp(.75w); -endchar; - -beginchar(124, 0.8apog_fact*nhw#, 1.5apog_nhh#, 1.5apog_nhh#); "Small natural"; - natural; -endchar; - -beginchar(125,1.5nhh#, .5nhh#, .5nhh#); "Full note with | --> |O|"; - fill unitsquare xscaled thick yscaled nhh shifted (-4/5thick,-d); - add_mirror ((w/2, 0),(w/2, 1)); - drawnoteb(w, h, 0, 85, 0, 1.3thick, thin); -endchar; - -beginchar(126,0.6nhh#, 4nhh#, 0); "Repeat colons"; - fill fullcircle scaled 1.2thick shifted (0.5w, 3/8h); - add_mirror ((0, h/2),(1, h/2)); -endchar; - -%%%%%%%%%%% -% rimshot % -%%%%%%%%%%% -def caro (expr reduction)= - x1=w-w*reduction; y1=y3=0; x2=x4=w-.5w*reduction; - x3=w; -y2=y4=0.6nhh*reduction; - pickup thin_pen; - draw z1--z2; draw z3--z4; - pickup pencircle xscaled (.15nhw*reduction) yscaled thinwidth - rotated -45; - draw z2--z3; draw z4--z1; - labels (1,2,3,4); -enddef; - -beginchar(127, nhw#, nhh#, nhh#); - caro(.95); -endchar; - - -%%%AE some characters are 'kerned' and 'raised' by MusicTeX -% this can be done faster with modified fonts and -% as an additional advantage, there is more 'main memory' for -% future enhancements, for example: -% -%\def\w@coli{\selectinstr{\p@loop\raise\altportee -% \hbox to \z@{\hss\musicnorfont\char 126\hss}\n@portee\repeat}}% -% -% with -% -%beginchar(126, 0, 4nhh#, 0); "Repeat colons"; -% fill fullcircle scaled 1.2thick shifted (0, 3/8h); -% add_mirror ((0, h/2),(1, h/2)); -%endchar; -% -% becomes -% -%\def\w@coli{\selectinstr{\p@loop\raise\altportee -% \hbox{\musicnorfont\char 126}\n@portee\repeat}}% -% -% or -% -%\def\clefdesol{\hbox to 3.2\Interligne{\musickeyfont -% \kern -1.2\internote\hss\char"47\hss}}% -% -% with -% -%beginchar(71, 8/3nhw#, 5.50nhh#, 2nhh#); "G-clef"; -% violin(1); -%endchar; -% -% becomes -% -%\def\clefdesol{\hbox{\musickeyfont\char"47}}% -% -% or -% -%\def\d@soup{\hbox{\kern -0.3\qn@width\musicnfont\char"3F}}% -% -% with -% -%beginchar(63, 2nhh#, 3nhh#, 0); "Quaver rest"; -% ... -% currentpicture:= currentpicture shifted (round(-0.3nhw), 0); -%endchar; -% -% becomes -% -%\def\d@soup{\hbox{\musicnfont\char"3F}}% -% -% and so on |