% This is UPPERN.MF % Version 1.0b % Date 17-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: % % N % % And the following on demand, i. e. if their code is known: % % N_acute, N_tilde, N_uline, N_dot, Enj, var_Enj, Eng, var_Eng % % Higher versions of this file might include more characters. cmchar "The letter N"; beginchar("N",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#); numeric thin_stem; thin_stem=hround(fudged.hair+stem_corr); pickup tiny.nib; pos1(thin_stem,0); pos2(thin_stem,0); pos3(thin_stem,0); pos4(thin_stem,0); pickup tiny.nib; top y1=top y3=h; bot y2=bot y4=0; x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem); filldraw stroke z1e--z2e; % left stem filldraw stroke z3e--z4e; % right stem if hefty: penpos5(fudged.cap_stem,0); penpos6(fudged.cap_stem,0); x5l=x1; x6r=x4; y5=h; y6=0; numeric upper_notch,lower_notch; upper_notch=h-cap_notch_cut; lower_notch=cap_notch_cut; x1'=rt x1r; z1'=whatever[z5l,z6l]; x4'=lft x4l; z4'=whatever[z5r,z6r]; fill z5l.. if y1'lower_notch: {left}(x4'-1,lower_notch){up}... fi {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal else: penpos5(whatever,0); penpos6(whatever,90); z5l=z1l; z6l=z4l; z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90); z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l); filldraw stroke z5e..z6e; fi % diagonal if serifs: if hefty: serif(1,2,a,1/3,-cap_jut); % upper left serif else: serif(5,6,a,1/3,-cap_jut); fi % upper left serif dish_serif(2,1,b,1/2,cap_jut,c,1/2,cap_jut)(dark); % lower left serif dish_serif(3,4,e,1/2,cap_jut,f,1/2,cap_jut)(dark); fi % upper right serif picture savedpicture; savedpicture:=currentpicture; math_fit(0,max(.5ic#-.5u#,0)); penlabels(1,1',2,3,4,4',5,6,7); endchar; iff known N_dot: cmchar "Capital letter N with dot"; beginchar(N_dot,13u#+width_adj#,cap_height#+comma_depth#,0); italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#); adjust_fit(cap_serif_fit#,cap_serif_fit#); 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); top y99r=h+1; if bot y99l-cap_height-olower_notch: {left}(x4'-1,lower_notch){up}... fi {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal else: penpos5(whatever,0); penpos6(whatever,90); z5l=z1l; z6l=z4l; z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90); z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l); filldraw stroke z5e..z6e; fi % diagonal if serifs: if hefty: serif(1,2,a,1/3,-cap_jut); % upper left serif else: serif(5,6,a,1/3,-cap_jut); fi % upper left serif dish_serif(3,4,e,1/2,cap_jut,f,1/2,cap_jut)(dark); fi % upper right serif if serifs: pos13(vair,-90);pos14(cap_hair,-180); pos15(flare+(cap_stem-stem),-180); bot y13=-o; x13=.5[x14,x2]; y15=1/6h; rt x15l=hround -.25u; z15r=z14r; filldraw stroke super_arc.e(2,13); bulb(13,14,15); % arc and bulb else: pickup fine.nib; pos13(thin_stem,0); z13=z2; pos14(flare,angle(6.5u,-h)); pos15(1.1flare,-100); bot y14r=-o; x14r=.5[x15r,x13r]; lft x15r=hround-2.25u; bot y15r=vround.06h-o; filldraw stroke z13e{down}....term.e(14,15,left,1,14); %arc and terminal fi math_fit(3u#,max(.5ic#-.5u#,0)); penlabels(1,1',2,3,4,4',5,6,7); endchar; iff known Eng: cmchar"Capital letter ENG"; % jk beginchar(Eng,14u#,cap_height#,0); adjust_fit(cap_serif_fit#,0); italcorr cap_height#*slant; pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); y1=2/3h; rt x1r=hround(w-u); x2=x1; y2=.21h; if serifs: pos3(vair,-90); pos4(cap_hair,-180); pos5(flare+(cap_stem-stem),-180); bot y3r=-o; x3=.5[x4,x2]; y5=1/6h; rt x5l=hround 8.75u; z5r=z4r; filldraw stroke z1e--z2e&super_arc.e(2,3); % right stem and arc bulb(3,4,5); % bulb else: filldraw stroke z1e--z2e; % right stem pickup fine.nib; pos3(cap_stem,0); z3=z2; pos4(flare,angle(6.5u,-h)); pos5(1.1flare,-100); bot y4r=-o; x4r=.5[x5r,x3r]; lft x5r=hround 7.75u; bot y5r=vround.06h-o; filldraw stroke z3e{down}....term.e(4,5,left,1,4); fi % arc and terminal pickup tiny.nib; pos6(cap_stem,0);pos7(cap_stem,0); lft x6l=lft x7l=hround(max(2u,3u-.5cap_stem));top y6=h; bot y7=0; filldraw stroke z6e--z7e; %left stem pos8(min (cap_hair,cap_stem),0); pos9(cap_hair,-90); pos10(cap_stem,-180); y8=y10=2/3h; top y9=h+o; rt x8=rt x6; rt x10l=rt x1r; x9=.5[x8,x10]; filldraw stroke z8e{up}...z9e...{down}z10e; % big arc if serifs: numeric right_jut; if rt x7r+cap_jut+u+1