%*****************************************************************************
%        Copyright (c) 1989 by N. N. Billawala
%*****************************************************************************


% ttchar.mf  characters for typewriter text set

% 5 characters


iff OK "x":  "Up arrow";
  beginchar(oct"013",num_width_c#+c_mono#,cap#,0); 
  pickup mathpen rotated -oblique;
  top z1=(.5w,h)//; bot z2=(.5w,-d)//;
  arrow.t(z1,w,.2h);
  draw z1--z2;  
adjust(.5num_fit_c#+m_a*c_mfit#,.5num_fit_c#+m_a*c_mfit#);
show_character; endchar;


iff OK "x":  "Down arrow";
  beginchar(oct"014",num_width_c#+c_mono#,cap#,0); 
  pickup mathpen rotated -oblique;
  top z1=(.5w,h)//; bot z2=(.5w,-d)//;
  arrow.b(z2,w,.2h);
  draw z1--z2;  
adjust(.5num_fit_c#+m_a*c_mfit#,.5num_fit_c#+m_a*c_mfit#);
show_character; endchar;


iff OK "x":  "Single non-directional quote";
  beginchar(oct"015",I_w*width#+a_mono#,cap#,0);
  save_num(head)=accent_dot_diameter; save_bool(prime)=true;
  top z1=(round(.5w),.75[xheight,cap]-.5head)//;
  ref1=comma(z1,head,min(.6xheight,1.5pt),accent_thin_end,.5);
  p1=ref1 rotatedaround (z1,-oblique);
  showpoints(1);
adjust(v_a*fitbasis.lc#+m_a*a_mfit#,v_a*fitbasis.lc#+m_a*a_mfit#); 
show_character; endchar;

% rotation and slant of position with obliqueness


iff OK "x":  "Blank space character"; 
  beginchar(oct"040",.5width#+mono#,math_axis#,descender#); 
  save_num(edge_distance)=max(1,round(.1w));
  pickup pensquare scaled blank_space_thickness rotated -oblique;
  top lft z1=(edge_distance,.3h)//;
  bot lft z2=(edge_distance,-.5d)//;
  bot rt z3=(w-edge_distance,-.5d)//;
  top rt z4=(w-edge_distance,.3h)//;  
  draw z1--z2--z3--z4;
adjust (0,0); show_character; endchar;

% use different pen for softness
% no slant of shape with obliqueness


iff OK "x":  "Double non-directional quotes";
  beginchar(oct"042",accent_w*width#+b_mono#,cap#,0);
  save_num(head)=accent_dot_diameter; save_bool(prime)=true;
  top z1=(round(.5head),.75[xheight,cap]-.5head)//;
  top z2=(round(w-.5head),y1)//;
  ref1=comma(z1,head,min(.6xheight,1.5pt),accent_thin_end,0);
  ref2=comma(z2,head,min(.6xheight,1.5pt),accent_thin_end,0); 
  p1=ref1 rotatedaround (z1,-oblique);
  p2=ref2 rotatedaround (z2,-oblique);
  showpoints(1,2);
adjust(v_a*fitbasis.lc#+m_a*b_mfit#,v_a*fitbasis.lc#+m_a*b_mfit#); 
show_character; endchar;






