% Mxedruli punctuation `mxedp.mf'
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Designed by Johannes Heinecke                                             %
%             Sprachwissenschaftliches Seminar                              %
%             Universit"at Heidelberg                                       %
%             69117 Heidelberg                                              %
%             <cb7@vm.urz.uni-heidelberg.de>                                %
% Please send any improvements, corrections, suggestions, enhancements etc  %
% to the Author!                                                            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

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



%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mxedchar "+";
beginchar("+", mxzw#+mxone#, mxone#, 0);
    if known cmbase: adjust_fit(0,0); fi
    pickup mxed_pen;
    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 "-";
beginchar("-", mxzw#+mxone#, mxlittle#, 0);
    pickup mxed_pen;
    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_pen;
    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_pen;
    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(range 1 thru 2);
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#, .4mxlow#);
    pickup mxed_dot;
    lft z1 = (0, 0);
    z4 = (x1, .5mxlittle);
    drawdot z1;
    drawdot z4;

    pickup mxed_pen;
    rt z2 = (pdot, 0);
    z3 = (0, -.4mxlow);
%    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#, .4mxlow#);
    pickup mxed_dot;
    lft z1 = (0, 0);
    drawdot z1;

    pickup mxed_pen;
    rt z2 = (pdot, y1);
    z3 = (0, -.6mxlow);
%    draw z2{dir -45}..{dir -135}z3;
    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_pen;
    rt z2 = (pdot, y1);
    z3 = (0, mxheight-.6mxlow);
%    draw z2{dir -45}..{dir -135}z3;
    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_pen;
   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(px1, 0);
  z3 = (x1, -.1mxheight); penpos3(px1, 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(px1, 0);
  z3 = (x1, -.1mxheight); penpos3(px1, 0);
  z2 = (mxhalf, .5[y1, y3]); penpos2(pdot, 0);
  penstroke z1e..z2e..z3e;
  penlabels(range 1 thru 4);
endchar;
