% This is IMITLO.MF in text format, as of Jan 7, 1987.
% Icelandic (Computer) Modern Italic lower case:
% This lowercase italic alphabet was prepared by J. Pind in Jan. 1987


cmchar "Italic 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;
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
pos4(stem,0); x4=x0; y4+.5stem=vround .98h;
x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
rt x4r=hround(w-2.5u+.5stem);
top y1r=h+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=x4; x7=w; hook_out(5,6,7);  % closing hook
filldraw circ_stroke z4e--z5e;  % stem
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);


%Broddur
% breytingar   accentum : x1 er hafŒur 2.5u h‘gra megin viŒ x2; 
% x2 staŒsettur ¡ hverjum char fyrir sig.
% breyting 5. jan 1987 if serifs h‚r   a-i

midja := 0.5[x2,x6];

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 "Italic letter e acute";
beginchar(oct"014",8u#,min(asc_height#,2x_height#),0);
hbroddur := h;
h := x_height;
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(0,0); pickup fine.nib;
numeric heavy_hair; heavy_hair=hround .2[hair,stem];
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);

%Broddur
% breytingar   accentum : x1 er hafŒur 2.5u h‘gra megin viŒ x2; 
% x2 staŒsettur ¡ hverjum char fyrir sig.
midja := x2;
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(0,1,2,3,4,5,6,21,22); endchar;


cmchar "Dotless italic letter i acute";
beginchar(oct"015",5u#,min(asc_height#,2x_height#),0);
hbroddur := h;
h := x_height;
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
x0=0; x5=w; x2=.5w+.25u; x3=.5w-.25u;
hook_in(0,1,2)(skewed); hook_out(3,4,5)(skewed);  % hooks


%Broddur
% breytingar   accentum : x1 er hafŒur 2.5u h‘gra megin viŒ x2; 
% x2 staŒsettur ¡ hverjum char fyrir sig.
midja := x1;
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
filldraw stroke z2e--z3e;  % stem


penlabels(0,1,2,3,4,5,21,22); endchar;


cmchar "Italic letter o acute";
beginchar(oct"016",9u#,min(asc_height#,2x_height#),0);
hbroddur := h;
h := x_height;
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=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
 & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
math_fit(-.3x_height#*slant+.5curve#-u#,ic#); 


%Broddur
% breytingar   accentum : x1 er hafŒur 2.5u h‘gra megin viŒ x2; 
% x2 staŒsettur ¡ hverjum char fyrir sig.
midja:=x1;
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,21,22); endchar;


cmchar "Italic letter u acute";
beginchar(oct"017",9.5u#,min(asc_height#,2x_height#),0);
hbroddur := h;
h := x_height;
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
hook_in(0,1,2)(skewed);  % opening hook
pos2'(stem,-180); z2'=z2;
pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
x5=x6=x7; x9=w; hook_out(7,8,9);  % closing hook
y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
filldraw stroke z2'e{-u,-x_height}
 ...super_arc.e(3,4)...{up}z5e; % left stem and arc
filldraw circ_stroke z6e--z7e;  % right stem
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);

%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:=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 "Italic letter y acute";
beginchar(oct"031",8.5u#,min(asc_height#,2x_height#),desc_depth#);
hbroddur := h;
h := x_height;
italcorr x_height#*slant+.5stem#-u#;
adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
hook_in(0,1,2)(skewed);  % opening hook
pos2'(stem,-180); z2'=z2;
pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
pos6(stem,0); rt x6r=hround(w-1.5u+.5stem);
pos7(stem,0); pos8(vair,-90);
y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
y7=0; bot y8r=-d-oo; x5=x6=x7; x8=.5w;
pos9(hair,-180); pos10(flare,-180); y9=-.5d;
lft x9r=hround(2.75u-.5flare); bulb(8,9,10);  % bulb
filldraw stroke z2'e{-u,-x_height}
 ...super_arc.e(3,4)...{up}z5e; % left stem and arc
filldraw circ_stroke z6e---z7e...{left}z8e;  % right stem and link
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant);

%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,x6];
 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,10,21,22); endchar;






cmchar "Italic letter eth";
beginchar(oct"037",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;





cmchar "Italic letter o double umlaut";
beginchar(oct"033",9u#,min(asc_height#,2x_height#),0);
hbroddur := h;
h := x_height;
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=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
 & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
math_fit(-.3x_height#*slant+.5curve#-u#,ic#); 

%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<x_height+o+slab: y6l:=min(y6r-eps,x_height+o+slab+.5tiny); fi
y5=.5[y6l,y6r]; dot(5,6);  % left dot
pos7(dot_diam,0); penpos8(y6r-y6l,90); y7=y8=y5; x7=x8=w-x5;
dot(7,8);  % right dot

penlabels(1,2,3,4,5,6.7.8); endchar;



cmchar "Italic letter thorn";
beginchar(oct"034",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;


cmchar "Italic ligature ae";
beginchar(oct"032",13u#,x_height#,0);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup fine.nib;
forsuffixes $=hair,stem: shaved$:=mfudged$; save $; $=shaved$; endfor
numeric heavy_hair; heavy_hair=hround .2[hair,stem];
numeric light_stem; light_stem=hround .75[hair,stem];
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(light_stem,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+6u);
lft x3r=hround(.5w-.5light_stem); x5r=good.x(w-.5u); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
top y5l=vround(.5bar_height+.5); path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc of e
pos7(light_stem,0); pos8(light_stem,0);
x7=x8=x3; y7+.5light_stem=h+oo; y8-.5light_stem=-oo;
pos7'(vair,-225); pos11(curve,-180); z7'=z7;
pos12(vair,-90); pos3'(hair,0); z3'=z3;
lft x11r=hround(1.5u-.5curve); x12=.5[x11,x3];
y11=.3[y12,y7]; bot y12r=-oo;
filldraw stroke z7'e{3(x11-x7),y11-y7}...pulled_arc.e(11,12)
 & pulled_arc.e(12,3');  %  bowl of a
filldraw z7l---z8l..z8r---z7r..cycle;  % stem
penlabels(0,1,2,3,4,5,6,7,8,11,12); endchar;



























