% THIS IS THE OFFICIAL COMPUTER MODERN SOURCE FILE romsub.mf BY D E KNUTH.
% IT MUST NOT BE MODIFIED IN ANY WAY UNLESS THE FILE NAME IS CHANGED!

% This file defines characters that go into a text font when |ligs<=1|.

% Character codes \0013--\0015, \0074, and \0076 are generated when |ligs=1|;
% in addition, codes \0040, \0042, \0055, \0134, \0137, and \0173--\0175
% are generated, if |ligs=0|.

up_arrow=oct"013"; down_arrow=oct"014";
less=ASCII"<"; greater=ASCII">";
if ligs=0: straight_quotes=oct"042"; minus=ASCII"-";
 backslash=ASCII"\"; underbar=ASCII"_";
 left_brace=ASCII"{"; vertical=ASCII"|"; right_brace=ASCII"}"; fi

input sym;

cmchar "Straight single quote";
beginchar(oct"015",5u#,asc_height#,0);
italcorr asc_height#*slant+.5 if serifs: flare# else: stem# fi -2u#;
adjust_fit(0,0);
x1=x2=.5w; y2=max(.5[bar_height,x_height]+.5vair,h-x_height);
if serifs: pickup crisp.nib; pos1(flare,0); pos2(vair,0);
 y1+.5stem=h; filldraw circ_stroke z1e--z2e;  % stem and bulb
else: pickup fine.nib; pos1(stem,0); pos2(vair,0);
 top y1=h; filldraw stroke z1e--z2e; fi  % stem
penlabels(1,2); endchar;

iff ligs=0: cmchar "Blank-space sign";
beginchar(oct"040",9u#,bar_height#,.5desc_depth#);
italcorr bar_height#*slant-.25u#;
adjust_fit(0,0);
numeric thin_vair#; thin_vair#=.7vair#;
define_whole_blacker_pixels(thin_vair);
forsuffixes $=1,2,3,4: penpos$(thin_vair,0); endfor
penpos0(thin_vair,90); x0=.5w; y0l=vround(-d-.5thin_vair);
x1=x2; x3=x4=w-x1; lft x1l=hround .75u;
y1=y4=h; y2=y3=y0;
fill z1l---z2l...(x2,y0l)---(x3,y0l)...z3r---z4r
 ..z4l---(x3l,y0r)--(x2r,y0r)---z1r..cycle;  % the stroke
penlabels(0,1,2,3,4); endchar;
