% èetta er ICELAND3.MF 7. jan. 1987 % H‚r er safnaÐ saman ¡slenskum se‘st”fum og nokkrum aÐ auki. cmchar "The letter a acute"; beginchar(oct "013",9u#,min(asc_height#,2x_height#),0); br_len# = 2.5u#; define_pixels(br_len); hbroddur := h; h := x_height; bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh); italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#; adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi); pickup fine.nib; top y3r=h+vround 1.5oo; if serifs: pos1(flare,180); pos2(hair,180); pos3(vair,90); lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u; y1=min(bh+.5flare+2vair+2,.9[bh,h]-.5flare); bulb(3,2,1); % bulb else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r; pos3(1/8[vair,thin_join],90); x3=.5w-.2u; top y1r=vround .82[bh,top y3r]; filldraw stroke term.e(3,1,left,.9,4); fi % terminal pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,h]; pos5(stem,0); x5=x4; y5=max(.55bh,2vair); filldraw stroke super_arc.e(3,4)&z4e..z5e; % arc and stem pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh; pos7(hround(curve-2stem_corr),180); lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r]; pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo; pos9(thin_join,360); z9l=z5l; (x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u); {{interim superness:=more_super; filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr); if hair#+.5stem#>1.5u#: pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5; pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh]; pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0; pos12(shaved_stem,0); x11=x12; top y12=slab+eps; filldraw z5'l---z10l...z11l{right}--z11r --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle; % foot else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5; pos10(shaved_stem,0); x10=x5'; y10=1/3bh; pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo; pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair); pos13(hair,180); x13=x12; top y13=max(vround .6bh,top y12); (x',y11l)=whatever[z11r,z12r]; x11l:=max(x',x10); filldraw stroke z5'e---z10e...z11e{right}...z12e---z13e; fi % hook else: numeric shaved_stem; shaved_stem=hround(stem-stem_corr); pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5; pos10(shaved_stem,0); x10=x5'; bot y10=0; filldraw stroke z5'e--z10e; fi % base of stem %Broddur % breytingar   accentum : x1 er hafŒur 2.5u h‘gra megin viŒ x2; % x2 staŒsettur ¡ hverjum char fyrir sig. % Breyting vegna sans-serif fonta 5. jan 1987 if serifs: midja := 0.5[x7,x11]; else: midja := 0.5[x7,x10]; fi if serifs: pickup crisp.nib; x22=midja - .5br_len; x21=x22+br_len; y21+.5stem=hbroddur+eps; y22=max(2/3[hbroddur,x_height],x_height+o+hair); numeric theta; theta=angle(z22-z21)+90; pos21(stem,theta); pos22(hair,theta); filldraw circ_stroke z21e--z22e; % diagonal else: pickup fine.nib; pos21(stem,0); pos22(vair,0); x22=midja-.5br_len; x21=x22+br_len; top y21=hbroddur; bot y22=vround 2/3[hbroddur,x_height]; filldraw stroke z21e--z22e; fi % diagonal penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,21,22); endchar; cmchar "The letter e acute"; beginchar(oct "014",7.25u#+max(.75u#,.5curve#),min(asc_height#,2x_height#),0); hbroddur := h; h := x_height; italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0); adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi); numeric left_curve,right_curve; left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi; if right_curvenotch_cut: y0:=notch_cut; fill z0+.5right{up}...{z4r-z3r}diag_end(0,4l,1,1,4r,3r) --z3r--z2l--diag_end(2l,1l,1,1,1r,2r){z2-z1} ...{down}z0+.5left--cycle; % left and right diagonals else: fill z0--diag_end(0,4l,1,1,4r,3r)--z3r--z2l --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals penpos5(alpha*bot_stem,0); z5r=whatever[z3r,z4r]; y5-.5vair=-.5d; if serifs: numeric light_bulb; light_bulb=hround 7/8[hair,flare]; clearpen; penpos6(vair,-90); penpos7(hair,-180); penpos8(light_bulb,-180); x6=2u; y6r=-d-oo; y8-.5light_bulb=-.85d; x8r=hround .35u; fill stroke z3e---z5e...{left}z6e; bulb(6,7,8); % arc and bulb numeric inner_jut; pickup tiny.nib; prime_points_inside(1,2); prime_points_inside(4,3); if rt x1'r+jut+.5u+1<=lft x4'l-jut: inner_jut=jut; else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % right serif else: penpos6(bot_vair,-90); x6=2.5u; y6r=-d-oo; fill stroke z3e---z5e...{left}z6e; % arc pickup fine.nib; pos6'(bot_vair,-90); z6'=z6; pos7(2/3[bot_vair,flare],-85); lft x7l=hround u; bot y7r=vround-.96d-oo; y7l:=good.y y7l; filldraw stroke term.e(6',7,left,1,4); fi % arc and terminal %Broddur % breytingar   accentum : x1 er hafŒur 2.5u h‘gra megin viŒ x2; % x2 staŒsettur ¡ hverjum char fyrir sig. if serifs: pickup crisp.nib; midja := .5[x1,x4]; x22=midja-.5br_len; x21=x22+br_len; y21+.5stem=hbroddur+eps; y22=max(2/3[hbroddur,x_height],x_height+o+hair); numeric theta; theta=angle(z22-z21)+90; pos21(stem,theta); pos22(hair,theta); filldraw circ_stroke z21e--z22e; % diagonal else: pickup fine.nib; pos21(stem,0); pos22(vair,0); x22=midja-.5br_len; x21=x22+br_len; top y21=hbroddur; bot y22=vround 2/3[hbroddur,x_height]; filldraw stroke z21e--z22e; fi % diagonal penlabels(0,1,2,3,4,5,6,7,8,9,21,22); endchar; cmchar "The letter eth"; beginchar(oct"037",9u#,asc_height#,0); italcorr .7x_height#*slant + u ; adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi); oh := vround x_height ; penpos1(vair,90); penpos3(vair',-90); penpos2(curve,180); penpos4(curve,0); penpos4'(hair,0) ; x2r=hround max(.5u,1.25u-.5curve); x4r=w-x2r; x1=x3=.5w; y1r=oh + vround 1.5oo; y3r=-oo; y2=y4=.5oh-vair_corr; y2l:=y4l:=.52oh; x4'l = x4l ; y4 = y4' ; penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3) & pulled_arc.e(3,4) -- pulled_arc.e(4',1) & cycle; % bowl fill z4l .. {right}z4 -- z4r -- cycle ; % fill in a little gap! penpos5(.5[vair,hair],40) ; % x5 = 3u ; top y5r = h ; Breytt JP x5l = x2 ; top y5r = h ; x7r = x4r; y7 = .95[x4,x1]; penpos7(curve,0); penstroke z5e .. tension 1.1 and 0.9 .. z7e{down} .. z4e ; %penstroke z5e .. tension 1.1 and 0.9 .. z4e{down} ; path p ; p = z5 .. tension 1.1 and 0.9 .. z7{down} ; %z6 = ((0,.6[x_height,asc_height]) -- (w,.5[x_height,asc_height])) JP z6 = ((0,.7[x_height,asc_height]) -- (w,.6[x_height,asc_height])) intersectionpoint p ; penpos6'(.5[vair,hair],-60) ; penpos 6''(.5[vair,hair],-60) ; top y6''l = h ; z6'' = z6 + whatever*dir30; z6 = .5[z6',z6''] ; filldraw stroke z6'e -- z6''e ; penlabels(1,2,3,4,5,6,6',6''); endchar; cmchar "Icelandic small thorn"; beginchar(oct "034",10u#+serif_fit#,asc_height#,desc_depth#); italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#); adjust_fit(serif_fit#,0); pickup tiny.nib; pos1(stem',0); pos2(stem,0); pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2; lft x1l=hround(2.5u-.5stem'); top y1=h if serifs: +min(oo,serif_drop) fi; numeric edge; edge=rt x2r; pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180); pos4(vair',90); pos5(curve,0); pos6(vair,-90); penpos7(x3l-x3r,-180); rt x3l=max(rt x3l-(lft x3r-tiny.lft x2l), 1/3[rt x2,edge]); y3=1/8[bar_height,x_height]; x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo; rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height; x6l=x4l-.2u; bot y6r=-oo; x7=x3; y7=min(y3,y6+y4-y3+.6vair); (x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x5r,x4]); (x',y6r)=whatever[z7l,z6l]; x6r:=min(x',.5[x5r,x6]); filldraw stroke z3e{up}...{right}z4e&super_arc.e(4,5) &super_arc.e(5,6)&z6e{left}...{up}z7e; % bowl y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l)); pickup tiny.nib; bot y2=-d; filldraw stroke z1e--z0'e--z0e--z2e; % stem pickup crisp.nib; pos8(hair,0); pos7'(stem,0); z7'=z2; x8l=x7'l; bot y8=0; filldraw stroke z7'e--z8e; % point if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif dish_serif(2,0,b,1/3,jut,c,1/3,jut); fi % lower serif penlabels(0,1,2,3,4,5,6,7,8); endchar; cmchar "The letter o double umlaut"; beginchar(oct "033",9u#,x_height#,0); italcorr .7x_height#*slant; adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi); penpos1(vair,90); penpos3(vair',-90); penpos2(curve,180); penpos4(curve,0); x2r=hround max(.5u,1.25u-.5curve); x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo; y2=y4=.5h-vair_corr; y2l:=y4l:=.52h; penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3) & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl %cmchar "Umlaut (double dot) accent"; numeric dot_diam#,dot_diam; dot_diam#=max(dot_size#,cap_curve#); %beginchar(oct"177",9u#,min(asc_height#,10/7x_height#+.5dot_diam#),0); hx# = min(asc_height#,10/7x_height#+.5dot_diam#); define_pixels(hx); dot_diam=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr)); %italcorr h#*slant+.5dot_diam#-2.25u#; adjust_fit(0,0); pickup tiny.nib; pos5(dot_diam,0); pos6(dot_diam,90); x5=x6=2.75u; top y6r=hx+1; if bot y6l