Category : EmTeX is a TeX/LaTeX document editor
Archive   : MF2.ZIP
Filename : LCIRCLE.MF
font_coding_scheme:="LaTeX circle";
let cmchar=\; % cmchar should precede each character, for testing purposes
thickness:=ceiling(thickness#*hppp); % the way rules thicknesses are done
% thickness#:=thickness/hppp; % and let thickness# round to right value
% NO, I deleted this BAD line! --- DEK, 9 Jul 87
pickup pencircle scaled thickness; nib:=savepen;
% arcs sets up the points 1, 2, ..., 8 as follows:
%
% |1
% |*
% * *
% 8| 2
% * | *
% 7* | *3
% --*-----*--
% 6| 4
% * *
% |5
%
% <----w---->
pair upleft,upright,downleft,downright;
upright=-downleft=(1,1); downright=-upleft=(1,-1);
% a quarter-circle has width, height and depth set as explained on
% page 389 of the TeXbook, not the real width, height, and depth
def qbeginchar (expr c, diam_sharp) =
numeric hh, dd; hh:=.5*(diam_sharp+thickness#);
dd:=.5*(diam_sharp-thickness#);
beginchar(c,diam_sharp,hh,dd);
enddef;
def arcs =
numeric delta;
delta:=.5 round((1-sqrt.5)*w); % distance from axis to arc's 45 degree points
bot y3=0; y7=y3=.5[y5,y1]; y1-y5=w;
lft x1=0; x5=x1=.5[x7,x3]; x3-x7=w;
x2-x1=delta; x1-x8=delta; x8=x6; x2=x4;
y8-y7=delta; y7-y6=delta; y8=y2; y6=y4;
enddef;
cmchar "2pt, top right";
qbeginchar(0,4pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "2pt, bottom right";
qbeginchar(1,4pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "2pt, bottom left";
qbeginchar(2,4pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "2pt, top left";
qbeginchar(3,4pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "4pt, top right";
qbeginchar(4,8pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "4pt, bottom right";
qbeginchar(5,8pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "4pt, bottom left";
qbeginchar(6,8pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "4pt, top left";
qbeginchar(7,8pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "6pt, top right";
qbeginchar(8,12pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "6pt, bottom right";
qbeginchar(9,12pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "6pt, bottom left";
qbeginchar(10,12pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "6pt, top left";
qbeginchar(11,12pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "8pt, top right";
qbeginchar(12,16pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "8pt, bottom right";
qbeginchar(13,16pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "8pt, bottom left";
qbeginchar(14,16pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "8pt, top left";
qbeginchar(15,16pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "10pt, top right";
qbeginchar(16,20pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "10pt, bottom right";
qbeginchar(17,20pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "10pt, bottom left";
qbeginchar(18,20pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "10pt, top left";
qbeginchar(19,20pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "12pt, top right";
qbeginchar(20,24pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "12pt, bottom right";
qbeginchar(21,24pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "12pt, bottom left";
qbeginchar(22,24pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "12pt, top left";
qbeginchar(23,24pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "14pt, top right";
qbeginchar(24,28pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "14pt, bottom right";
qbeginchar(25,28pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "14pt, bottom left";
qbeginchar(26,28pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "14pt, top left";
qbeginchar(27,28pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "16pt, top right";
qbeginchar(28,32pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "16pt, bottom right";
qbeginchar(29,32pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "16pt, bottom left";
qbeginchar(30,32pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "16pt, top left";
qbeginchar(31,32pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "18pt, top right";
qbeginchar(32,36pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "18pt, bottom right";
qbeginchar(33,36pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "18pt, bottom left";
qbeginchar(34,36pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "18pt, top left";
qbeginchar(35,36pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
cmchar "20pt, top right";
qbeginchar(36,40pt#);
numeric delta;
pickup nib;
arcs;
draw z7{right}..z6{downright}..z5{down};
endchar;
cmchar "20pt, bottom right";
qbeginchar(37,40pt#);
numeric delta;
pickup nib;
arcs;
draw z1{down}..z8{downleft}..z7{left};
endchar;
cmchar "20pt, bottom left";
qbeginchar(38,40pt#);
numeric delta;
pickup nib;
arcs;
draw z3{left}..z2{upleft}..z1{up};
endchar;
cmchar "20pt, top left";
qbeginchar(39,40pt#);
numeric delta;
pickup nib;
arcs;
draw z5{up}..z4{upright}..z3{right};
endchar;
% The full circles have height and depth 0pt because otherwise there
% are too many heights and depths for the TFM files
cmchar "1pt, circle";
beginchar(96,1pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "2pt, circle";
beginchar(97,2pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "3pt, circle";
beginchar(98,3pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "4pt, circle";
beginchar(99,4pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "5pt, circle";
beginchar(100,5pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "6pt, circle";
beginchar(101,6pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "7pt, circle";
beginchar(102,7pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "8pt, circle";
beginchar(103,8pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "9pt, circle";
beginchar(104,9pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "10pt, circle";
beginchar(105,10pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "11pt, circle";
beginchar(106,11pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "12pt, circle";
beginchar(107,12pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "13pt, circle";
beginchar(108,13pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "14pt, circle";
beginchar(109,14pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "15pt, circle";
beginchar(110,15pt#,0pt#,0pt#);
pickup nib;
draw fullcircle scaled w;
endchar;
cmchar "1pt, blob";
beginchar(112,1pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "2pt, blob";
beginchar(113,2pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "3pt, blob";
beginchar(114,3pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "4pt, blob";
beginchar(115,4pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "5pt, blob";
beginchar(116,5pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "6pt, blob";
beginchar(117,6pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "7pt, blob";
beginchar(118,7pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "8pt, blob";
beginchar(119,8pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "9pt, blob";
beginchar(120,9pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "10pt, blob";
beginchar(121,10pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "11pt, blob";
beginchar(122,11pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "12pt, blob";
beginchar(123,12pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "13pt, blob";
beginchar(124,13pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "14pt, blob";
beginchar(125,14pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
cmchar "15pt, blob";
beginchar(126,15pt#,0pt#,0pt#);
pickup pencircle scaled w;
drawdot origin;
endchar;
bye
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
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/