% This file generates the following characters when their codes are known: % |minus|, |plus_minus|, |o_plus|, |o_times|, % |cup|, |cap|, |meet|, |join|, % |down_arrow|, |up_arrow|, % |left_arrow|, |right_arrow|, |double_arrow|, % |subset|, |superset|, |elt|, % |for_all|, |there_exists|, |false_that|, % |less|, |greater|, |underbar|, % |neq|, |leq|, |geq|, |eqv|, % |backslash|, |vertical|, % |cdot|, |diamond|, % |left_brace|, |right_brace|, % |straight_quotes|, |infty|, |integral|. iff known left_arrow: cmchar "Dash_arrow"; compute_spread(.45x_height#,.55x_height#); beginchar(left_arrow,18u#,v_center(spread#+rule_thickness#)); adjust_fit(0,0); pickup crisp.nib; pos0(rule_thickness,90); %% pos1(rule_thickness,90); pos2(rule_thickness,90); pos3(rule_thickness,0); pos4(rule_thickness,0); y0=y1=y2=math_axis; x1+.5rule_thickness=0.24hround(w-u); lft x0=hround u; y3-y0=y0-y4=if monospace:.24 else:.36 fi asc_height+eps; x3=x4=x0+if monospace:3u else:4u fi+eps; pos5(rule_thickness,angle(z4-z0)); z5l=z0; pos6(rule_thickness,angle(z3-z0)); z6l=z0; z9=.2[.5[z3,z4],z0]; numeric t; path p; p=z4r{z9-z4}..z6r; t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p; %filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r) % --z2l---z1l..z1r---z2r--subpath (t,0) of\\(z3r{z9-z3}..z5r) % --z3l{z9-z3}..z0 & cycle; % arrowhead and stem filldraw z0l--z2l---z1l..z1r--z2r---z0r..cycle; addto currentpicture also (currentpicture shifted (0.25hround(w-u),0)); addto currentpicture also (currentpicture shifted (0.50hround(w-u),0)); penlabels(0,1,2,3,4,5,6,9); endchar; iff known right_arrow: cmchar "Sans_arrow"; compute_spread(.45x_height#,.55x_height#); beginchar(right_arrow,18u#,v_center(spread#+rule_thickness#)); adjust_fit(0,0); pickup crisp.nib; pos0(rule_thickness,90); %% pos1(rule_thickness,90); pos2(rule_thickness,90); pos3(rule_thickness,0); pos4(rule_thickness,0); y0=y1=y2=math_axis; x1-.5rule_thickness=hround u; rt x0=hround(w-u); y3-y0=y0-y4=if monospace:.24 else:.36 fi asc_height+eps; x3=x4=x0-if monospace:3u else:4u fi-eps; pos5(rule_thickness,angle(z4-z0)); z5l=z0; pos6(rule_thickness,angle(z3-z0)); z6l=z0; z9=.2[.5[z3,z4],z0]; numeric t; path p; p=z4l{z9-z4}..z6r; t=xpart(p intersectiontimes((0,y2l)--(w,y2l))); x2=xpart point t of p; filldraw z0l--z2l---z1l..z1r--z2r---z0r..cycle; penlabels(0,1,2,3,4,5,6,9); endchar;