home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
text
/
pastex-1.3-7of9.lha
/
PasTeX
/
MF
/
inputs
/
amsfonts
/
cyrilu.mf
< prev
next >
Wrap
Text File
|
1991-07-03
|
29KB
|
628 lines
%% @metafontfile{
%% filename="cyrilu.mf",
%% version="2.1",
%% date="30-MAY-1991",
%% filetype="Metafont: driver",
%% copyright="Copyright (C) Humanities and Arts Computing Center,
%% University of Washington;
%% 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="628",
%% keywords="amsfonts, tex, metafont , cyrillic ",
%% abstract="This is the driver file for use with
%% the cyrillic fonts in AMSFonts 2.1."
%% }
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This file contains definitions of letters that have the same shapes in
% both upper and lower case.
cmchar "The Russian letter TSE";
beginchar("C",13u#+width_adj#,cap_height#,0);
italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
adjust_fit(cap_serif_fit#,cap_serif_fit#);
pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
pos3(cap_stem,0); pos4(cap_stem,0);
lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
top y1=top y3=h; bot y2=bot y4=0;
filldraw stroke z1e--z2e; % left stem
filldraw stroke z3e--z4e; % right stem
if serifs: numeric inner_jut;
if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
inner_jut:=.5(x3l-x1r);
nodish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
r_cyr_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower left serif
else:
lcyrsanserif(4); lft x2'= lft x2l; bot y2'l=0; pos2'(slab,90);
rt x4'=rt x4r; y4'=y2'; pos4'(slab,90); filldraw stroke z2'e--z4'e;
fi
math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
cmchar "The Russian letter DE";
beginchar("D",13u#,cap_height#,0);
adjust_fit(.25u#,.75u#);
pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
lft x1l=lft x2l=hround(w-3u); top y1=h; bot y2=0;
x3=u+.75cap_jut; bot y3l=0; pos3(cap_hair,90); lft x3'l=x3l; bot y3'=0;
if serifs: pos3'(1.5cap_hair,0); else: pos3'(cap_hair,0); fi
x5=.42[x3,x1]; top y5=h;
if serifs: pos5(1.5cap_hair,0); else: pos5(cap_hair,0); fi
filldraw stroke z1e--z2e;
filldraw stroke z3'e{z1-z3}...{up}z5e;
bot y4l=0; x4=x2r; pos4(cap_hair,90);
%filldraw stroke z3e--z4e;
pickup crisp.nib;
top y6=h; x6-.75cap_jut=rt x1r; pos6(slab,90);
x9=x5; y9r=0; pos9(cap_hair,90);
if serifs:
numeric inner_jut;
inner_jut=.5(x1-x5);
nodish_serif(5,9,aa,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
nodish_serif(1,2,ae,1/3,inner_jut,f,1/3,cap_jut); % upper right serif
inner_jut:=.5(x2-x3);
l_cyr_serif(3',1,ac,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
r_cyr_serif(2,1,ag,1/3,inner_jut,h,1/3,cap_jut); % lower right serif
else:
cyrsanserif(3'); lcyrsanserif(2);
x5'=lft x5l; top y5'=h; pos5'(slab,90);
filldraw stroke z3e--z4e; filldraw stroke z5'e--z6e;
fi
endchar;
cmchar "The Russian letter GHE (looks like Gamma)";
beginchar("G",11.5u#-width_adj#,cap_height#,0);
italcorr cap_height#*slant-beak_jut#-.25u#;
adjust_fit(cap_serif_fit#,0);
h:=vround(h-stem_corr);
pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
filldraw stroke z1e--z2e; % stem
pickup crisp.nib; pos3(slab,90); pos4(hair,0);
top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-beak)-eps;
arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
pos5(cap_bar,-90); pos6(hair,0);
top y5l=vround(.5[y2,y1]+.5cap_bar); x5=x1;
pos0(cap_bar,90); pos7(hair,0);
z0=z5; x6=x7; y6-y5l=y0l-y7;
if serifs: rt x6r=hround(w-4u+.5hair); y6=good.y(y5l+.6beak)+eps;
rt x9r=hround(w-.5u);
else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u);
fi
%arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
dish_serif(2,1,c,1/3,cap_jut,d,1/3,1.25cap_jut); % lower serif
fi
math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
cmchar "The Russian letter KHA (looks like X)";
beginchar("H",13u#,cap_height#,0);
italcorr cap_height#*slant-.25u#;
adjust_fit(cap_serif_fit#,cap_serif_fit#);
numeric stem[],outer_jut,xjut,alpha[];
stem1=cap_stem-2stem_corr; stem2=min(cap_hair,stem1);
outer_jut=.75cap_jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
x1l=l+letter_fit+.5u+outer_jut; x2r=r-letter_fit-u-outer_jut-xjut;
x3l=l+letter_fit+.25u+outer_jut+xjut; x4r=r-letter_fit-.25u-outer_jut;
y1=y2=h; y3=y4=0;
alpha1=diag_ratio(1,stem1,h,x4r-x1l);
alpha2=diag_ratio(1,stem2,h,x2r-x3l);
penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
x12=x34=x0; y13=y24=y0;
z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
forsuffixes $=13,24,34: z$'=.1[z$,z0]; endfor
fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
--diag_end(34',4l,.5,1,4r,24')--z24'
--diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
else: fill diag_end(4r,1r,.5,1,1l,4l)
--diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
fill diag_end(2l,3l,.5,1,3r,2r)
--diag_end(3r,2r,.5,1,2l,3l)--cycle; % right diagonal
fi
if serifs: numeric inner_jut[]; pickup tiny.nib;
prime_points_inside(1,4); prime_points_inside(2,3);
prime_points_inside(3,2); prime_points_inside(4,1);
if rt x1'r+cap_jut+.5u+1<=lft x2'l-cap_jut-xjut: inner_jut1=cap_jut;
else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
if rt x3'r+cap_jut+.5u+1<=lft x4'l-cap_jut-xjut: inner_jut2=cap_jut;
else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
dish_serif(2',3,e,2/3,inner_jut1+xjut,
f,1/2,outer_jut+xjut)(dark); % upper right serif
dish_serif(3',2,g,1/2,outer_jut+xjut,
h,2/3,inner_jut2+xjut)(dark); % lower left serif
fi
math_fit(0,.5ic#); penlabels(0,1,2,3,4,12,13,24,34); endchar;
cmchar "The Russian letter I (looks like backwards N)";
beginchar("I",14u#+width_adj#,cap_height#,0);
italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
adjust_fit(cap_serif_fit#,cap_serif_fit#);
pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
pos3(cap_stem,0); pos4(cap_stem,0);
lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
top y1=top y3=h; bot y2=bot y4=0;
filldraw stroke z1e--z2e; % left stem
filldraw stroke z3e--z4e; % right stem
if serifs: penpos5(.85cap_stem,90); penpos6(.85cap_stem,90);
else: penpos5(cap_stem,90); penpos6(cap_stem,90);
fi
x5=x1r; x6=x3l; if serifs: y5=.1h; y6=.9h; else: bot y5l=0; top y6r=h; fi
fill stroke z5e--z6e; % bar
if serifs: numeric inner_jut;
if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower left serif
fi
math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
% The letter "K" is the last character defined in this file.
% See below for comments.
cmchar "The Russian letter EL";
beginchar("L",13u#,cap_height#,0);
adjust_fit(0,1.5u#);
numeric ldot_size; ldot_size=1.15flare;
pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);