%        File: cyrmorei.mf
%    Based on: jkbashi.mf
% Modified by: Oliver Corff
%        Date: October 1997, Ulaanbaatar
%
  % jkbashi.mf by Joerg Knappen, Bitnet: knappen@dmznat51
  % Version 14. June 1990
  % Bashkirian special letters, lowercase italics
  % Additional information at the end of this file

% cmchar "Italic Bashkirian letter ghe-barred";
% beginchar(oct"210",7u#,x_height#,0);
% italcorr max(1/3x_height#*slant+.5hair#+.5u#,h#*slant+.5flare#-2u#);
% adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
% x0=0; x5=w; x2=.5w+1.5u; x3=.5w-1.5u;
% hook_in(0,1,2)(skewed); hook_out(3,4,5)(skewed);  % hooks
% filldraw stroke z2e{down}...{down}z3e;  % stem
% pickup crisp.nib;
% top y6r=top y7r=bar_height;lft x6=lft x0;rt x7=rt x5;
% pos6(bar,90); pos7(bar,90);
% filldraw stroke z6e--z7e;    % bar
% penlabels(0,1,2,3,4,5,6,7); endchar;
%    
% cmchar "Italic Bashkirian letter variant ka";
% beginchar(oct"211",8u#,x_height#,0);
% italcorr x_height#*slant-.5u#;
% adjust_fit(u#,.25u#);
% pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
% lft x1l=lft x2l=hround max(1.3u,2u-.5fudged.stem); top y1=h; bot y2=0;
% filldraw stroke z1e--z2e; % stem
% if serifs:  dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper stem serif
%  dish_serif(2,1,c,1/3,jut,d,1/3,jut);  % lower stem serif
%  pickup fine.nib; pos3(vair,90); x3=x1; y3=.55h; z3'=z3; pos3'(varwid,90);
%  pos4(varwid,90); x4=w-.75flare-.08u; top y4r=h+oo; %original x4=w-2u
%  x41=x4; y41=y3'; x42=x4-2u; y42=y4;
%  filldraw stroke z3'e..controls z41 and z42..z4e;  % upper diagonal
%  pos5(hair,0); pos6(flare,0);
% rt x5r=hround(w-.08u); y5+.5flare=vround(top y4r-hair)+1;%original bot y4l-.03h
%  top y4'r=top y4r; x4'=x4; pos4'(hair,90);
%  bulb(4',5,6); % bulb
%  pos7(stem,0); pos8(varwid,90); pos9(hair,180);
%  x9+.5hair=hround(w+.5hair-eps); y9=1/3x_height;
%  lft x7l=hround(w-1.8u-.5stem); y7=1/2y3; x8=w-.8u; bot y8l=-oo;
%  filldraw stroke z3e{right}...z7e{down}
%  ...z8e{right}...{up}z9e;  % lower diagonal
% else:
%  numeric right_jut,stem[],alpha[];
%  right_jut=.4tiny;
%  pickup tiny.nib;
%  stem2=max(tiny.breadth,fudged.stem-3stem_corr);
%  stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
%  top y3=h; rt x3r=hround(r-letter_fit-.67u-right_jut);
%  bot y6=0; rt x6r=hround(r-letter_fit-.5u-right_jut);
%  x4=x1; y4=1/3h;
%  alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
%  penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
%  alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
%  penpos6(alpha2*(stem2-tiny),0);
%  forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
%   z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
%  z5=.5[z5l,z5r];
%  z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
%  z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
%  z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
%  fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle;  % upper diagonal
%  fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle;  % lower diagonal
% fi
% pickup crisp.nib;
% top y55r=h; x55=x1; pos55(slab,90); pos56(hair,180); 
%   x56=x1-if serifs: 4 else: 2 fi u;
% y56=good.y(y55l-beak)-eps;
% arm(55,56,q,beak_darkness**.8,-.4beak_jut);
% math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
% 
% 
% cmchar "Italic Bashkirian letter variant en";
% beginchar(oct"212",10u#,x_height#,desc_depth#);
% italcorr 1/3x_height#*slant+.5hair#+.5u#;
% adjust_fit(0,.25u#); pickup fine.nib;
% x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
% hook_in(0,1,2);  % opening hook
%   y3-.5stem=-oo; z2'=z2; pos2'(stem,-180); 
%   filldraw circ_stroke z3e--z2'e;  %left stem
% x10=x3l; y10=y11=.55h; pos10(hair,90); pos11(hair,90);
% pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); y6+.5stem=h;
% x7=x6; x9=w; hook_out(7,8,9);  %closing hook
%    z7'=z7; pos7'(stem,0);
% filldraw circ_stroke z6e--z7'e; x11=x6l; % right stem
%   filldraw stroke z10e{1,1}...{1,1}z11e; % bar
% pickup crisp.nib;
% y30=0; x30=x8-.1u; y32=-d; x32=x8-.75u; z31=.5[z30,z32];
% pos30(hair,90); pos31(1.25stem,135);
% filldraw stroke z8{down}...z30e...z31e--z32;  % descender
% endchar;
% 
cmchar "Italic Bashkirian letter o-umlaut";
beginchar(cyrotld,9u#,x_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=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
z90=z2l; x91=x4l; y91=y90; pos90(bar,90); pos91(bar,90);
if serifs: z92=.5[z90,z91]; pos92(if serifs: 2.5 fi bar,90);
  filldraw stroke z90e{1,1}..{1,-1}z92e..{1,1}z91e; % tilde-like bar
else: filldraw stroke z90e--z91e; fi  % bar
math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar;

%
% Sorry, the gamma is not acceptable in this context! OC, UB 1997
%
% cmchar "The italic Bashkirian letter u-umlaut"; % I put the gamma in here
% beginchar(cyry,10u#,x_height#,desc_depth#);
% italcorr x_height#*slant-.5u#;
% adjust_fit(0,0); pickup fine.nib;
% pos1(hair,180); pos2(vstem+dw,90);
% pos4(hair,0); pos5(vair,-90); pos6(hair,-180); pos7(hair,-180);
% bot y1=.5772156649h; top y2r=h+oo; y4=y6=-.5d;
% bot y5r=-d-o; top y7=h;
% lft x1r=hround(.5u-.5hair); x2=3u; rt x4r=hround(w-2u); x5=.5[x4,x6];
% rt x4r-lft x6r=hround 1/3[hair,stem]+eps; rt x7l=hround(w-u);
% if x4l<x6l: x4l:=x6l:=x5; fi
% pos3(hair,angle(z4-z2)+90); x3=superness[x2,x4]; y3=superness[y4,y2];
% filldraw stroke z1e{up}...z2e{right}...z3e{z4-z2}
%  ...z4e{down}...{left}z5e; % arc
% filldraw stroke z5e{left}...z6e{up}..{2(x7-x6),y7-y6}z7e;  % stem
% math_fit(-.5772156649x_height#*slant,ic#-u#);
% penlabels(1,2,3,4,5,6,7); endchar;

cmchar "The italic Bashkirian letter u-umlaut"; %
beginchar(cyry,8.5u#,x_height#,desc_depth#);
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=.37h; y6+.5stem=h;
bot y7=-d; bot y8r=-d-oo; x5=x6=x7; x8=.5w;
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 and link
sloped_serif.r(7,2,a,1/3,jut,serif_drop);  % serif
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant);
penlabels(0,1,2,3,4,5,6,7,8,9,10);
endchar;

cmchar "Italic Bashkirian letter ha";
beginchar(cyrshha,9u#,asc_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(1.5u#,0); pickup tiny.nib;
pos1(stem,0); pos2(stem,0); x1=x2;
lft x1l=hround(1.5u-.5stem); top y1=h; y2-.5stem=-oo;
filldraw circ_stroke z2e--z1e;  % left stem
sloped_serif.l(1,2,a,1/3,jut,serif_drop);  % serif
pickup fine.nib; x4+.5stem=hround(w-2.5u+.5stem);
x5=x4-.25u; ital_arch(2,3,4);  % arch
x7=w; hook_out(5,6,7)(skewed);  % closing hook
filldraw stroke z4e{down}..{-u,-x_height}z5e;  % right stem
math_fit(0,ic#); penlabels(1,2,3,4,5,6,7); endchar;

%    
% cmchar "Italic Bashkirian letter flipped e";
% beginchar(oct"216",8u#,x_height#,0);
% 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
% x10=.5w; y10=.5h; % center point
% flip(10);         % and flip
% math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
% penlabels(0,1,2,3,4,5,6); endchar;
% 
  \endinput

"These letters aren't perfect. Especially, the variant k is not an italic 
but a slanted letter. The variant n's descender is not precisely 
positioned. This should be changed in a later version." JK.

%-------------- end ------------------------------------------------------
The now famous character code reference:

Upper case letters:                        ABCDEFGHIJKLMNOPQRSTUVWXYZ
Lower case letters:                        abcdefghijklmnopqrstuvwxyz
Digits:                                    0123456789
Square, curly, angle braces, parentheses:  [] {} <> ()
Backslash, slash, vertical bar:            \ / |
Punctuation:                               . ? ! , : ;
Underscore, hyphen, equals sign:           _ - =
Quotes--right left double:                 ' ` "
"at", "number" "dollar", "percent", "and": @ # $ % &
"hat", "star", "plus", "tilde":            ^ * + ~
