summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/jknappen/fc/fcilig.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/jknappen/fc/fcilig.mf')
-rw-r--r--Master/texmf-dist/fonts/source/jknappen/fc/fcilig.mf278
1 files changed, 278 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/jknappen/fc/fcilig.mf b/Master/texmf-dist/fonts/source/jknappen/fc/fcilig.mf
new file mode 100644
index 00000000000..54ac377cb3b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/jknappen/fc/fcilig.mf
@@ -0,0 +1,278 @@
+% This is FCILIG.MF
+% Version 1.1
+% Date 17-NOV-1994
+%
+% (c) Copyright 1991, 1994 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-55099 Mainz
+% knappen@vkpmzd.kph.uni-mainz.de
+
+% Contents:
+%
+% The following ligatures are generated without condition:
+%
+% ff, fi, fl, ffi, ffl (all using straight f)
+%
+% And the following on demand, i. e. if their code is known:
+%
+% fj_lig, t_esh_lig
+%
+% Higher versions of this file might include more ligatures.
+
+cmchar "Italic ligature ff"; % from cm (ff)
+beginchar(oct"033",5u#+max(1.5u#,stem#)+max(3.5u#,2flare#)+2letter_fit#,
+ asc_height#,desc_depth#);
+italcorr asc_height#*slant+.75u#;
+adjust_fit(0,0); pickup fine.nib;
+z98-z88=z99-z89=z14-z4=z15-z5=(4.8u+2letter_fit,0);
+.5[x88,x99]=.5w-.1u; x89-x88=u; y98=h; y99=-d;
+numeric theta; 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(.5w+1.25u); x2=.5[x1,x4];
+top y2r=h+oo; bot y5=-d-oo;
+y4=.25[x_height,h];
+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); % left bulb
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper middle arc
+filldraw z4r--z5l--z5r--z4l--cycle; % left stem
+pos10(flare,0); pos11(hair,0); pos12(vair,90);
+pos13(.5[hair,stem],180); pos14(stem,theta+90);
+pos15(stem,theta-90);
+x12=.6[x11,x14];
+x13=.8[x12+x14-x98,x98];
+rt x11r=hround(w+.25u);
+y0=y10; y2=y12; y3=y13;
+bulb(12,11,10); % right bulb
+filldraw stroke z12e{left}...z13e...{z99-z98}z14e; % upper right arc
+filldraw z14r--z15l--z15r--z14l--cycle; % right stem
+pickup crisp.nib; pos20(bar,90); pos21(bar,90);
+top y20r=top y21r=x_height;
+lft x20=lft x4r-.5stem-u; rt x21=rt x14l+.5stem+1.5u;
+filldraw stroke z20e--z21e; % crossbar
+penlabels(0,1,2,3,4,5,10,11,12,13,14,15,20,21,88,89,98,99); endchar;
+
+cmchar "Italic ligature fi"; % from cm (fi)
+beginchar(oct"034",6.5u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
+ +2letter_fit#,asc_height#,desc_depth#);
+italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
+adjust_fit(0,0); pickup fine.nib;
+.5[x88,x89]=.5(w-4u-2letter_fit); x89-x88=u; y88=h; y89=-d;
+numeric theta; 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);
+pos11(stem,0); rt x11r=hround(w-2.5u+.5stem);
+x12=x11; x14=w; hook_out(12,13,14); % closing hook
+x1r=x11r; x2=.5[x1,x4];
+bot y5=-d-oo;
+y0+.5flare=vround(.85[x_height,h]); top y2r=h+oo;
+y4=.25[x_height,h];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; y3=.8[y4,y2];
+bulb(2,1,0); % bulb
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
+filldraw z4r--z5l--z5r--z4l--cycle; % left stem
+top y11=x_height; filldraw stroke z11e--z12e; % right stem
+pickup crisp.nib; pos20(bar,90); pos21(bar,90);
+top y20r=top y21r=x_height;
+lft x20=lft x4r-.5stem-u; x21=x11;
+filldraw stroke z20e--z21e; % crossbar
+penlabels(0,1,2,3,4,5,10,11,12,13,14,20,21,88,89); endchar;
+
+cmchar "Italic ligature fl"; % from cm (fi)
+beginchar(oct"035",7u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
+ +2letter_fit#,asc_height#,desc_depth#);
+italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
+adjust_fit(0,0); pickup fine.nib;
+.5[x88,x89]=.5(w-4.5u-2letter_fit); x89-x88=u; y88=h; y89=-d;
+numeric theta; 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);
+pos11(stem,0); rt x11r=hround(w-2.5u+.5stem); rt x1r=lft x11l;
+x12=x11; x14=w; hook_out(12,13,14); % closing hook
+x2=.5[x1,x4];
+top y2r=h+oo; bot y5=-d-oo;
+y4=.25[x_height,h];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; y3=.8[y4,y2]; y6=.8[y5,y7]; 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; % left stem
+top y11=h; filldraw stroke z11e--z12e; % right stem
+pickup crisp.nib; pos20(bar,90); pos21(bar,90);
+top y20r=top y21r=x_height;
+lft x20=lft x4r-.5stem-u; x21=x11;
+filldraw stroke z20e--z21e; % crossbar
+penlabels(0,1,2,3,4,5,10,11,12,13,14,20,21,88,89); endchar;
+
+cmchar "Italic ligature ffi"; % from cm (ffi)
+beginchar(oct"036",11.75u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
+ +4letter_fit#,asc_height#,desc_depth#);
+italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
+adjust_fit(0,0); pickup fine.nib;
+z98-z88=z99-z89=z14-z4=z15-z5=(5u+2letter_fit,0);
+numeric theta,mid_f;
+mid_f=.5[x88,x99]=.5(w-4.25u-2letter_fit); x89-x88=u;
+y98=h; y99=-d; theta=angle(z88-z89);
+pos21(stem,0); rt x21r=hround(w-2.5u+.5stem);
+x22=x21; x24=w; hook_out(22,23,24); % closing hook
+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(mid_f+1.75u);
+x2=.5[x1,x4];
+top y2r=h+oo; bot y5=-d-oo;
+y4=.25[x_height,h];
+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); % left bulb
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper middle arc
+filldraw z4r--z5l--z5r--z4l--cycle; % left stem
+pos10(flare,0); pos11(hair,0); pos12(vair,90);
+pos13(.5[hair,stem],180); pos14(stem,theta+90);
+pos15(stem,theta-90);
+x11r=x21r; x12=.5[x11,x14];
+x13=.8[x12+x14-x98,x98];
+y10+.5flare=vround .85[x_height,h];
+y2=y12; y3=y13;
+bulb(12,11,10); % right bulb
+filldraw stroke z12e{left}...z13e...{z99-z98}z14e; % upper right arc
+filldraw z14r--z15l--z15r--z14l--cycle; % middle stem
+top y21=x_height; filldraw stroke z21e--z22e; % right stem
+pickup crisp.nib; pos30(bar,90); pos31(bar,90);
+top y30r=top y31r=x_height;
+lft x30=lft x4r-.5stem-u; x31=x21;
+filldraw stroke z30e--z31e; % crossbar
+penlabels(0,1,2,3,4,5,10,11,12,13,14,15,
+ 20,21,22,23,24,30,31,88,89,98,99); endchar;
+
+cmchar "Italic ligature ffl"; % from cm (ffl)
+beginchar(oct"037",12u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
+ +4letter_fit#,asc_height#,desc_depth#);
+italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
+adjust_fit(0,0); pickup fine.nib;
+z98-z88=z99-z89=z14-z4=z15-z5=(5u+2letter_fit,0);
+numeric theta,mid_f;
+mid_f=.5[x88,x99]=.5(w-4.5u-2letter_fit); x89-x88=u;
+y98=h; y99=-d; theta=angle(z88-z89);
+pos21(stem,0); rt x21r=hround(w-2.5u+.5stem);
+x22=x21; x24=w; hook_out(22,23,24); % closing hook
+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(mid_f+1.25u);
+x2=.5[x1,x4];
+top y2r=h+oo; bot y5=-d-oo; y0+.5vair=.5[x_height,h];
+y4=.25[x_height,h];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; y3=.8[y4,y2];
+bulb(2,1,0); % left bulb
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper middle arc
+filldraw z4r--z5l--z5r--z4l--cycle; % left stem
+pos10(flare,0); pos11(hair,0); pos12(vair,90);
+pos13(.5[hair,stem],180); pos14(stem,theta+90);
+pos15(stem,theta-90);
+rt x11r=lft x21l;
+x12=.5[x11,x14];
+x13=.8[x12+x14-x98,x98];
+y0=y10; y2=y12; y3=y13;
+bulb(12,11,10); % right bulb
+filldraw stroke z12e{left}...z13e...{z99-z98}z14e; % upper right arc
+filldraw z14r--z15l--z15r--z14l--cycle; % middle stem
+top y21=h; filldraw stroke z21e--z22e; % right stem
+pickup crisp.nib; pos30(bar,90); pos31(bar,90);
+top y30r=top y31r=x_height;
+lft x30=lft x4r-.5stem-u; x31=x21;
+filldraw stroke z30e--z31e; % crossbar
+penlabels(0,1,2,3,4,5,10,11,12,13,14,15,
+ 20,21,22,23,24,30,31,88,89,98,99); endchar;
+
+cmchar "Italic ligature fj"; % jk
+beginchar(fj_lig,6.5u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
+ +2letter_fit#,asc_height#,desc_depth#);
+italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
+adjust_fit(0,0); pickup fine.nib;
+.5[x88,x89]=.5(w-4u-2letter_fit); x89-x88=u; y88=h; y89=-d;
+numeric theta; 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);
+pos12(stem,0);
+pos13(stem,0); lft x13l=hround(w-2u-.5stem);
+pos14(vair,-90); pos15(hair,-180); pos16(flare,-180);
+x12=x13;
+x1r=x13r; x2=.5[x1,x4];
+bot y5=-d-oo;
+y0+.5flare=vround(.85[x_height,h]); top y2r=h+oo;
+y4=.25[x_height,h];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; y3=.8[y4,y2];
+bulb(2,1,0); % left bulb
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
+filldraw z4r--z5l--z5r--z4l--cycle; % left stem
+top y12=x_height; bot y13=-1/3d; bot y14r=-d-oo; y16-.5flare=-vround.9d;
+x14=2/3[x13,x4]; lft x15r=lft x15r+x14-x15l-eps;
+filldraw stroke z12e--z13e...{left}z14e; % right stem and arc
+bulb(14,15,16); % right bulb
+pickup crisp.nib; pos20(bar,90); pos21(bar,90);
+top y20r=top y21r=x_height;
+lft x20=lft x4r-.5stem-u; x21=x13;
+filldraw stroke z20e--z21e; % crossbar
+penlabels(0,1,2,3,4,5,12,13,14,15,16,20,21,88,89); endchar;
+
+iff known t_esh_lig:
+cmchar "The ligature t-esh"; % from wsuipa
+beginchar(t_esh_lig,10u#+max(u#,.5stem#),
+ min(asc_height#,if hefty:9/7 else:10/7 fi\\ x_height#),desc_depth#);
+italcorr x_height#*slant if serifs: -.9u# else: -.4u# fi;
+adjust_fit(0,if serifs: 0 else: -.5u# fi);
+numeric shaved_stem; shaved_stem=hround(stem if hefty:-\\2stem_corr fi);
+pickup fine.nib; pos2(shaved_stem,180);pos3(shaved_stem,180);
+lft x2r=lft x3r=hround(2.5u-.5shaved_stem);
+y2=y8; y3=max(.5bar_height,2vair);
+pickup crisp.nib; pos8(bar,90);
+rt x8=hround(2/3w-.3u); top y8r=x_height; lft x7=hround 1/3u; y7l=y8l;
+pos7(vair,90); pos1(hair,0);
+rt x1r=fine.rt x2l; top y1=h;
+filldraw z1l{down}...{left}z7r--z7l--z8l--z8r
+ --(x1r,y8r)--z1r--cycle; % upper terminal and crossbar
+pickup fine.nib; interim superness:=more_super;
+pos4(vair',-90); bot y4r=-oo; rt x5r=hround(2/3w-.5u);
+pos5(hair,0); y5=y3; x4l=.5[x3l,x5l];
+(x,y4r)=whatever[z4l,z5l]; x4r:=max(x,.5[x3r,x4]);
+filldraw stroke z2e..super_arc.e(3,4)...{up}z5e; % stem and hook
+pickup crisp.nib; pos6(hair,0); pos5'(hair,0);
+x6l=x5=x5'; top y6=max(vround .75bar_height,top y5); y5=y5';
+filldraw stroke z5'e--z6e; % terminal
+pickup fine.nib; pos21(shaved_stem,0); pos22(shaved_stem,0);
+lft x21l=x5; x21=x22; top y21=.8h; bot y22=0;
+filldraw stroke z21e--z22e; % stem
+%top
+pos10(vair,-90); x10=.5[x21,x11l]; top y10l=h+o+1;
+pos11(hair,0); rt x11l=hround(w-.4u); y11=.84h;
+pos12(flare,0);
+pos10'(vair,90); z10'=z10;
+bulb(10',11,12); % bulb
+filldraw stroke pulled_super_arc.e(21,10)(.4superpull); % arc and stem
+%tail
+numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#);
+define_whole_blacker_pixels(dot_diam);
+ pickup tiny.nib; pos15(vair,-90); pos16(hair,-180); pos17(flare,-180);
+ x15=.5[x16r,x22]; bot y15r=-d+oo; y16-.5flare=-.85d;
+ z16r=z17r; x17r=hround(x3+.1u);
+ x15r:=max(x,.5[x16r,x15]);
+ filldraw stroke pulled_super_arc.e(22,15)(.4superpull);
+ bulb(15,16,17); % arc and bulb
+penlabels(1,2,3,4,5,6,7,8,10,11,12,15,16,17,21,22); endchar;
+
+
+endinput;