% This is ITALBCD.MF % Version 1.1a % Date 13-MAR-1992 % % (c) 1991 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: % % b, c, d % % And the following on demand, i. e. if their code is known: % % hooktop_b, c_cedilla, hooktop_c, hooktop_d, tailed_d, crossed_d, edh % % Higher versions of this file might include more characters. cmchar "Italic letter b"; beginchar("b",8u#,asc_height#,0); italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; adjust_fit(0,0); pickup tiny.nib; pos1(stem,0); pos2(stem,0); x1=x2; lft x1l=hround(1.5u-.5stem); top y1=h; y2=.5x_height; filldraw stroke z1e--z2e; % stem sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif pickup fine.nib; pos2'(stem,-180); pos3(vair,-90); pos4(curve,0); pos5(vair,90); pos0(hair,180); z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(w-1.5u+.5curve); bot y3r=-oo; top y5r=x_height+oo; y4=y2; filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4) & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(0,1,2,3,4,5); endchar; iff known hooktop_b: cmchar "Italic letter hooktop b"; % based on cm b beginchar(hooktop_b,8u#,asc_height#,0); italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; adjust_fit(0,0); pickup tiny.nib; pos1(stem,0); pos2(stem,0); x1=x2; lft x1l=hround(1.5u-.5stem); y2=.5x_height; rt x23=hround(w-2.5u); top_hook(1,20,21,22,23); % hooktop y1=y1'; filldraw stroke z1e--z2e; % stem pickup fine.nib; pos2'(stem,-180); pos3(vair,-90); pos4(curve,0); pos5(vair,90); pos0(hair,180); z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(w-1.5u+.5curve); bot y3r=-oo; top y5r=x_height+oo; y4=y2; filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4) & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(0,1,2,3,4,5,20,21,22,23); endchar; cmchar "Italic letter c"; beginchar("c",8u#,x_height#,0); italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi; adjust_fit(0,0); pickup fine.nib; pos0(flare,0); pos1(hair,0); pos2(vair,90); pos3(curve,180); pos4(vair,270); pos5(hair,320); x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-u))+eps; lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5; y1=.5[bar_height,h]; top y2r=h+oo; bulb(2,1,0); % bulb bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height; path p; p=z4{right}..z5..z6; filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc picture savedpicture; savedpicture:=currentpicture; math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(0,1,2,3,4,5,6); endchar; iff known c_cedilla: cmchar"The letter c with cedilla"; beginchar(c_cedilla,8u#,x_height#,0.875desc_depth#); italcorr x_height#*slant-u#; adjust_fit(0,0); currentpicture:=savedpicture; x1=.5w+u; if serifs: pickup crisp.nib; pos1(stem,0); pos2(stem,0); pos3(vair,90); pos4(stem,0); pos5(vair,-90); x1=x2; z3l=z2l; x4=x2+1.5u; x5=x3-1.5u; bot y1=-o; bot y2=-vround 2/7d-o; y4=.5[y3,y5]; bot y5=-d-o; filldraw stroke z1e--z2e; % stem filldraw stroke z3e{right}...z4e{down}...{left}z5e; % hook else: pickup fine.nib; pos1(vair,0); top y1=-o-2; pos2(.5[vair,stem],0); bot y2=-d-o; x2=x1-1.25u; filldraw stroke z1e--z2e; fi % diagonal penlabels(1,2,3,4,5); endchar; iff known hooktop_c: cmchar"The letter hooktop c"; beginchar(hooktop_c,8u#,asc_height#,0); italcorr asc_height#*slant-u#; adjust_fit(0,0); currentpicture:=savedpicture; %if serifs: pos0(stem,180); pos1(stem,180); pos2(vair,90); pos3(hair,0); pos4(flare,0); x0=x1=hround.5(w+u); y1=.8h; y0=x_height; x2=.4[x1,x3]; top y2r=h+oo; rt x3r=hround(w-.7u); y4=.85h; filldraw z2r{left}...{down}z1r--z0r--z0l--z1l{up}...{right}z2l--cycle; bulb(2,3,4); %else: %fi penlabels(0,1,2,3,4); endchar; savedpicture:=nullpicture; cmchar "Italic letter d"; beginchar("d",9u#,asc_height#,0); italcorr max(1/3x_height#*slant+.5hair#+.5u#, h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi; adjust_fit(0,0); pickup fine.nib; pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); x4+.5stem=hround(w-2.5u+.5stem); top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl x5=x0; x7=w; hook_out(5,6,7); % closing hook pickup tiny.nib; pos5'(stem,0); pos4(stem,0); z5'=z5; top y4=h; filldraw stroke z4e--z5'e; % stem sloped_serif.l(4,5',a,1/3,jut,serif_drop); % serif math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(0,1,2,3,4,5,6,7); endchar; iff known crossed_d: cmchar "Italic letter crossed d"; beginchar(crossed_d,9u#,asc_height#,0); italcorr max(1/3x_height#*slant+.5hair#+.5u#, h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi; adjust_fit(0,0); pickup fine.nib; pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); x4+.5stem=hround(w-2.5u+.5stem); top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl x5=x0; x7=w; hook_out(5,6,7); % closing hook pickup tiny.nib; pos5'(stem,0); pos4(stem,0); z5'=z5; top y4=h; filldraw stroke z4e--z5'e; % stem sloped_serif.l(4,5',a,1/3,jut,serif_drop); % serif pickup crisp.nib; pos15(bar,90); pos16(bar,90); top y15r=.52[x_height,h]=top y16r; lft x15=hround(w-.25u); lft x16=.23[x2r,x1]; filldraw stroke z15e--z16e; % crossbar math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(0,1,2,3,4,5,6,7,15,16); endchar; iff known tailed_d: cmchar "Italic letter d with tail"; beginchar(tailed_d,9u#,asc_height#,desc_depth#); italcorr max(1/3x_height#*slant+.5hair#+.5u#, h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi; adjust_fit(0,0); pickup fine.nib; pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); x4+.5stem=hround(w-2.5u+.5stem); top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl x5=x0; x7=w; y5=-1/3d; d_hook_out(5,6,7); % closing hook pickup tiny.nib; pos5'(stem,0); pos4(stem,0); z5'=z5; top y4=h; filldraw stroke z4e--z5'e; % stem sloped_serif.l(4,5',a,1/3,jut,serif_drop); % serif math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(0,1,2,3,4,5,6,7); endchar; iff known hooktop_d: cmchar "Italic letter hooktop d"; beginchar(hooktop_d,9u#,asc_height#,0); italcorr max(1/3x_height#*slant+.5hair#+.5u#, h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi; adjust_fit(0,0); pickup fine.nib; pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270); x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve); x4+.5stem=hround(w-2.5u+.5stem); top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3]; filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2) & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl x5=x0; x7=w; hook_out(5,6,7); % closing hook rt x23=hround(w+.25u); top_hook(4,20,21,22,23); % hooktop pickup tiny.nib; pos5'(stem,0); pos4''(stem,0); z4''=z4'; z5'=z5; filldraw stroke z4''e--z5'e; % stem math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(0,1,2,3,4,5,6,7,20,21,22,23); endchar; iff known edh: cmchar "Italic letter edh"; % from im beginchar(edh,9u#,asc_height#,0); italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; adjust_fit(0,0); pickup fine.nib; pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360); x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2; top y1r=vround(x_height)+oo; y2=y4=.5[y1,y3]; bot y3r=-oo; y4' = y4 ; x4'l = x4l ; pos4'(hair,360) ; filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3) & pulled_arc.e(3,4) -- pulled_arc.e(4',1); % bowl pickup crisp.nib ; pos5(.5[hair,vair],40) ; z4'' = z4 ; pos4''(curve,360) ; x5 = 3u ; top y5r = h ; filldraw stroke z5e .. tension 1.1 and 0.9 .. z4''e{down} ; path p ; p = z5 .. tension 1.1 and 0.9 .. z4{down} ; z6 = ((0,.6[x_height,asc_height]) -- (w,.5[x_height,asc_height])) intersectionpoint p ; pos6'(.5[vair,hair],-60) ; pos 6''(.5[vair,hair],-60) ; top y6''l = vround .95h ; z6'' = z6 + whatever*dir30; z6 = .5[z6',z6''] ; filldraw stroke z6'e -- z6''e ; math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar; endinput;