summaryrefslogtreecommitdiff
path: root/fonts/musixtex-fonts/source/xslz.mf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/musixtex-fonts/source/xslz.mf
Initial commit
Diffstat (limited to 'fonts/musixtex-fonts/source/xslz.mf')
-rw-r--r--fonts/musixtex-fonts/source/xslz.mf67
1 files changed, 67 insertions, 0 deletions
diff --git a/fonts/musixtex-fonts/source/xslz.mf b/fonts/musixtex-fonts/source/xslz.mf
new file mode 100644
index 0000000000..7f051027ff
--- /dev/null
+++ b/fonts/musixtex-fonts/source/xslz.mf
@@ -0,0 +1,67 @@
+%=== xslz.mf=======================================================
+% WpH modified to be "dashed" (each modification marked with WpH.
+% 96-08-24 WpH-constants set (ick)
+% ick 98-05-22 modified constants for gap, dash, endlen.
+%
+thick#:=1pt#;
+nhh#:=5pt#;
+define_pixels(nhh);
+define_blacker_pixels(thick);
+minwidth:=8pt#;
+delwidth:=4pt#;
+
+numslurs:=54;
+maxwidth:=minwidth+(numslurs-1)*delwidth;
+
+fontdimen 5: maxwidth;
+
+picture p;
+
+min_bow:= .4nhh;
+max_bow:= 1.75nhh;
+slope:= 10/100;
+
+code=-1;
+gap=thick; %was 1.5; WpH new parameter: gap length. ick
+dash=1.6thick; % 2.5; WpH new parameter: dash length. ick
+endlen=-0.0thick; % -1.0; WpH new: length of dash at ends measured to center of gap. ick
+if unknown makedotted: makedotted:=0; fi % WpH
+
+for i=1 upto numslurs:
+
+ beginchar(incr code, 0, 0, 0);
+ mw:=(minwidth+code*delwidth)*pt;
+ x3= -x1= .5mw; x2= y1= y3 = 0;
+ y2= max(min_bow, slope*mw);
+ y2:= min(y2, max_bow);
+ penpos1(.15thick,90); penpos2(thick,90); penpos3(.15thick,90);
+ penstroke (flex(z1e,z2e,z3e));
+ currentpen:= pencircle; draw (flex(z1,z2,z3));
+ %
+ % wph start of added block to make gaps.
+ if makedotted<>1:
+ % variable makedotted has not been given a value.
+ % Dotted lines will not be made.
+ else:
+ cullit;
+ pickup penrazor scaled gap;
+ xcount:=(mw-2endlen)/(gap+dash); % number of gaps.
+ xcount:=floor(xcount + .5); %round to nearest int number.
+ xinc:=(mw-2endlen)/xcount;
+ for j=0 upto xcount-1:
+ xcur:=x1+endlen+j*xinc;
+ undraw (xcur,y1)..(xcur,y2+.6thick);
+ endfor;
+ cullit;
+ fi
+ % wph end of added block to make gaps.
+ %
+ p:=currentpicture;
+ endchar;
+
+ beginchar(code+54, 0, 0, 0);
+ currentpicture:=p reflectedabout (origin, right);
+ endchar;
+
+endfor
+end