From: fred Date: Tue, 28 Oct 1997 11:11:31 +0000 (+0000) Subject: lilypond-0.1.27 X-Git-Tag: release/1.5.59~6032 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=8a6a8576bea2209d974f3b4c3d453bb054042ccb;p=lilypond.git lilypond-0.1.27 --- diff --git a/mf/round-pixel-gray.mf b/mf/round-pixel-gray.mf new file mode 100644 index 0000000000..6ffafd49e5 --- /dev/null +++ b/mf/round-pixel-gray.mf @@ -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.