% 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;