iff monospace:
cmchar "Hyphen";
beginchar("-",6u#,x_height#,0);
italcorr .5x_height#*slant-.5u#;
adjust_fit(0,0);
numeric thickness; thickness=if hefty:bar else:.75[hair,stem] fi;
pickup crisp.nib; pos1(thickness,90); pos2(thickness,90);
top y1r=top y2r=vround(.5h+.5thickness); rt x2=hround(w-u)+eps;
if monospace: x2=w-x1 else: lft x1=hround .2u-eps fi;
filldraw stroke z1e--z2e;  % bar
penlabels(1,2); endchar;

% ecchar "Less than sign";
% compute_spread(5/4x_height#,3/2x_height#);
% beginchar("<",14u#,v_center(spread#+rule_thickness#));
% italcorr h#*slant-u#;
% adjust_fit(0,0); pickup extra_rule.nib;
% lft x2=hround 1.5u-eps; x1=x3=w-x2;
% y1-y3=spread; y2=.5[y1,y3]=math_axis;
% x2' = x2; y2' = y2 if known gen_t5_supp: - .1 fi;
% draw z1--z2...z2'--z3;  % diagonals
% labels(1,2,2',3); endchar;
% 
% ecchar "Greater than sign";
% compute_spread(5/4x_height#,3/2x_height#);
% beginchar(">",14u#,v_center(spread#+rule_thickness#));
% italcorr math_axis#*slant-u#;
% adjust_fit(0,0); pickup extra_rule.nib;
% rt x2=hround(w-1.5u)+eps; x1=x3=w-x2;
% y1-y3=spread; y2=.5[y1,y3]=math_axis;
% x2' = x2; y2' = y2 if known gen_t5_supp: - .1 fi;
% draw z1--z2..z2'--z3;  % diagonals
% labels(1,2,3); endchar;

endinput;
