% txifract.mf
%
% (c) Copyright 1995, 1997 J"org Knappen
%
% This file is part of ecfonts version 1.0
%
% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
% copyrite.txt for further information
%
% You find some documentation in ecdoc.tex (needs LaTeX2e)
%
% Ready made fractions 1/2, 1/4, 3/4 in italic style
version_check(1,0); % |version_check| was introduced in dc1.3
ecchar"Italic fraction one quarter";
beginchar(oct"274",8u#,body_height#,desc_depth#);
italcorr body_height#*slant-.5u#;
adjust_fit(0,0); pickup tiny.nib;
numeric c_height; c_height=good.y .5[h,-d]+.5rule_thickness;
numeric light_stem; light_stem=hround .4[stem',cap_stem'];
pos1(light_stem,0); pos2(light_stem,0);
lft x1l=lft x2l=hround(.5(w+.5u)-.5cap_stem');
top y1=h+apex_o; bot y2=c_height+rule_thickness;
filldraw stroke z1e--z2e; % stem
dish_serif(2,1,a,1/3,min(2.25u,lft x2l-1.5u),
b,1/3,min(2.25u,w-1.25u-rt x2r)); % serif
pickup crisp.nib; pos3(slab,-90); pos4(bar,-90);
top y3l=h+apex_o; top y4l=.8[y2,h]+apex_o;
lft x4=max(1.25u,tiny.lft x1l-2.35u); tiny.rt x1r=lft x3+.25[tiny,hair];
erase fill z3l{x4l-x3l,3(y4l-y3l)}...z4l{left}
--(x4l,h+apex_o+1)--(x3l,h+apex_o+1)--cycle; % erase excess at top
filldraw stroke z3e{x4e-x3e,3(y4e-y3e)}..{left}z4e; % point
penlabels(1,2,3,4);
clearxy;
numeric hh; hh=c_height-2rule_thickness;
pos1(stem,0); pos6(stem,0); pos7(stem,0);
pos2(bar,-45); pos3(bar,-90); pos4(bar,-90); pos5(bar,-45);
rt x1r=hround(.5w+.5u+.5stem); lft x2l=hround .25u;
x3=2.75u; x4=w-2u; rt x5r=hround(w-.25u);
rt x6r=rt x7r=hround(2/3w+.5stem);
y1+.5stem=hh+o; bot y2r=0; bot y3r=vround(.08hh-.5bar);
bot y4r=vround-.5bar; bot y5r=vround(.03hh-.5bar);
y6+.5stem=bar_height; y7-.5stem=-d;
filldraw circ_stroke z1e{down}...{3(x2-x1),y2-y1}z2e; % diagonal
filldraw stroke z2e{z1-z2}...z3e{right}..{right}z4e
...{x5-x4,2(y5-y4)}z5e; % bar
filldraw z6l---z7l..z7r---z6r..cycle; % stem
penlabels(1,2,3,4,5,6,7);
pickup rule.nib;
top y98=top y99=c_height; x98=w-x99=hround .5u;
draw z98--z99; % fraction bar
labels(98,99); endchar;
ecchar"Italic fraction one half";
beginchar(oct"275",8u#,body_height#,desc_depth#);
italcorr body_height#*slant-.5u#;
adjust_fit(0,0); pickup tiny.nib;
numeric c_height; c_height=good.y .5[h,-d]+.5rule_thickness;
numeric light_stem; light_stem=hround .4[stem',cap_stem'];
pos1(light_stem,0); pos2(light_stem,0);
lft x1l=lft x2l=hround(.5(w+.5u)-.5cap_stem');
top y1=h+apex_o; bot y2=c_height+rule_thickness;
filldraw stroke z1e--z2e; % stem
dish_serif(2,1,a,1/3,min(2.25u,lft x2l-1.5u),
b,1/3,min(2.25u,w-1.25u-rt x2r)); % serif
pickup crisp.nib; pos3(slab,-90); pos4(bar,-90);
top y3l=h+apex_o; top y4l=.8[y2,h]+apex_o;
lft x4=max(1.25u,tiny.lft x1l-2.35u); tiny.rt x1r=lft x3+.25[tiny,hair];
erase fill z3l{x4l-x3l,3(y4l-y3l)}...z4l{left}
--(x4l,h+apex_o+1)--(x3l,h+apex_o+1)--cycle; % erase excess at top
filldraw stroke z3e{x4e-x3e,3(y4e-y3e)}..{left}z4e; % point
penlabels(1,2,3,4);
clearxy;
pickup fine.nib;
numeric hh; hh=c_height-2rule_thickness;
pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
pos5(vair,-270); pos6(curve,-360); pos7(hair,-405); pos8(hair,-360);
x1=x2-.5u; rt x2r=hround(3.5u+.5vair);
x3=.6[x2,x4]; lft x4r=hround(u-.5hair);
x5=x7=.5w-.5u; rt x6r=hround(w-u); lft x8l=hround(1.5u-.5hair);
y1=.5[.5x_height-d,hh]; y2=1/3[y1,y3]; y4=.5x_height-d;
bot y3r=vround .78[-d,y4];
top y5r=hh+o; y6=.5[y5,y7]; y7=.52[-d,y4]; bot y8=-d-o;
filldraw stroke
if not hefty: z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
z4e{up}...pulled_arc.e(5,6)
...z7e{2(x7-x6),y7-y6}...{down}z8e; % main stroke
pos9(vair,-90); pos10(vstem+curve-stem,-90); pos11(hair,0);
x9=w-x10=2.5u; rt x11r=hround(w-.5u+.5hair);
y9=.25[y10,y7]; bot y10r=-d-o; y11=.38[-d,.5x_height];
filldraw stroke z8e{up}...z9e{right}..{right}z10e...{up}z11e; % bar
penlabels(1,2,3,4,5,6,7,8,9,10,11);
pickup rule.nib;
top y98=top y99=c_height; x98=w-x99=hround .5u;
draw z98--z99; % fraction bar
labels(98,99); endchar;
ecchar"Italic fraction three quarters";
beginchar(oct"276",8u#,body_height#,desc_depth#);
italcorr body_height#*slant-.5u#;
adjust_fit(0,0);
numeric c_height; c_height=good.y .5[h,-d]+.5rule_thickness;
numeric dd; dd=c_height+rule_thickness;
pickup fine.nib;
pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
pos5(vair,-270); pos6(stem,-360); pos7(bar,-450); pos8(bar,-450);
x1=x2-.5u; rt x2r=hround(3.5u+.5vair); x3=.5[x2,x4]; lft x4r=hround u;
x5=x7=.5w; rt x6r=hround(w-u); x8=x7-u;
y1=.5[x_height,h]; y2=.5[y1,y3]; y7=y8=.52[dd,h]; bot y3r=vround 1/4[y7,h];
y4=1/3[y3,y5]; top y5r=h+o; y6=.5[y5,y7];
filldraw stroke if not hefty:
z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
z4e{up}...pulled_arc.e(5,6) & pulled_arc.e(6,7)..z8e; % upper arc
pos7'(vair,90); z7'l=z7r;
pos9(curve,0); pos10(vair,-90); pos11(hair,-180); pos12(flare,-180);
rt x9r=hround(w-u); x10=.5w-.5u; lft x11r=hround .75u;
y9=.25[dd,h]; bot y10r=dd-o; y11=dd+1/3x_height; bulb(10,11,12); % bulb
filldraw stroke pulled_arc.e(7',9) & pulled_arc.e(9,10); % lower arc
penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
clearxy;
numeric hh; hh=c_height-2rule_thickness;
pos1(stem,0); pos6(stem,0); pos7(stem,0);
pos2(bar,-45); pos3(bar,-90); pos4(bar,-90); pos5(bar,-45);
rt x1r=hround(.5w+.5u+.5stem); lft x2l=hround .25u;
x3=2.75u; x4=w-2u; rt x5r=hround(w-.25u);
rt x6r=rt x7r=hround(2/3w+.5stem);
y1+.5stem=hh+o; bot y2r=0; bot y3r=vround(.08hh-.5bar);
bot y4r=vround-.5bar; bot y5r=vround(.03hh-.5bar);
y6+.5stem=bar_height; y7-.5stem=-d;
filldraw circ_stroke z1e{down}...{3(x2-x1),y2-y1}z2e; % diagonal
filldraw stroke z2e{z1-z2}...z3e{right}..{right}z4e
...{x5-x4,2(y5-y4)}z5e; % bar
filldraw z6l---z7l..z7r---z6r..cycle; % stem
penlabels(1,2,3,4,5,6,7);
pickup rule.nib;
top y98=top y99=c_height; x98=w-x99=hround .5u;
draw z98--z99; % fraction bar
labels(98,99); endchar;
endinput;
|