]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.1.27
authorfred <fred>
Tue, 28 Oct 1997 11:11:31 +0000 (11:11 +0000)
committerfred <fred>
Tue, 28 Oct 1997 11:11:31 +0000 (11:11 +0000)
mf/round-pixel-gray.mf [new file with mode: 0644]

diff --git a/mf/round-pixel-gray.mf b/mf/round-pixel-gray.mf
new file mode 100644 (file)
index 0000000..6ffafd4
--- /dev/null
@@ -0,0 +1,92 @@
+% Black font for Imagen with proofsheet resolution 75 pixels per inch
+
+% if mode<>imagen: errmessage "This file is for imagen only"; fi
+
+font_identifier "BLACKIMAGEN";
+picture pix_picture; pix_wd := pix_ht := 8;
+pix_picture := nullpicture;
+addto pix_picture contour (fullcircle scaled  (8*1.6) shifted (4,4));
+
+%pix_picture := unitpixel scaled 4;
+% More-or-less general gray font generator
+% See Appendix H of The METAFONTbook for how to use it
+
+forsuffixes m = mag,rep:
+ if unknown m: m := 1;
+ elseif (m<1) or (m<>floor m):
+  errmessage "Sorry, " & str m & " must be a positive integer";
+  m := 1; fi endfor
+
+mg := mag; mag := 1; mode_setup;
+if mg>1: hppp := hppp*mg; vppp := vppp*mg;
+ extra_endchar:=
+  "if charcode>0:currentpicture:=currentpicture scaled mg;fi"
+  & extra_endchar; fi;
+
+if picture pix_picture: rep := 1;
+ cull pix_picture keeping (1,infinity);
+else: for z=(0,2),(1,0),(2,3),(3,1):
+  fill unitsquare shifted z; endfor
+ if not boolean lightweight: addto currentpicture also
+  currentpicture rotated 90 xscaled -1; fi
+ if unknown scale: scale := max(1,round(pixels_per_inch/300)); fi
+ pix_wd := pix_ht := 4scale;
+ if rep>1: picture pix;
+   currentpicture := currentpicture shifted-(1,1); pix := currentpicture;
+   for r=1 upto rep-1: addto currentpicture also pix shifted(4r,0); endfor
+   cullit; pix := currentpicture;
+   for r=1 upto rep-1: addto currentpicture also pix shifted(0,4r); endfor
+   unfill unitsquare xscaled 4rep yscaled 2 shifted-(1,1);
+   unfill unitsquare yscaled 4rep xscaled 2 shifted-(1,1); cullit; fi
+ picture pix_picture; pix_picture := currentpicture scaled scale;
+ pix_wd := pix_ht := 4scale*rep; fi
+
+def # = *72.27/pixels_per_inch enddef;
+if unknown dotsize: dotsize := 2.5pix_wd/rep; fi
+
+beginchar(0,1.2dotsize#,1.2dotsize#,0);
+fill fullcircle scaled dotsize scaled mg; endchar;
+
+numeric a[]; newinternal b,k;
+def next_binary =
+ k := 0; forever: if k>b: a[incr b] := 0; fi
+  exitif a[k]=0; a[k] := 0; k := k+1; endfor
+ a[k] := 1 enddef;
+def next_special_binary =
+ if a[0]=1: for k=0 upto b: a[k] := 0; endfor a[incr b]
+ else: k := 0; forever: exitif a[incr k]=1; endfor
+  a[k-1] fi := 1 enddef;
+
+def make_char =
+ clearit; next_binary;
+ for k=0 upto b: if a[k]=1:
+  addto currentpicture also pix_picture shifted(0,-k*pix_ht); fi endfor
+ charcode := charcode+1; chardp := b*charht;
+ scantokens extra_endchar; shipout currentpicture enddef;
+
+charwd := pix_wd#; charht := pix_ht#; chardx := pix_wd*mg;
+b := -1;
+
+if boolean large_pixels:
+ for k=1 upto 7: make_char; charlist k:k+120; endfor
+ charcode := 120; b := -1;
+ addto pix_picture also pix_picture shifted (chardx,0);
+ charwd := 2charwd; chardx := 2chardx;
+ for k=1 upto 7: make_char; endfor
+else: for k=1 upto 63: make_char; endfor
+ let next_binary = next_special_binary;
+ for k=64 upto 120: make_char; endfor
+ for k=121,122: charcode := k;
+  addto currentpicture also currentpicture shifted (chardx,0);
+  charwd := 2charwd; chardx := 2chardx;
+  scantokens extra_endchar; shipout currentpicture; endfor
+ charlist 120:121:122; fi
+
+font_coding_scheme "GFGRAY";
+font_size 8(pix_wd#);
+font_normal_space pix_wd#;
+font_x_height pix_ht#;
+font_quad pix_wd#;
+fontdimen 8: if known rulethickness: rulethickness
+ else: pix_wd#/(2rep) fi;
+bye.