% Mxedruli punctuation `mxedp.mf'
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Designed by Johannes Heinecke                                             %
%             <johannes.heinecke@wanadoo.fr>                                %
% This software is under the LaTeX Project Public License                   %
% Please send any improvements, corrections, suggestions, enhancements etc  %
% to the Author!                                                            %
%                                                                           %
% Version 2.0 as of 16th June 1995                                          %
%                                                                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "+";
beginchar("+", mxzw#+mxone#, mxone#, 0);
    if known cmbase: adjust_fit(0,0); fi
    pickup mxed_dash;
    z1 = (0, .5mxone);
    z2 = (mxone, y1);
    draw z1--z2;

    z3 = (.5[x1, x2], 0);
    z4 = (x3, mxone);
    draw z3--z4;

    penlabels(range 1 thru 4);
endchar;

%% = %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Equals sign =";
beginchar("=", mxzw#+1.5mxone#, mxlittle#, 0);
    pickup mxed_dash;
    lft z1 = (0, 1.5mxthird);
    rt  z2 = (1.5mxone, y1);
    lft z3 = (0, 2.5mxthird);
    rt  z4 = (1.5mxone, y3);
    draw z1--z2;
    draw z3--z4;
    penlabels(range 1 thru 4);
endchar;

%% / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Slash /";
beginchar("/", mxzw#+1.5mxone#, mxlittle#, 0);
    pickup mxed_dash;
    z1 = (0,0);
    z2 = (1.5mxone, mxheight);
    draw z1--z2;
    penlabels(1,2);
endchar;

%% \ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Backslash \ ";
beginchar("\", mxzw#+1.5mxone#, mxlittle#, 0);
    pickup mxed_dash;
    z1 = (0,mxheight);
    z2 = (1.5mxone, 0);
    draw z1--z2;
    penlabels(1,2);
endchar;



%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "-";
beginchar("-", mxzw#+mxone#, mxlittle#, 0);
    pickup mxed_dash;
    z1 = (0, mxmiddle);
    z2 = (mxone, y1);
    draw z1--z2;
    penlabels(range 1 thru 2);
endchar;

%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "-- (123)";
beginchar(123, mxzw#+1.5mxone#, mxlittle#, 0);
    pickup mxed_dash;
    z1 = (0, mxmiddle);
    z2 = (1.5mxone, y1);
    draw z1--z2;
    penlabels(range 1 thru 2);
endchar;

%% --- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "--- (124)";
beginchar(124, mxzw#+2mxone#, mxlittle#, 0);
    pickup mxed_dash;
    z1 = (0, mxmiddle);
    z2 = (2mxone, y1);
    draw z1--z2;
    penlabels(range 1 thru 2);
endchar;

%% . %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Period .";
beginchar(".", mxzw#+mxhalf#, mxlittle#, 0);
    pickup mxed_dot;
    lft z1 = (0, 0);
    drawdot z1;
    penlabels(1);
endchar;

%% : %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Colon :";
beginchar(":", mxzw#+mxhalf#, mxlittle#, 0);
    pickup mxed_dot;
    lft z1 = (0, mxthird);
    lft z2 = (0, 2.5mxthird);
    drawdot z1;
    drawdot z2;
    penlabels(range 1 thru 2);
endchar;

%% ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Semicolon ;";
beginchar(";", mxzw#+pdot#, mxlittle#, .6mxlow#);
    pickup mxed_dot;
    lft z1 = (0, 0);
    z4 = (x1, .5mxlittle);
    drawdot z1;
    drawdot z4;

    pickup mxed_digitpen;
    rt z2 = (pdot, -1/12mxlow);
    z3 = (0, -.6mxlow);
%    draw z2{dir -45}..{dir -135}z3;
    draw z2{down}..{dir -135}z3;
    penlabels(range 1 thru 4);
endchar;


%% , %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Comma ,";
beginchar(",", mxzw#+pdot#, mxlittle#, .6mxlow#);
    pickup mxed_dot;
    lft z1 = (0, 0);
    drawdot z1;

    pickup mxed_digitpen;
    rt z2 = (pdot, y1-1/12mxlow);
    z3 = (0, -.6mxlow);
    draw z2{down}..{dir -135}z3;
    penlabels(range 1 thru 3);
endchar;


%% ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Apostroph '";
beginchar("'", mxzw#+pdot#, mxheight#, 0#);
    pickup mxed_dot;
    lft z1 = (0, mxheight);
    drawdot z1;

    pickup mxed_digitpen;
    rt z2 = (pdot, y1-1/12mxlow);
    z3 = (0, mxheight-.6mxlow);
    draw z2{down}..{dir -135}z3;
    penlabels(range 1 thru 3);
endchar;

%% ? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Question mark ?";
beginchar("?", mxzw#+mxone#, mxheight#, 0);
   pickup mxed_dot;
   z1 = (mxhalf, 0);
   drawdot z1;

   pickup mxed_digitpen;
   z2 = (0, mxheight-.5mxtop);
   z3 = (x1, mxheight);
   z4 = (mxone, y2);
   z5 = (x1, mxmiddle);
   z6 = (x5, 1.2mxthird);

   draw z2{up}..{right}z3..{down}z4..{down}z5--z6;
   penlabels(1,2,3,4,5);
endchar;

%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Exclamation mark !";
beginchar("!", mxzw#+.5mxhalf#, mxheight#, 0);
   pickup mxed_dot;
   lft z1 = (0, 0);
   drawdot z1;

   z2 = (x1, mxheight-.5pdot); penpos2(pdot, 0);
   drawdot z2;
   z3 = (x1, mxmiddle); penpos3(px1, 0);
   penstroke z2e..z3e;
   penlabels(1,2,3);
endchar;

%% ( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Left parenthesis (";
beginchar("(", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
  z1 = (.5pdot+mxhalf, 1.1mxheight); penpos1(dpx1, 0);
  z3 = (x1, -.1mxheight); penpos3(dpx1, 0);
  z2 = (.5pdot, .5[y1, y3]); penpos2(pdot, 0);
  penstroke z1e..z2e..z3e;
  penlabels(range 1 thru 4);
endchar;


%% ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Right parenthesis )";
beginchar(")", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
  z1 = (0, 1.1mxheight); penpos1(dpx1, 0);
  z3 = (x1, -.1mxheight); penpos3(dpx1, 0);
  z2 = (mxhalf, .5[y1, y3]); penpos2(pdot, 0);
  penstroke z1e..z2e..z3e;
  penlabels(range 1 thru 4);
endchar;

%% [ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Left bracket [";
beginchar("[", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
  pickup mxed_square;
  z1 = (mxhalf, -.1mxheight);
  z2 = (0, y1);
  z3 = (0, 1.1mxheight);
  z4 = (x1, y3);
  draw z1--z2--z3--z4;
  penlabels(range 1 thru 4);
endchar;

%% ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "Right bracket ]";
beginchar("]", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
  pickup mxed_square;
  z1 = (0, -.1mxheight);
  z2 = (mxhalf, y1);
  z3 = (x2, 1.1mxheight);
  z4 = (0, y3);
  draw z1--z2--z3--z4;
  penlabels(range 1 thru 4);
endchar;


endinput;