summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/jknappen/fc/italst.mf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
commit215012a8d684889983ec2c0629e1c704e6853d9c (patch)
treeebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/jknappen/fc/italst.mf
parent1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff)
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/jknappen/fc/italst.mf')
-rw-r--r--Master/texmf-dist/fonts/source/jknappen/fc/italst.mf255
1 files changed, 255 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/jknappen/fc/italst.mf b/Master/texmf-dist/fonts/source/jknappen/fc/italst.mf
new file mode 100644
index 00000000000..595e820f14f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/jknappen/fc/italst.mf
@@ -0,0 +1,255 @@
+% This is ITALST.MF
+% Version 1.1a
+% Date 13-MAR-1992
+%
+% (c) 1991,1992 by J"org Knappen. See fc.rme for copying conditions
+% This file is part of the fc-package
+% See fc.rme for more information
+%
+% J"org Knappen
+% Institut f"ur Kernphysik
+% Postfach 39 80
+% D-W 6500 Mainz
+% knappen@vkpmzd.kph.uni-mainz.de
+
+% Contents:
+%
+% The following characters are generated without condition:
+%
+% s, t
+%
+% And the following on demand, i. e. if their code is known:
+%
+% s_dotu, s_hachek, scharfes_s, esh, long_t, sami_t (crossed t), thorn,
+% hooktop_t
+%
+% Higher versions of this file might include more characters.
+
+cmchar "Italic letter s";
+beginchar("s",5.25u#+max(1.75u#,flare#),x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(0,0); pickup fine.nib;
+numeric theta; theta=90-angle(40u,h); slope:=-h/40u; % angle at middle
+pos2(vair,-90); pos0(max(fine.breadth,ess),theta); pos7(vair,-90);
+x2l=x0=x7=.5w; top y2l=h+oo; bot y7r=-oo;
+y0-.5ess=y7l+.55(y2r-y7l-ess);
+lft x3l=hround u-eps; rt x6r=hround(w-.5u)+eps;
+x3r-x3l=x6r-x6l=hround .5[vair,ess]-fine;
+ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
+ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
+interim superness:=more_super;
+filldraw stroke super_arc.e(2,3) & z3e{down}
+ ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke
+pos1(hair,0); pos10(hround .75[hair,flare],0);
+pos2'(vair,90); z2'=z2;
+pos8(hair,-180); pos9(flare,-180);
+rt x10r=hround(w-u)+2eps; lft x9r=hround .5u-2eps; y10=.78h; y9=.25h;
+bulb(2',1,10); bulb(7,8,9); % bulbs
+picture savedpicture;
+savedpicture:=currentpicture;
+math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
+
+iff known s_hachek:
+cmchar "The letter s with hachek";
+beginchar(s_hachek,5.25u#+max(1.75u#,flare#),
+ .75[x_height#,min(asc_height#,2x_height#)],0);
+italcorr x_height#*slant-if serifs:.55u# else:.3u# fi;
+adjust_fit(if monospace: .5u#,.4u# else: 0,if serifs:0 else:-.2u# fi fi);
+currentpicture:=savedpicture;
+h':=vround min(asc_height,2x_height); % height of circumflex being inverted
+if serifs: pickup crisp.nib; pos2'(.5[vair,curve],90); top y2'r=h;
+ pos2(.5[vair,curve],90); x2=.5w;
+ x1=good.x(.5w-2.25u); x3=good.x(.5w+2.25u);
+ top y1=top y3=h; y1-y2=.5(y2'-x_height);
+ pos1(hair,angle(z2-z1)+90); pos3(hair,angle(z3-z2)+90);
+ filldraw stroke z1e--z2e--z3e; % diagonals
+else:
+ pickup fine.nib; pos1(vair,0); pos3(vair,0);
+ pos2(stem,0); bot y2=vround(1/12[x_height,h']+o); x2=.5w;
+ top y1=top y3=h+o; lft x1l=hround(rt x2r-3.25u-.5vair);
+ rt x3r=hround(lft x2l+3.25u+.5vair);
+ z0=whatever[z1r,z2r]=whatever[z2l,z3l];
+ y4l=y4r=y2; x4l=good.x(.2[x2l,x2]); x4r=good.x(.2[x2r,x2]);
+ filldraw z4l--z1l--z1r--z0--z3l--z3r--z4r--cycle; fi % diagonals
+penlabels(0,1,2,3,4); endchar;
+
+iff known s_dotu:
+cmchar "The letter s with dot below";
+beginchar(s_dotu,5.25u#+max(1.75u#,flare#),x_height#,0.875desc_depth#);
+italcorr x_height#*slant-if serifs:.55u# else:.3u# fi;
+adjust_fit(if monospace: .5u#,.4u# else: 0,if serifs:0 else:-.2u# fi fi);
+numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#);
+define_whole_blacker_pixels(dot_diam);
+currentpicture:=savedpicture;
+pickup tiny.nib;
+pos88(dot_diam,0); pos99(dot_diam,90);
+x88=x99=good.x(.5w); bot y99l=-d-1;
+if top y99r+oo>-slab: y99r:=max(y99l+eps,-oo-tiny-slab); fi
+y88=.5[y99r,y99l];
+dot(88,99);
+penlabels(88,99); endchar;
+
+
+savedpicture:=nullpicture;
+
+iff known scharfes_s:
+cmchar "Italic German letter es-zet (sharp s)";
+beginchar(scharfes_s,4.5u#+max(1.5u#,stem#)+max(3.5u#,2flare#),
+ asc_height#,desc_depth#);
+italcorr .9asc_height#*slant-u#;
+adjust_fit(if monospace: u# else: 0 fi,0); pickup fine.nib;
+z88=(.5w-2.75u,h); z89=(.5w-1.75u,-d);
+numeric theta; theta=angle(z88-z89);
+pos1(stem,0); pos2(vair,90); pos3(.5[hair,stem],180);
+pos4(stem,theta+90); pos5(stem,theta-90); pos6(.5[hair,stem],0);
+pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
+rt x1r=hround(w-1.5u); lft x8r=hround-.25u; x2=.5[x1,x4]; x7=.5[x8,x5];
+y9-.5flare=vround -.85d; bot y7r=-d-oo; y1=.5[x_height,h]; top y2r=h+oo;
+y4=.25[x_height,h]; y5=.5[-d,y4];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
+bulb(7,8,9); % left bulb
+filldraw stroke z1e{up}...z2e{left}...z3e...{z89-z88}z4e; % upper arc
+filldraw z4r--z5l--z5r--z4l--cycle; % stem
+filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower arc
+pos11(.1[hair,curve],-30); x11l=2/3[x12l,x1l]; y11=2/3[y1,y12];
+pos12(.3[hair,curve],0); rt x12r=hround(w-3u); y12=.5h;
+pos13(.8[hair,curve],30); x13=.5[x12,x14]; y13=.5[y12,y14];
+pos14(curve,0); rt x14r=hround(w-.5u); y14=.2h;
+pos15(vair,-90); x15=.5[x14,x16]; bot y15r=-oo;
+pos16(hair,-180); pos17(.6[hair,flare],-180);
+lft x16r=hround(rt x5r+.75u); y17-.5(.6[hair,flare])=.07h;
+filldraw stroke z1e{down}...z11e{1.5(x12e-x11e),y12e-y11e}
+ ...{down}z12e...{2(x13-x12),y13-y12}z13e
+ ...{down}z14e...{left}z15e; % stroke
+bulb(15,16,17); % inner bulb
+pickup crisp.nib; pos20(bar,90); pos21(bar,90);
+top y20r=top y21r=x_height;
+lft x20=lft x4r-.5stem-u; z21=whatever[z4,z5];
+filldraw stroke z20e--z21e; % bar
+penlabels(1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,20,21,88,89); endchar;
+
+iff known long_s:
+cmchar "Italic letter long s"; % from eavi (f), which stems from cm (f)
+beginchar(long_s,max(1.5u#,stem#)+max(3.5u#,2flare#),asc_height#,0);
+italcorr asc_height#*slant+.75u#;
+adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
+numeric theta; z88=(.5w-.5u,h); z89=(.5w+.5u,0); theta=angle(z88-z89);
+pos0(flare,0); pos1(hair,0); pos2(vair,90);
+pos3(.5[hair,stem],180); pos4(stem,theta+90);
+pos5(stem,theta-90);
+rt x1r=hround(w+.25u); x2=.6[x1,x4];
+top y2r=h+oo;
+y4=.25[x_height,h]; y5-.5stem=-oo;
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; y3=.8[y4,y2]; y0+.5vair=.5[x_height,h];
+bulb(2,1,0); % bulb
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
+filldraw z4r--z5l--z5r--z4l--cycle; % stem
+math_fit(desc_depth#*slant+u#,x_height#*slant);
+penlabels(0,1,2,3,4,5,88,89); endchar;
+
+
+
+iff known esh:
+cmchar "Italic letter esh"; % derived from cm (f)
+beginchar(esh,max(1.5u#,stem#)+max(3.5u#,2flare#),asc_height#,desc_depth#);
+italcorr asc_height#*slant+.75u#;
+adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
+numeric theta; z88=(.5w-.5u,h); z89=(.5w+.5u,-d); theta=angle(z88-z89);
+pos0(flare,0); pos1(hair,0); pos2(vair,90);
+pos3(.5[hair,stem],180); pos4(stem,theta+90);
+pos5(stem,theta-90); pos6(.5[hair,stem],0);
+pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
+rt x1r=hround(w+.25u); lft x8r=hround-.35u; x2=.6[x1,x4]; x7=.6[x8,x5];
+y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
+y4=.25[x_height,h]; y5=.5[-d,y4];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
+bulb(2,1,0); bulb(7,8,9); % bulbs
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
+filldraw z4r--z5l--z5r--z4l--cycle; % stem
+filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower arc
+math_fit(desc_depth#*slant+u#,x_height#*slant);
+penlabels(0,1,2,3,4,5,6,7,8,9,88,89); endchar;
+
+cmchar "Italic letter t";
+beginchar("t",5.5u#,min(asc_height#,10/7x_height#),0);
+italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.25u#);
+adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib;
+pos1(stem,0); lft x1l=hround(2u-.5stem); y1+.5stem=h+oo;
+x2=x1; x4=w; hook_out(2,3,4); % closing hook
+filldraw circ_stroke z1e--z2e; % stem
+pickup crisp.nib; pos5(bar,90); pos6(bar,90);
+lft x5=hround-.75u; rt x6=hround(w-.75u); top y5r=top y6r=x_height;
+filldraw stroke z5e--z6e; % crossbar
+math_fit(1.25u#-x_height#*slant,ic#); penlabels(1,2,3,4,5,6); endchar;
+
+iff known hooktop_t:
+cmchar "Italic letter hooktop t";
+beginchar(hooktop_t,5.5u#,asc_height#,0);
+italcorr asc_height#*slant+.5u#;
+adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib;
+pos1(stem,0); lft x1l=hround(2u-.5stem); y1=1/4[x_height,h];
+x2=x1; x4=w; hook_out(2,3,4); % closing hook
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos5(bar,90); pos6(bar,90);
+lft x5=hround-.75u; rt x6=hround(w-.75u); top y5r=top y6r=x_height;
+filldraw stroke z5e--z6e; % crossbar
+rt x[-3]=hround w+.05u;
+top_hook(1,0,[-1],[-2],[-3]); % hooktop
+penlabels([-3],[-2],[-1],0,1,2,3,4,5,6); endchar;
+
+iff known long_t:
+cmchar "Italic letter t with tail";
+beginchar(long_t,5.5u#,min(asc_height#,10/7x_height#),desc_depth#);
+italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.25u#);
+adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib;
+pos1(stem,0); lft x1l=hround(2u-.5stem); y1+.5stem=h+oo;
+x2=x1; x4=w; y2=-1/3d;
+d_hook_out(2,3,4); % closing hook
+filldraw circ_stroke z1e--z2e; % stem
+pickup crisp.nib; pos5(bar,90); pos6(bar,90);
+lft x5=hround-.75u; rt x6=hround(w-.75u); top y5r=top y6r=x_height;
+filldraw stroke z5e--z6e; % crossbar
+math_fit(1.25u#-x_height#*slant,ic#); penlabels(1,2,3,4,5,6); endchar;
+
+iff known thorn:
+cmchar "Italic letter thorn"; % from im
+beginchar(thorn,8u#,asc_height#,desc_depth#);
+italcorr .7x_height#*slant+.5curve# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x2-.5stem=hround(1.5u-.5stem); y2 = 3/4x_height; pos2(stem,0) ;
+pos4(hair,-180); pos5(vair,-90); pos6(curve,0); pos7(vair,90);
+x4=x2; rt x6r=hround(w-1.5u+.5curve); x5=x7=.5[x4,x6];
+bot y5r=-oo; top y7r=vround(x_height)+oo; y4=y6=.5[y5,y7];
+filldraw stroke super_arc.e(4,5) & pulled_arc.e(5,6)
+ & pulled_arc.e(6,7) & super_arc.e(7,4); % bowl
+pickup tiny.nib; pos2'(stem,0); pos3(stem,0);
+z2=z2'; x3=x2; bot y3=-d; filldraw stroke z2'e--z3e; % stem
+dish_serif(3,2',a,1/3,.75jut,b,1/3,jut); % serif
+x10 = x2 ; pos10(stem,0) ; top y10 =h ; % and top of stem
+filldraw stroke z10e -- z2e ; sloped_serif.l(10,2,c,1/3,jut,serif_drop) ;
+math_fit(-min(2/3x_height#*slant-.5hair#-.5u#,
+ 2u#-.5stem#-desc_depth#*slant),ic#);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+
+iff known sami_t:
+cmchar "Italic letter crossed t";
+beginchar(sami_t,5.5u#,min(asc_height#,10/7x_height#),0);
+italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.25u#);
+adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib;
+pos1(stem,0); lft x1l=hround(2u-.5stem); y1+.5stem=h+oo;
+x2=x1; x4=w; hook_out(2,3,4); % closing hook
+filldraw circ_stroke z1e--z2e; % stem
+pickup crisp.nib; pos5(bar,90); pos6(bar,90);
+lft x5=hround-.75u; rt x6=hround(w-.5u); % made the bar a bit longer JK
+top y5r=top y6r=x_height;
+filldraw stroke z5e--z6e; % crossbar
+pickup crisp.nib;
+y9=y10=bar_height; pos9(bar,90); pos10(bar,90); x9=x2; rt x10=rt x6;
+filldraw stroke z9e--z10e; % zusatz crossbar
+math_fit(1.25u#-x_height#*slant,ic#); penlabels(1,2,3,4,5,6,9,10); endchar;
+
+endinput;