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

 
Output of file : LCIRCLE.MF contained in archive : MF2.ZIP
fontdimen 1: 0,0,0,0,0,0,0,thickness#;
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


  3 Responses to “Category : EmTeX is a TeX/LaTeX document editor
Archive   : MF2.ZIP
Filename : LCIRCLE.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/