home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fonts 1
/
freshfonts1.bin
/
bbs
/
programs
/
amiga
/
metafont.lha
/
MF
/
INPUTS
/
AMSFONTS
/
xbcaps.mf
< prev
Wrap
Text File
|
1991-07-03
|
27KB
|
828 lines
%% @metafontfile{
%% filename="xbcaps.mf",
%% version="2.1",
%% date="30-MAY-1991",
%% filetype="Metafont: driver",
%% copyright="Copyright (C) American Mathematical Society,
%% all rights reserved. Copying of this file is
%% authorized only if either:
%% (1) you make absolutely no changes to your copy
%% including name; OR
%% (2) if you do make changes, you first rename it to some
%% other name.",
%% author="American Mathematical Society",
%% address="American Mathematical Society,
%% Technical Support Group,
%% P. O. Box 6248,
%% Providence, RI 02940,
%% USA",
%% telephone="401-455-4080 or (in the USA) 800-321-4AMS",
%% email="Internet: Tech-Support@Math.AMS.com",
%% codetable="ISO/ASCII",
%% checksumtype="line count",
%% checksum="828",
%% keywords="amsfonts, tex, metafont , AMSSymbols ",
%% abstract="This is the driver file for use with
%% the Blackboard Bold characters in AMSFonts 2.1."
%% }
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Changes made by Stefan Lindner for version 2.1 to fix some
% rounding problems at low resolutions 03-Mar-1991
% ru defined and substituted for u in drawings of characters.
def ru(expr A)=
begingroup
save rounded_u; rounded_u#:=A*u#;
define_whole_vertical_pixels(rounded_u);
rounded_u
endgroup
enddef;
iff OK "A": "The letter A"; beginchar("A",13unit#,cap#,0);
top z20=(.48w,h+Aapex); pos20(Atip,0);
bot y3=0; z3l=whatever[z20l,(1.5unit,0)];
bot y6=0; z6r=whatever[z20r,(w-round(unit+u),0)];
z20l=z1l; z20r=z4r;
mpos(1,3)(Athin,constant_angle(z20l,(1.5unit,0),0));
mpos(4,6)(stem,constant_angle(z20r,(w-round(unit+u),0),0));
onaline(1l,3l)(2l); y2l=c_round_bracket;
onaline(1r,3r)(2r); y2r=c_inner_bracket;
onaline(4l,6l)(5l); y5l=c_inner_bracket;
onaline(4r,6r)(5r); y5r=c_thick_stem_bracket;
z40=whatever[.8[z1l,z1r],z2r]; z40=whatever[.8[z4r,z4l],z5l];
y41=round(.4[serif_thickness,y40]-Abar); % bar bottom
y42=y41+Abar;
ref1=rightserif(z3,z1,z2l,z40,ru(7),bracket0)--z40;
ref2=z40--leftserif(z6,z4,z40,z5r,ru(7),bracket32);
ref3=(0,y41)--(w,y41);
ref4=(0,y42)--(w,y42);
x11=xpart (ref1 intersectionpoint ref3);
x12=xpart (ref2 intersectionpoint ref3);
x13=xpart (ref2 intersectionpoint ref4);
x14=xpart (ref1 intersectionpoint ref4);
y11=y12=y41; y13=y14=y42;
p1=z20l--leftserif(z3,z1,z2l,z1r,ru(3),bracket0)--ref1--ref2--
rightserif(z6,z4,z5l,z5r,ru(2.5),bracket0)--z20r--cycle;
p2=z11--z12--z13--z14--cycle;
showpoints(1,2,3,4,5,6,11,12,13,14,20,40,41,42);
draw_outlines;
endchar;
iff OK "B": "The letter B"; beginchar("B",12unit#,cap#,0);
top lft z1l=(round(ru(5)+2smallu),h);
z2l=(x1l,h-c_thick_stem_bracket);
z2r=(x1r,h-c_round_bracket);
z3l=(x1l,c_thick_stem_bracket);
z3r=(x1r,c_round_bracket);
bot z4l=(x1l,0);
mpos(1,4)(Bstem,0);
z5l=(rt x1r+ru(4),y1);
z5r=(rt x1r+ru(3),y1-Btopthin);
onaline(1r,4r)(8l);
bot y8l=.5h-smallu; pos8(Bmidthin,90);
rt z6l=(w-round(1.5unit),.5[y5l,y8l]); pos6(Btopcurve,180);
rt z9l=(w-round(ru(2.5)),.5[y10l,y8r]); pos9(Bbotcurve,180);
z10l=(rt x1r+ru(4),y4);
z10r=(rt x1r+ru(3),y4+Bbotthin);
z7l=(rt x1r+ru(3),y8l);
rt z7=(lft x9r-ru(3),.5[top y8l,y8r]);
p1=leftserif(z1,z4,z2l,z2r,ru(5.2),bracket4)--
leftserif(z4,z1,z3l,z3r,ru(5.2),bracket4)--
curve.br(z10l,.5,z9l,.7)--curve.tr(z9l,.7,z7,.5)--
curve.br(z7,.5,z6l,.5)--curve.tr(z6l,.8,z5l,.6)--cycle;
p1'=z8l--z8r;
p1''=curve.br(z8r,.6,z6r,.85)--curve.tr(z6r,.7,z5r,.5)...
{left}z5r...{down}z2r--cycle;
p2''=z8l--z3r{down}...{right}z10r--
curve.br(z10r,.6,z9r,.7)--curve.tr(z9r,.8,z7l,.6)--cycle;
showpoints(1,2,3,4,5,6,7,8,9,10);
draw_outlines;
endchar;
iff OK "C": "The letter C"; beginchar("C",(1+12)*unit#,cap#,0);
bot z2l=(max(7unit,.5w),-Cover);
y2r=y2l+Cbotthin;
x2r=x2l+(min(Cbotthin,abs(y2r-y2l)));
bot rt z1l=(w-ru(2),2unit);
ref1=z2l{right}...z1l;
pos1(Ctip,angle(z1l-precontrol 1 of ref1)+ 90);
lft z3l=(round ru(2),.5h); pos3(Ccurve,0);
top z4l=(x2l,h+Cover);
y4r=y4l-Ctopthin;
x4r=x4l+(min(ru(.5),abs(y4r-y4l)));
bot rt z5=(w-round(unit+ru(.5)),h-3unit-ru(2.5));
z6=(x5,y4l);
z7=z6-(ru(2.5),ru(2.5));
p1=curve.tl(z4l,.5,z3l,.7)--curve.bl(z3l,.7,z2l,.5)...z1l--
z1r...reversecurve.bl(z3r,.7,z2r,.6)--reversecurve.tl(z4r,.6,z3r,.6)--
beak(z4r,z5,z6,z7,z4l,1.2)--cycle;
showpoints(1,2,3,4,5,6,7);
draw_outlines;
endchar;
iff OK "D": "The letter D"; beginchar("D",13unit#,cap#,0);
top lft z1l=(round(ru(u)+smallu),h);
z2l=(x1l,h-c_thick_stem_bracket);
z2r=(x1r,h-c_round_bracket);
z3l=(x1l,c_thick_stem_bracket);
z3r=(x1r,c_round_bracket);
bot z4l=(x1l,0);
mpos(1,4)(stem,0);
z5l=(rt x1r+ru(4),y4);
z5r=(rt x1r+ru(3),y5l+Dbotthin);
rt z6l=(w-u-2smallu,.52h); pos6(Dcurve,180);
z7l=(rt x1r+ru(4),y1);
z7r=(rt x1r+ru(3.5),y7l-Dtopthin);
p1=leftserif(z1,z4,z2l,z2r,ru(4.5),bracket4)--
leftserif(z4,z1,z3l,z3r,ru(4.5),bracket4)--
curve.br(z5l,.5,z6l,.7)--curve.tr(z6l,.7,z7l,.5)--cycle;
p1''=curve.br(z5r,.5,z6r,.8)--curve.tr(z6r,.7,z7r,.5)...
{down}z2r...z3r{down}...{right}z5r--cycle;
showpoints(1,2,3,4,5,6,7);
draw_outlines;
endchar;
iff OK "E": "The letter E"; beginchar("E",(1+11)*unit#,cap#,0);
top lft z1l=(round(ru(5.5)),h);
z2l=(x1l,h-c_thick_stem_bracket);
z2r=(x1r,h-c_inner_bracket);
z3l=(x1l,c_thick_stem_bracket);
z3r=(x1r,c_inner_bracket);
bot z4l=(x1l,0);
mpos(1,4)(Estem,0);
bot rt z11=(w-unit,0);
top rt z12=(w-.5unit,3unit+ru(u));
z13=(.5w+.5unit,y4+Ebotarm);
z14=(min(x13,rt x4r+.5unit),y13);
rt z21=(w-ru(4),y1);
bot z22=(x21,top y1-3.5unit);
z23=(ru(19),y1-Etoparm);
z24=(rt x1r+.5unit,y23);
onaline(1r,4r)(31,35);
bot y31=.5h-smallu;
y35=y31+Emidarm;
rt z33=(w-(3.8unit),.5[y31,y35]);
x32=x34=x33;
bot y32=bot y31-2.5unit;
top y34=bot y32+6unit;
p1=leftserif(z4,z1,z3l,z3r,ru(4.75),.4)--
straightarm.br(z13,z12,z11,Ebot_tip,pullout)--z14{left}...{up}z3r--
z2r{up}...{right}z24--straightarm.tr(z23,z22,z21,Emid_tip,pulleven)--
leftserif(z1,z4,z2l,z2r,ru(4.75),.4)--cycle;
p1'=straightarm.br(z31,z32,z33,Emid_tip,pullin)--
straightarm.tr(z35,z34,z33,Emid_tip,pullin);
showpoints(1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34,35);
draw_outlines;
endchar;
iff OK "F": "The letter F"; beginchar("F",(1+10)*unit#,cap#,0);
top lft z1l=(round(ru(5.5)),h);
z2l=(x1l,h-c_thick_stem_bracket);
z2r=(x1r,h-c_inner_bracket);
z3l=(x1l,c_thick_stem_bracket);
z3r=(x1r,c_inner_bracket);
bot z4l=(x1l,0);
mpos(1,4)(Fstem,0);
rt z21=(w-.5unit,y1);
bot z22=(x21,top y1-3.5unit);
z23=(ru(19),y1-Etoparm);
z24=(rt x1r+.5unit,y23);
onaline(1r,4r)(31,35);
bot y31=.5h-smallu;
y35=y31+Emidarm;
rt z33=(w-3unit,.5[y31,y35]);
x32=x34=x33;
bot y32=bot y31-2.5unit;
top y34=bot y32+6unit;
p1=fullserif(z4,z1,z3l,z3r,ru(4.75),ru(6),bracket4)--z2r{up}...{right}z24--
straightarm.tr(z23,z22,z21,Emid_tip,pulleven)--
leftserif(z1,z4,z2l,z2r,ru(4.75),bracket4)--cycle;
p1'=straightarm.br(z31,z32,z33,Emid_tip,pullin)--
straightarm.tr(z35,z34,z33,Emid_tip,pullin);
showpoints(1,2,3,4,21,22,23,24,31,32,33,34,35);
draw_outlines;
endchar;
iff OK "G": "The letter G"; beginchar("G",(1+13)*unit#,cap#,0);
bot z2l=(max(7unit,.5w),-Gover);
y2r=y2l+Gbotthin;
x2r=x2l+(min(Gbotthin,abs(y2r-y2l)));
lft z3l=(round ru(2),.5h); pos3(Gcurve,0);
top z4l=(x2l,h+Gover);
y4r=y4l-Gtopthin;
x4r=x4l+(min(.5u,abs(y4r-y4l)));
bot rt z5=(w-round(2unit+.5u),h-3unit-ru(2.5));
z6=(x5,y4l);
z7=z6-(ru(2.5),ru(2.5));
top rt z11r=(rt x5+.5u,5unit+.5u);
bot z13r=(x11r,unit-2smallu);
mpos(11,13)(Gstem,0);
onaline(11r,13r)(12r); y12r=max(y11r-c_thick_stem_bracket,y13r);
onaline(11l,13l)(12l); y12l=max(y11l-c_thick_stem_bracket,y1