Category : EmTeX is a TeX/LaTeX document editor
Archive   : MF2.ZIP
Filename : GRAYF.MF

 
Output of file : GRAYF.MF contained in archive : MF2.ZIP
% 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.


  3 Responses to “Category : EmTeX is a TeX/LaTeX document editor
Archive   : MF2.ZIP
Filename : GRAYF.MF

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/